iDevGames Forums
Is 440k triangles/second good? - Printable Version

+- iDevGames Forums (http://www.idevgames.com/forums)
+-- Forum: Development Zone (/forum-3.html)
+--- Forum: Graphics & Audio Programming (/forum-9.html)
+--- Thread: Is 440k triangles/second good? (/thread-7880.html)



Is 440k triangles/second good? - Bersaelor - Jul 23, 2010 03:56 AM

Hey there,

now that I tested VBO's and realized I have a second generation iPod, I wonder whether the 440000 trangles/second that I consistently get with my 3D engine using OpenGL ES is a good or bad value.
I mean I did turn on 4-sample multisampling and gl_Normalize which both means more computation and I use texCoords, normals and colors.

What do you guys think?

The full report with the results table can be found here.


RE: Is 440k triangles/second good? - Skorche - Jul 23, 2010 07:08 AM

The non-3GS class hardware supports multisampling? I thought that was a 3GS and up feature? To answer your question, that sounds about what I've topped out at with triangle strips. About 6-7k triangles per frame at 60fps.


RE: Is 440k triangles/second good? - Bersaelor - Jul 23, 2010 07:24 AM

(Jul 23, 2010 07:08 AM)Skorche Wrote:  The non-3GS class hardware supports multisampling? I thought that was a 3GS and up feature? To answer your question, that sounds about what I've topped out at with triangle strips. About 6-7k triangles per frame at 60fps.

Yes it sure does, they even said it in the WWDC 415 talk. It's just that the MBX is not super-efficient doing this, using multisampling costs me about 5% performance.
On the SGX it might be essentially cost-less.
Though you do need iOS4 installed on the device.


RE: Is 440k triangles/second good? - Applewood - Oct 8, 2010 03:52 PM

We're mananging about 8000 triangles at 60 on iPad and have been battling to get that number up for a few weeks now. That's with a very simple shader and a tiny texture look up. We seem to be able to shove a shitload more than that before dropping below 40 though, so I'm thinking there are some fixed costs we've not found yet.

So it's good in that you're in the right ballpark, but bad in a sense that this chip can go a lot faster than this in theory.


RE: Is 440k triangles/second good? - Ingemar - Oct 9, 2010 12:51 AM

Triangles/second is one measure, but how about fill rate, fragments per second? Have you measured that? What can the iPhone perform in that respect?


RE: Is 440k triangles/second good? - Applewood - Oct 9, 2010 01:46 AM

My biz partner has been up to all that stuff, but in this case I strongly suspect that fill rate is more important than vertex throughput, though obviously nothing is limitless.

When we get a bit further down our current investigations, I'll get some benchmarking together and post the results.


RE: Is 440k triangles/second good? - Frank C. - Oct 9, 2010 12:21 PM

(Oct 9, 2010 01:46 AM)Applewood Wrote:  I strongly suspect that fill rate is more important than vertex throughput...

On iOS this is definitely the case - it's easy to hit fill rate limits even with simple 2D stuff. A few big alpha blends and yer done.


RE: Is 440k triangles/second good? - Ingemar - Oct 10, 2010 08:00 AM

(Oct 9, 2010 01:46 AM)Applewood Wrote:  My biz partner has been up to all that stuff, but in this case I strongly suspect that fill rate is more important than vertex throughput, though obviously nothing is limitless.
Exactly my point. Fragment processing is generally considered the most important bottleneck.


RE: Is 440k triangles/second good? - Holmes - Feb 17, 2011 06:51 PM

(Jul 23, 2010 03:56 AM)Bersaelor Wrote:  Hey there,

now that I tested VBO's and realized I have a second generation iPod, I wonder whether the 440000 trangles/second that I consistently get with my 3D engine using OpenGL ES is a good or bad value.
I mean I did turn on 4-sample multisampling and gl_Normalize which both means more computation and I use texCoords, normals and colors.

What do you guys think?

The full report with the results table can be found here.

I would say it's good. On my iPhone 4 I can draw about 1.2 million triangles / second using a relatively short vertex shader, moderate pixel shader (normal mapping), and 4x MSAA using the VBO route. I would reckon that the 2nd generation iPod should yield lower results since it has a PowerVR MBX instead of SGX. As others have stated, the number of pixels processed is much more of an issue. The best thing you can do to increase pixel throughput is to use pvrtc compressed textures and enable mip mapping (though make sure you don't blend between mip map levels).

The only way to improve vertex performance if you are already using index triangle lists is to try to optimize triangle ordering for the best locality. Imagination technologies (creator of the PowerVR chip) recommends that you use indexed triangle lists, but order the triangles as they would be if they were processed as triangle strips. Strangely Apple says to use triangle strips instead of indexed triangle lists. I'm going to trust PowerVR on this one.

Be sure to follow best practices as outlined by imagination technologies:
http://www.imgtec.com/factsheets/SDK/POWERVR.%203D%20Application%20Development%20Recommendations.1.7f.External.pdf