|
|
发表于 2005-7-25 10:23:00
|
显示全部楼层
Re: 为什么处理游戏循环一定要放在Windows消息循环里?
拜托大家看清楚,我说的也应该很清楚了,这里就2个线程,一个窗口的,一个游戏的,对全屏游戏来说,就相当于单线程了,但是对于窗口模式运行的就不同,一个窗口模式运行的游戏,如果使用的是完全的单线程,那么很显然,在进行窗口调整,拖动的时候,游戏的渲染部分会被搁置,因为消息循环忙于处理窗口消息,基本没有时间空闲!我要说的就是这个问题,我是一个喜欢窗口模式游戏的人
----------------------------------------------------------------------------
你的问题可以用2个线程试一试,不过你会发现十分的别扭,而且会出错,因为游戏本身就是窗口相关的,你可以想象,你的窗口位置在一个线程中不断改变(窗口线程),还有一个线程在不断的往窗口上绘制东西(游戏线程),二者谁来协调,道理一样的,窗口本身就是游戏的一部分,而且我不觉得窗口拖动的时候游戏暂停有什么问题。
还有一个问题就是,你会发现如果用2个线程,当你切换窗口时,如果你的游戏窗口失去焦点,那么游戏线程的CPU占用率将会大大提升。
总之一点就是你会碰到很多你意想不到的问题,如果你能解决,那么也没什么不可以的,还是提醒一下,DX的线程安全是很脆弱的,死机兰屏不要感到奇怪。
----------------------------------------------------------------------------
没问题的,线程处理游戏数据,像在网游里面,有很多线程在处理连接池和游戏中的数据,不过线程调试的确麻烦一点,特别在线程处理GDI,数据库接口时
----------------------------------------------------------------------------
这是两码事,我都不明白在说什么,一会连接池,一会GDI,一会又数据库。
服务器端的数据量再大都是简单数据,类型少,可控,客户端的数据都是big block memory的数据,而且都是系统相关的,能比吗?
|
|