timeslicing算是我進入業界一開始接觸到的技巧之一吧
非常實用且幾乎每天都會摸到
簡單來說就是有必須反覆執行的輕量批次邏輯
不用每個frame全部執行,可以分多個frame執行,分擔負擔
像是100個NPC不用每個frame都全部執行,每frame處理20個可省下80%決策運算時間
反映NPC決策的動畫層,因為與決策層中間透過介面溝通
這種幾個frame決策延遲並不會被玩家注意到
(除非你在做無法容忍延遲的格鬥遊戲,那你是要100個NPC幹嘛啦XD)
時域切割 同步/非同步 的 資料讀取輸入/儲存輸出,又有四種排列組合
本文有精美動畫供參考 :)
那就廢話不多說了(好像已經講了一堆)
連結在此 http://wp.me/p4mzke-14V
動畫生成原始碼在此 https://github.com/TheAllenChou/timeslicing
這是遊戲程式系列文的一部分 http://allenchou.net/game-programming-series/
請多指教 :)
這個技巧應該一堆人不曉得 不然國產遊戲效能不會悲劇這麼長一段時間 XDDD這個技巧可以算是執行緒的延伸概念
作者:
laikyo (六元)
2017-03-23 17:17:00有用推
作者:
LayerZ (無法如願)
2017-03-23 17:24:00沒到效能瓶頸應該都不會去試這個吧XD,而且瓶頸與其在計算
作者:
zseineo (Zany)
2017-03-23 17:24:00推
到處都是效能瓶頸阿 說真的我覺得國產遊戲真的只會硬幹所有功能 看看那精美的仙劍六
作者: eugenelinrmx 2017-03-23 21:44:00
好文推!
作者:
LayerZ (無法如願)
2017-03-23 22:17:00了解,一開始架構就做好了
作者:
riveranb (River)
2017-03-24 06:18:00推!
作者: Frostx (Naga) 2017-03-24 09:48:00
實用推,感謝CJ花時間分享!
作者: RadiationXen (Xen) 2017-03-24 10:48:00
實用推
作者:
windkey (揪嚕嚕)
2017-03-26 00:06:00感謝分享~
作者:
MADAOTW (MADAO)
2017-03-26 18:00:00感恩
作者:
sakyer (石理克)
2017-03-27 14:19:00感謝分享
10幾20fps的 Lichdom Battlemage 太性感,難得遇到平均幀率低成這樣的現代家機遊戲 之前特價直接買來當寶XD
AI決策跟網路同步很常用這個技術 不要太看輕國產遊戲XD