cocos2dx setDisplayStats

来源:互联网 发布:手机淘宝删差评怎么删 编辑:程序博客网 时间:2024/06/05 18:09
82    <-- number of draw calls0.016 <-- time it took to render the frame60.0  <-- frames per second

The first number (82) is the number of draw calls (which is fairly high). Typically each node that renders something on the screen (sprites, labels, particle fx, etc) increases that number by one. If you use a CCSpriteBatchNode and add 100 sprites to it, it will increase the draw call only by 1.

82 is a pretty high draw call number - depending on the game's complexity and assuming it is well optimized to reduce draw calls, the number of draw calls should be around 10 to 40. Assuming all 82 draw calls are sprites, then creating a texture atlas out of the sprite images (use TexturePacker, Zwoptex, SpriteHelper) in order to use CCSpriteBatchNode you could reduce the number of draw calls to 1. Draw calls are expensive, so it is very important to keep that number down.

The time it took to render a frame is in milliseconds. Since you need to draw a new frame every 0.016666666 seconds in order to achieve 60 frames per second (1/60 = 0,0166…) this number can tell you how close your game is to dropping below 60 fps. Yours is pretty close, you have practically no room left for additional game logic or visuals before the framerate will drop below 60 fps.

The last number is the number of frames per second. This value, like the previous one, is averaged over several frames so that it doesn't fluctuate as much (makes it hard to read).

PS: one other thing to keep in mind is that the bottom two values become misleading can not be compared for framerates below 15 fps. For example cocos2d might show 0.0 for the time it took to render a frame at such a low framerate.

0 0
原创粉丝点击