Couldn't find this anywhere so please link me there if this question is already answered something.
What gives best performance in a real-time situation (video game) between
a) a high triangle count model with vertex-splits but no texture, and
b) a very lowpoly model with few vertex splits but a high resolution texture?
In both cases I'm assuming a fairly simple pixel and vertex shading situation.
I would think that the first option at least saves more space on disk.
Thanks!:)
Edit: I did more snooping around and found the answer, sorry for my earlier lack of detective skills v.v
Replies
GPUs render in 2x2 squares, if there's 2 triangles in a square, it has to render that square an extra time. If there's three, 3 times, etc. UE4 has a view mode called quad overdraw that shows this. Generally, if you have a lot of triangles, it's not an issue if most of them are larger than the 2x2 pixels.
http://blog.selfshadow.com/2012/11/12/counting-quads/
This is why artists are told to avoid long skinny tris.
So I guess, if your tri density is causing a lot of quad overdraw, it's an issue.
Memory is also a different matter. It's a case of, use as much available memory as you want, without going over the limit. So at the most basic level, textures are "free" until you run out of memory.
A summary of what I needed: There's a range between 1-300 or something tris that has no difference in cost.
Tris are in general very cheap nowadays, textures are a bigger bottleneck. Bottom line is of course to use as much is needed to make it look how it's supposed to.
That's one way of looking at it, however another way of looking at it is what you save one place you can use another, so there's never anything for free.
But that's a very interesting read ZacD, thanks! For the project I'm currently working on, props will generally be a bit away from the camera, so that's definitely something to think about.
- http://docs.cryengine.com/display/SDKDOC2/Getting+Started+Modeling#GettingStartedModeling-TexturingandUVWs
- http://wiki.unity3d.com/index.php?title=General_Performance_Tips
- https://docs.unity3d.com/Manual/OptimizingGraphicsPerformance.html
- https://docs.unrealengine.com/latest/INT/Engine/Performance/Scalability/ScalabilityAndYou/index.html
"Mix different components in similar ratios (some hardware might be only slow in some feature) bad: many objects simple material, few objects many lights with complex materials. "
I don't really get this, fewer lights and simpler materials seem to me like they would give the most performance anyway..