Home Technical Talk

Vertex Count vs Triangle Count

polycounter lvl 12
Offline / Send Message
Bartalon polycounter lvl 12
[Accidentally posted this in Pimping & Previews so I'm reposting here. Whoops]

Hey guys, I have a couple questions just to ease my mind and make sure my understanding of some things are concrete.

First, a facts check:

1) Speaking strictly about 3D model integrity, vertex count is what matters most for performance in games (not talking about conservative texture usage, etc.)
2) Modeling software pretty much never displays the correct amount of vertices on a model
3) Vertex count is affected by smoothing splits, UV splits, and material splits
4) Following the guidelines that hard edges require UV splits, (in the cases of normal mapping) I split UVs at all hard edges in the image below, therefore the two models below have the exact same impact on performance:

Count.png

Now onto my questions.

1) This question sort of stems from fact #4. Assuming my UV splits match my hard/soft edges, and there are no additional materials applied to the model, is it safe to count a model's UVs inside my modeling software (assuming a completed unwrap) as the vertex count? Are there any instances outside fact #3 that would further affect vertex count?

2) How might "technical modeling" such as this be perceived by hiring managers? Do they possess the knowledge to know that a model with tons of beveled edges doesn't necessarily impact performance? Will a high triangle count negatively affect my chances of being considered for a position? Do they even look at triangle/vertex count?

3) How wrong are my perceived facts? :)

Thanks in advance

