Mintmaster
Veteran
I like that view of tesselation.Not necessarily... I maintain that the most important use of tesselation is to *remove* triangles that would otherwise be there without it. If you're rendering too many more than a couple million or so triangles you're not doing your LOD/occlusion culling well enough (at least for today's screen resolutions) The goal is for triangles that are 4-8ish pixels.
As for triangle size, 4-8 pixels would be a decent lower bound for triangles viewed head on, but even if your tesselator aims for that, on the screen 20% will be < 3 pixels due to obliqueness, 40% will be backfacing, and 20% will be off screen (and that's for the good devs that implement decent frustum culling, and looking at the lack of tiling on XBox 360 leads me to think most don't go beyond really coarse culling).
He's not looking at it the right way.I'm probably mistaken, but didn't he (Tom Forsyth, in the talk) mention that setup (or at least the part of it that relates to tri/clk--say hi to my ignorance, it's shy) wasn't an issue? I remember him saying something like 500M+ tri/s being more than enough. Whether that was for Larrabee or GPUs in general, and whether that takes into account tessellation, I don't remember.
If you have a scene with 2 million polygons inside the view frustum, you have to render your cascaded shadow maps (some geometry gets sent to the GPU in two cascades) and lots of off-screen geometry. That's maybe 3 million polys, thus taking 6ms at 500Mtris/s. 20% of the triangles are clipped, half of the rest are backfacing, another 20% only contribute to 10% of the total pixel count load, and maybe 100k triangles go towards each face of a 512x512 cube map. So that's another 0.4+0.8+0.4+0.6=2.2M triangles, taking another 4.4 ms.
So for 60fps, you're now left with 6.2ms - only 37% of the frame time - to render 90% of the on-screen pixels. Only 800k triangles are frontfacing and on screen, and after overdraw only 300k are visible. You render at a 1920x1200, so the average is 8 pix/tri.
500Mtri/sec is more than enough? I don't think so...
(Personally, I care about lighting far more than polygon count, but triangles are still useful...)