Polygons in BGE vs others

Why is it that in other game engines like Unity and Cry engine, the poly count relatively doesn’t matter as much as in BGE? (at least that’s what I’ve heard often)

Unity Pro and the Cryengine tend to have sophisticated culling systems that minimize the amount of geometry that has to be drawn.

The BGE also has occlusion and frustum culling, but other engines will also have faster shading routines by way of sacrificing the accuracy of the result (the original GLSL code for the BGE was designed to mimic the renderer and thus doesn’t have all those shortcuts).

A third major factor is that the BGE historically couldn’t display animated meshes near as fast, but that is changing through new functionality like multithreaded animation.

Ahh ok that would make sense then. And our progress wouldn’t be as fast as someone paid to do it I guess
Frustum culling is backsurface culling right?
Then why have single and multi texture? They could be useful for certain games, but what would be the difference?

Backface culling is entirely different, and the BGE has that too.

Single Texture mode was also removed a couple of releases ago.

“Problem” solved…thanks :slight_smile:

Polycount always matters. If someone tells a different story, it is either a lack of understanding, or a different context.

The thumb rule is simple:
-> drawing a polygon costs time,
-> not drawing a polygon costs no time

Obviously it is faster not to draw a polygon.

But we want to see polygons! Yes, but usually we do not see all polygons. The trick is to hide all polygons that are not visible (not even partially).

New rule:
-> checking if a polygon is visible costs time

Obviously a polygon that is not present, does not need time at all -> no polygon is faster than a hidden polygon.

If you look at multiple polygons there comes more complexity:

Drawing multiple polygons at the same time -> faster
Reducing the number of visibility checks -> faster
Reducing the number of polygons -> faster

What is the difference between the 3D engines? The methods to provide polygons (e.g. LOD), perform the visibility checks (e.g frustum culling) and to draw the polygons (which typically is delegated to hardware).
Do these methods let a engine render faster than the others? Yes.
Does polycount matter? It always matters. It is pretty easy to bring any 3d engine down. The goal is to find a balance between how it looks and how fast it renders. With some tricks it is possible to move the bar towards the better look and how easy it is to use. But using them incorrectly let moves to the other direction.

Worry about it when you have performance issues.

If it ain’t broken, don’t try to fix it

In my own projects, poly count is rarely the issue. Shaders are usually an issue before raw poly count becomes an issue.