Optimal Upper Bound of Faces Per Object?

I think I might have asked this before, but it’s been a couple years since then at least.
The answer back then was “less is better,” but I’m optimistic there might be more insight this time around.

I would like to optimize my scene(s) during the design phase, which means aiming for a sort of “sweet spot” for the number of faces on a given object.

Here’s a short list of things that will have an impact on this calculation:

  • WebXR, developed using Oculus Quest 2.
  • Some physical objects.
  • Foreground elements, such as a cockpit or ship bridge, with futurist / minimal design.
  • Some reflective surfaces, but not many.
  • Potentially high number of lights or a lot of lighting effects.

I know this probably comes down to trial and error, as well as hardware specifics that can’t be generalized down to one simple answer. I am looking to avoid reducing graphical complexity below the consensus of a reasonable threshold, while not exceeding a common sense upper bound for the amount of detail.

General and loose terms that I can refine from, if any are already commonly discussed.
Many thanks for any and all insights you may have :smiley:

Hi allen-woods,

This is a matter of opinion, but I believe that the design phase is not a useful or realistic place to be optimizing for performance. Generally speaking, performance measurement (on developer-chosen target hardware) is done throughout development to ensure that the work-in-progress experience never becomes unusable, and performance optimization occurs late in development when a more complete picture of the product helps make clear what is and isn’t worth spending compute cycles on. A fairly fuzzy grasp of the capabilities of the target platform can be useful in defining project scope at the design phase (so that you don’t end up trying to build GTA V on an Atari) but the specifics of performance—especially details as particular as face counts—will be difficult or impossible to assess at an early stage in development. Unless you are creating very lightweight experiences, you will almost inevitably want more polygons than you can get, so you’ll have to sacrifice level of detail somewhere, and only relatively late in development will you have enough context to know which sacrifices will be most valuable and least destructive.

If you want to make yourself a poly budget, though, you might try just making a benchmark asset—something with a nice, even number of polygons—and adding it to a scene over and over until your performance starts to degrade. I definitely wouldn’t use something like this to set any hard targets; late-stage performance optimization is almost always inevitable. But if you want to get a jump start on understanding what you have to work with, this might be a thing to try. Hope this helps, and best of luck!