Replies

  • m4dcow
    Offline / Send Message
    m4dcow interpolator
    1. So technically for those 2 models, the vertex count would be the same, and would stay the same if you unwrapped them as strips, unwrapping this object in that way would introduce stretching that might be unacceptable to some. So while doing the 2nd one as a frontal projection, with the side pieces separated wouldn't change the vert count, doing the same on the first would increase it.

    TLDR version, in practice and with more complex shapes the spots with the bevels aren't always going to be continuous/soft edged.
  • monster
    Offline / Send Message
    monster polycounter
    1. Vertex Colors: If you are using "Face Colors" in Maya or 3ds Max, this will also split vertices in the game engine. Because each vertex in game can only have one vertex color value.

    2. People outside of tech artists and studious environment artists don't grok this, and it will not impact your hire-ability. Just make your portfolio pieces as awesome as possible. And if a potential employer gives you a target triangle count for a test, don't smart aleck them and bring up vertex counts. Wait until you are hired to confuse them. :)

    3. Your thinking is correct. The only thing to keep in mind is that unless you are working on mobile games, polycount and vertex count don't really matter. Look for the Killzone PS4 paper online to see how insane specs are these days.

    Here's an image I made that shows how smoothing and UV splits affect vertex count in game. There's a couple of really interesting things to note here.

    1. The model on the left has more geo, but less vertices. So this proves that more triangles can be more performant than less.

    2. The model on the right is the same model as the one next to it except for creating smoothing groups/hard edges from the UV seams. Yet the vertex count dropped in game. I still don't understand why this happens. Technically they should be the same. But there you have it.

    Clipboard-2.png
  • passerby
    Offline / Send Message
    passerby polycounter lvl 12
    seriously people got ot stop worrying so much about tri and vert counts, hell i even been on a job with someone stressing about vert counts, and try to view the bigger picture of performance.
  • Bartalon
    Offline / Send Message
    Bartalon polycounter lvl 12
    passerby wrote: »
    seriously people got ot stop worrying so much about tri and vert counts, hell i even been on a job with someone stressing about vert counts, and try to view the bigger picture of performance.

    Isn't it still a relevant concern in mobile development?
  • passerby
    Offline / Send Message
    passerby polycounter lvl 12
    Bartalon wrote: »
    Isn't it still a relevant concern in mobile development?

    still is, but it is far from the only thing to consider, i have worked on teams a few times where there bitching about poly counts when most of there problems are coming from there 2k textures, overdraw or fillrate.

    Most game engines provide profiling features to easily track down what is slow the game down.
  • monster
    Offline / Send Message
    monster polycounter
    @passerby: You're right. The mobile games I've worked on bone count, skin blending, and especially shaders have been the performance hogs from the art side.

    However, I don't think we are "worrying" about this issue. To me this is foundation information similar to knowing where to put cuts in character joints, avoiding seams in normals maps, and what size textures to use.

    When you are working with these things in mind you'll build technically sound models. And in the end that's our goal.
  • jacob thomas
    Offline / Send Message
    jacob thomas polycounter lvl 9
    @monster, any chance of a link to that Killzone paper. I can't seem to find any living links.
  • Skamander
    Offline / Send Message
    Skamander triangle
    jstyles3d wrote: »
    @monster, any chance of a link to that Killzone paper. I can't seem to find any living links.

    I believe he's referring to the following paper: http://www.guerrilla-games.com/presentations/Valient_Killzone_Shadow_Fall_Demo_Postmortem.pdf
  • jacob thomas
    Offline / Send Message
    jacob thomas polycounter lvl 9
    Fantastic. Thanks!
  • Bek
    Offline / Send Message
    Bek interpolator
    You might find these two links interesting:

    http://tech-artists.org/wiki/Beveling

    http://www.polycount.com/forum/showthread.php?t=106108

    If you have Marmoset Toolbag 2 it tells you the real vertex count. There is also a program made for modding Legend of Grimrock that gives you the real vert count, if you search for Grimrock Model Toolkit you'll find it.

    monster:

    They should be exactly the same. I just did a quick test and checked. How were you calculating real vert count? You must have made a mistake. Perhaps one model has different UV's. Or maybe you used the higher tri count model from the left mistakenly for the right?

    UV/Hard edge splits don't stack, and this is my understanding of why: A single vert can only have one normal and one UV coordinate. When a vert is split because it is a hard edge, you can now have a UV seam for free, because you now have two (or three) vertices—enough for each UV coordinate.
  • Bartalon
    Offline / Send Message
    Bartalon polycounter lvl 12
    Hey thanks for all the responses! Great information.

    I'm aware of the sort of insignificance of triangle/vertex count in next-gen games when considering the larger picture of performance. I've been working in mobile stuff lately where that is still sort of an issue, so being able to stay economical while boosting visual quality has always been a goal.
  • Butthair
    Offline / Send Message
    Butthair polycounter lvl 11
    I've been using UberVertCount to get the smoothing, UV and position verts for my models.

    Max Script:
    http://www.ericchadwick.com/examples/files/HaywoodTools-UberVertCount.mcr

    Suprised Eric hasn't dropped this down already. It's a really nice tool, even if just for understanding, it's great to see what the real vert count is ultimately.

    Also, a vert count can increase base on the shader using it. This is evident in Unity when I use a custom unlit shader which does not require knowing binormals and tangents, which means it ignores smoothing verts.

    And as a general rule, put smoothing edges where your UV edges are because it's much more efficient. Baking normals makes more sense as goes for lighting in scenes (baked or realtime).

    But as many are saying, vert count isn't something should you concern over, especially when your making stuff first round through. Optimization is best done later on when you know that the models being made are truly going to be in the final product. This is not to say making everything hi poly. Keep it in the realm of the project specifications.
  • sprunghunt
    Offline / Send Message
    sprunghunt polycounter
    passerby wrote: »
    still is, but it is far from the only thing to consider, i have worked on teams a few times where there bitching about poly counts when most of there problems are coming from there 2k textures, overdraw or fillrate.

    Most game engines provide profiling features to easily track down what is slow the game down.

    Vertex counts are more important for memory than performance. Anyone who says vertex counts don't matter usually hasn't ever been given the job of getting a level under mesh memory.

    It doesn't matter if you're making a 10,000 or 200 poly model you can cut your memory profile in half by modeling with vertex count in mind.
Sign In or Register to comment.