It’s my understanding that the MBX Lite GPU stores a frame’s worth of geometry before trying to render it (i.e. TBDR). Are there any circumstances under which this might fail, especially circumstances that might have performance implications?
For TBDR to work, it stands to reason that there would have to be a set amount of memory in which a deferred scene could be stored. It also stands to reason that there are at least two of these areas, so that the CPU could be generating a new frame as the GPU is drawing the previous frame. I also wonder if certain render-state changes could lead to the TBDR flushing what it’s saved so far.
So what’s going on here? Is there anything I could do to mess up the performance of the MBX Lite, so that it can’t render an entire frame at once?
I ask because, according to my current profiling numbers, the iPhone puts out around 600-700 of our usual sort of triangles (vertices, actually) per millisecond. This is abysmal, bordering on unusable.
Hello,
I am sorry but we cannot comment on performance on this device. The iPhone developer forum has some discussions about this issue that you might find interesting.
Best regards.
Carlos.
Really? I’ve personally found very little useful information on the iPhone developer forums. Mostly, it’s people with scant information trying to help people with no information – hence my attempt to get answers here. Can you provide the URLs to a post or two that you found useful?
I found this searching around the Net today…
http://www.glbenchmark.com/phonedetails.jsp?benchmark=pro&D=Apple%20iPhone&testgroup=lowlevel
Apparently they’ve confirmed my 600 triangles-per-millisecond figure. My vague memory is that MBX Lite is supposed to max out near 4 million triangles per second…meaning the iPhone manages to be six or seven times slower. That’s just ill.
Hello,