|
|
发表于 2006-10-6 12:57:00
|
显示全部楼层
Re:大家可否谈谈游戏与多线程
目前经典的单机游戏逻辑循环是使用单线程的。 对于数据处理有一定的顺序,下面的作为参考。 如果在player update 和world update耗费太多时间render的时间就少了。所以fps会下降。而且player update和world update 以及AI 只需要几个frame执行一次就够 。所以对于单CPU来说。单线程是最好的方式。至于dual core,最多两个线程,可以分担一部分的计算量。在程序设计上更加复杂。即将发行的PS3支持8个CPU,其中1个master 7个CELL,包括独立的物理运算单元。所以多线程是迟早的事情,主要看硬件支持。另外目前的游戏设计,shader用的很多,基本上都是GPU分担了。实际上也是多线程,只不过在逻辑部分,还是单线程而已
Player update
Sense Player input
Compute restrictions
Update player state
World update
Passive elements
Pre-select active zone for engine use
Logic-based elements
Sort according to relevance
Execute control mechanism
Update state
AI based elements
Sort according to relevance
Sense internal state and goals
Sense restrictions
Decision engine
Update world
Render
|
|