BlackJack
04-02-2002, 07:56 AM
The vertexbuffers in my engine are sorted before theirs output, if requested, but I don't know, how to set the priorities for the best performance, because there for I have not enough knowledge of the GeForce 3 architecture. I know that textureswitches are expensive, but also the vprogram switches are as well.
My actual order is as following (from highest till lowest priority):
-Bank (2 bit)(am managing the memory myself, 3 banks: system, agp, videomem)
-Rendermode (6 bit) (possible switch of vertex program/texture shader)
-Material (6 bit) (possible switch of textures and renderstates)
-Rough distance (10 bit) (for at least a rough front to back sorting)
-Vertexbuffer (8 bit) (setting the pointers for the vertex/index buffers)
----
32 bit
I know it's impossible to define this exactly, because it's a lot depending on what you want to let render, how big the textures are and so on, but I think it can at least be said about. Does it make more sense to give the texture sorting a higher priority than the vprogram sorting or may be is the front2back sorting the most important one of all to save fillrate?
Thanks,
Michael
My actual order is as following (from highest till lowest priority):
-Bank (2 bit)(am managing the memory myself, 3 banks: system, agp, videomem)
-Rendermode (6 bit) (possible switch of vertex program/texture shader)
-Material (6 bit) (possible switch of textures and renderstates)
-Rough distance (10 bit) (for at least a rough front to back sorting)
-Vertexbuffer (8 bit) (setting the pointers for the vertex/index buffers)
----
32 bit
I know it's impossible to define this exactly, because it's a lot depending on what you want to let render, how big the textures are and so on, but I think it can at least be said about. Does it make more sense to give the texture sorting a higher priority than the vprogram sorting or may be is the front2back sorting the most important one of all to save fillrate?
Thanks,
Michael