[opensource-dev] Severe water flicker in recent development build

Zabb65 zabb65 at gmail.com
Sun Sep 12 12:38:55 PDT 2010

It generally isn't fair to compare other engines results with that of
second life, and I don't think it ever will be fair to compare
results, or how it looks.

The fundamental differences are too large. Most graphics engines deal
with optimized static geometry that has specially designed textures
that can be mapped onto them in clever ways, and an optimized
pre-computed tree is formed to occlusion, so that you can obtain very
high framerates and good looking results, even from very very modest
hardware. This however is not the case with second life, where there
is NO static geometry that can be optimized or merged, the textures
cannot be applied in clever ways or mapped efficiently, and those
using them generally do not know how their use of textures slows
everything now. I hope to see a lot of this change with the
introduction of mesh.

Second life current has a trade off between simplicity of data
transfer and polygon count and complexity, by over generating its
geometry for each primitive, it allows for simple building blocks that
can be used for construction. The trade off is that a great number of
them go unused or are never visible, hidden inside intersections of
other prims. Sadly this case cannot be optimized, as the system is
entirely dynamic, where any given primitive or object can change or
move at any time, leaving little room for clever programming to fill
in holes and optimize away pieces that cannot be seen.

Currently the second life system does a fairly good job of creating a
semi decent performance scene out of all this chaos, but I am sure
there are ways it could be further improved. Suggesting a move to
another graphics engine that is developed and designed for use with
static optimized geometry in a controlled environment would provide
poor performance, likely far worse than what is currently offered by
the tuned system that current exists. This is particularly true for
the number of unique textures that are often visible within a scene at
any time. Sometimes counting in the thousands. In most games you have
maybe 200 textures visible at any given moment, and its careful tuned
to stay as low as possible to achieve the good performance you are
used to.

I hope that we can continue to watch the engine used for second life
change and evolve in ways that increase this performance and lower the
bar of entry, but it will never be something that the programmers
alone can do, it takes the coordination of everyone involved, content
creators and users included.

More information about the opensource-dev mailing list