为什么cocos2d-X在XP运行HellWorld CPU使用都会达到100%

为什么cocos2d-X在XP运行HellWorld CPU使用都会达到100%

电脑很容易就发热了。

引擎绘制是挺占CPU的

因为windows上开timer和sleep的毫秒数都不准,很多后台程序都在跑。所以引擎比较猥琐地用了自消息循环,往死里循环,判断是否到了下一帧的时间点。这种方式很消耗CPU,不过反正WINDOWS是调试平台么。

如果你不喜欢的话,就到CCApplication_win32.cpp CCApplication::run()函数里面,有个Sleep(0)改成Sleep(10)或者其他数值就可以了,会造成帧率不稳,不过发热量就降下来了。

— Begin quote from ____

walzer 发表于 2012-4-24 11:26 url

因为windows上开timer和sleep的毫秒数都不准,很多后台程序都在跑。所以引擎比较猥琐地用了自消息循环,往 …

— End quote

老大,win32可不能只做调试平台的打算,你看看像那些有名的游戏,最后还不都导到win平台了,比如植物、小鸟之类的。
我觉得桌面平台其实也挺重要的。

忘记在哪里看到的一句话来着,cocos2d本来就不是为了在windows平台而设计的,如果你想在windows上开发游戏,建议选用其它游戏引擎。

这句话好像是官方说的。。。。

这句话我是支持和理解的,比如它使用的是opengl es,而不是opengl

没那么差吧, 我在win32上开发的不是好好的,是你的机器差了点吧。。

手机发热,有什么可以优化的代码吗

引擎绘制是挺占CPU的

因为windows上开timer和sleep的毫秒数都不准,很多后台程序都在跑。所以引擎比较猥琐地用了自消息循环,往死里循环,判断是否到了下一帧的时间点。这种方式很消耗CPU,不过反正WINDOWS是调试平台么。

如果你不喜欢的话,就到CCApplication_win32.cpp CCApplication::run()函数里面,有个Sleep(0)改成Sleep(10)或者其他数值就可以了,会造成帧率不稳,不过发热量就降下来了。

— Begin quote from ____

walzer 发表于 2012-4-24 11:26 url

因为windows上开timer和sleep的毫秒数都不准,很多后台程序都在跑。所以引擎比较猥琐地用了自消息循环,往 …

— End quote

老大,win32可不能只做调试平台的打算,你看看像那些有名的游戏,最后还不都导到win平台了,比如植物、小鸟之类的。
我觉得桌面平台其实也挺重要的。

没那么差吧, 我在win32上开发的不是好好的,是你的机器差了点吧。。