猜测它有可能是在主循环里使用了 Sleep(0),一搜,果然定位到具体代码,它位于cocos2dx\platform\win32\CCApplication.cpp,大致长像如下:
1 |
while ( 1 ) { |
if( 有消息 ) { |
( 时间到 ) 更新计时,call 主循环函数; |
Sleep(0);
} |
// 其他跳出循环判断代码
} |
也就是说,该循环除了执行 mainLoop 以外,花了大量时间在 检查消息和 Sleep(0) 上面。
并且,我还发现一个奇怪的现象(暂时还不清楚是为什么),即:
HelloCPP 项目的 AppDelegate.cpp 文件中有一行代码: