8

enter image description here

This is the window that opens when showStatistics is set to true. I'm curious about the meaning of all these symbols? So far I figured it out that frames per second need to be as high as they can be and as constant as well. What do others mean and what are they useful for?

Christopher Oezbek
  • 23,994
  • 6
  • 61
  • 85
potato
  • 4,479
  • 7
  • 42
  • 99

1 Answers1

8

Here's what you see (note: I know most of them from experience so feel free to correct me in comments if I'm wrong):

  • The red and grey bar is kind of a performance review. It's based on the FPS and you should do everything to keep it green and full. Right now, it's pretty bad!
  • GL tells you which rendering engine you're using
  • 6FPS is your framerate. That means how many times your screen is updated in one second. Your target should be 60, (it's the maximum, and what is expected from modern games), but 30 is acceptable.
  • That diamond with the 6 is the node count, i.e. how many nodes are in your scene graph.
  • 40.3k is the polycount, or the number of polygons in your scene. This seems pretty high considering you only have 6 nodes and can explain the low FPS.
  • That donut chart is what each frame spends its time doing. In your case, you can see most of the time is spent on rendering (the section on the right explains the meaning for each color)
  • 0.2s is the time spent to render each frame. It's directly linked to the framerate.
Christopher Oezbek
  • 23,994
  • 6
  • 61
  • 85
Moustach
  • 2,904
  • 1
  • 13
  • 23
  • okay thanks. That helped a lot! Do you know what the bar chart with green column means? – potato Jul 06 '15 at 21:15
  • Woops, forgot this one... t has to do with your GPU or CPU cores usage, but I can't remember this one – Moustach Jul 06 '15 at 21:35
  • 1
    I seem to recall that the square is the number of draw calls, not the number of nodes. – David Rönnqvist Jul 13 '15 at 08:28
  • 2
    In my app the ring is showing about 80% white, which is labeled as "WaitDrawable". Render time (in the middle of the ring) is showing about 16ms, so still acceptable, but barely. What does WaitDrawable mean? – drewster Dec 22 '17 at 19:09
  • 1
    @drewster What does WaitDrawable mean – Will Boland Mar 15 '18 at 02:51
  • 1
    @WillBoland Not sure - my thought is that it was related to a graphics pipeline stall - unable to get an MTLDrawable with nextDrawable. My understanding is there is a small number of MTLDrawables which are cycled through... ie, so 1 is available to use while 1 is being rendered, so slow processing at any step could cause the draw pipeline to stall, leading to WaitDrawable. <-- Or this could be entirely wrong. – drewster Mar 16 '18 at 00:12
  • @drewster makes sense, thanks. My game is having FPS issues, so looking into this. – Will Boland Mar 16 '18 at 01:28
  • @WillBoland Apple's WWDC 2015 SceneKit video with the original Fox demo talks about things you can do to help performance. https://developer.apple.com/videos/play/wwdc2015/606/ – drewster Mar 16 '18 at 15:19