So, what’s a bigger overhaul for today’s GPUs, large tris or verts? For example, I know while developing for the iPhone, you have to be very conscious about your vert count. Is the same with PC?
What would be considered overkill in today’s games with vert counts / tri-counts?
For example, a game I currently have is at around:
150 calls
110 k tris
220 k verts
Is that too much? It runs great on my comp (250-ish FPS), but I do have a 512 MB graphics card, so I want to make sure it’s okay.
Thanks!
I have an old computer from 2003, and when I have 50,000 tris, 42,300 verts, I get 150 FPS average. At 60,000 tris, 47,400 verts I get 130 average! 70k tris, 53.8k vert: 100FPS.
102K tris, 71.3k verts 90fps!
The draw calls were 130-150!
Hope this is helpful.
This is great news
And here I thought I was over-doing it. Glad to know I can keep at the same pace and my game will be playable on a lot of things.
Anymore stats? :lol:
Not really. Would you like me to test your project?
at worst there are people like me and others with machines that are comparable crap wise to those machines. Commonly they are called netbooks, come with intel gma and atom processors
(thats the sole reason I got my eeepc 901 back then, having a no end computer for testing, cause my otherwise worst is 2x2.4ghz c2d, 8600m gt, 4gb ram
)
Guys, you slightly mixing stuff here.
Let’s do a short rundown:
draw calls, if you have driver (and you have one, trust me ;-)) are mostly cpu load. Cause you need to check states, shaders, prepare data for gpu etc. So if you fix cpu and change gpu - the time wasted on every draw call will be the same.
indices: here goes info about which vertices forms the triangles. You need less memory on that one, it is not processed really, but there is another caveat. GPU rasterize triangles one by one (it is far more complex, but who cares for now), so for every triangle, for every vertex in there it needs to run vprog once again (to add insult to the injury, stuff like netbooks and intel “gpu” will likely tun vprog in software - that is on cpu near you). Sure, gpu understands that most of vertices will be shared, so it has special cache for vertices with vprog results, to no re-calculate. But it is very small. Sure, unity does triangle strips for you, to use that cache better, but not a single algorithm can get you perfect usage, so once again the less tris you have the better.
vertices: that’s slightly harder. They go to vertex buffer. And they are not so small. So basically it adds the cost for gpu to run like crazy on that memory when you have triangles with vertices that are not close by. Also, there is indirect slowdown, depending on the size of the vertex: the bigger the more memory you need, but also each vertex attribute should interpolated by itself when rasterizing. So you should go for smaller vertices, and for less too. In a nutshell the more vertices you have, the more likely your geometry won’t benefit much from that cache stuff (the worst case vertex count = 3 * triangle count, that is no vertex is shared)
So, comparisons like this are not very correct. Anyway, you can find lot of info about that and more advanced stuff, so consider that post a kick-start 