Quoting Roberto Inzerillo:

> I wonder how do textures impact on fps against simply colored 3d objects.
>
> I have a bunch of raw 3d objects to put into a scenery, they look very rough
> because of lack of details. Fps performance is very good. Well, I could make
> them look much nicer by applying textures to them. This will eat graphic
> card's memory of course, but I really don't know if that will impact on
> graphic performance as well. Will I get a drop down performance just by
> applying textures? Or the only effect will consist in eating up all the AGP
> card memory?

Graphic cards are optimized to texture objects. The greatest penalty is when you
do state changes. A state is all attributes that affect the rendering of a
primitive ( point, line or triangle ). A color change is heavy as well as a
texture change. The new Paris Scenery can display lots of identical building
just because they use the same texture. That way, you can draw hundreds of
building with a single state change. If these buildings where designed using 2
textures, there will be 2 state changes for each building, so hundreds of state
changes, and that wouldn't be playable.

Texture size has a litle impact on filtering time and a huge one when card
memory is completely filled. In that situation, swapping begins and very low
fps  are encountered.

> There's another question. I am used to creating high detailed objects for low
> distance view and a second low detailed copy for high distance view. That
> speeds up the simulator when the object is distant but ... does FGFS unload
> the unused high detailed 3d object (and its texture file) from the graphic
> cards memory?

The complete model stay in memory, as well as textures. There is a gain because
less primitives and less state changes are processed by the GPU. LOD has also
an effect on the visual because displaying sub pixel features usually creates
flickers.

Using Shared models helps saving memory. That way, only one model is loaded, and
it is displayed multiple times. With static objects, every instance is loaded in
memory, with duplicates on geometry and textures. Changing OBJECT_STATIC to
OBJECT_SHARED helped having a decent fps over Paris, as well as reducing
texture size to avoid GPU memory saturation.

-Fred

--
Frédéric Bouvier
http://frfoto.free.fr         Photo gallery - album photo
http://www.fotolia.fr/p/2278  Other photo gallery
http://fgsd.sourceforge.net/  FlightGear Scenery Designer


_______________________________________________
Flightgear-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/flightgear-devel

Reply via email to