We have an application where we dynamically add geometry and textures at
runtime. We load the data into memory in a background thread and that seems
to be working correctly. But when the new data gets added to the scene
graph, we seem to be suffering a very significant drop in performance (pause
for .5 - 1.0 seconds). I am still trying to track down the details inside
OpenSG, but I suspect it is the time spent on texture upload and texture
object creation before the texture is used.
I am assuming that OpenSG does something like this:
- Once a new material is added to geometry and that new material has a new
texture
- The next time the geometry is rendered, the material is activated
- This causes opensg to:
- Create a texture object
- Upload the image into the texture object
- Activate that object to render the geometry
This is a very simplistic explaination and I have not looked at the code in
detail but this seems to be the behavior and would follow the OpenGL
conventions.
In any case, I suspect that the delay between uploading the image and using
it is there the system performance is suffering.
Now this may be more of an OpenGL question then anything, but is it possible
to put a few frames delay between uploading the texture into the texture
object, and the first time the texture is used? Said another way, is there
a way for the system to upload the texture into the graphics hardware in the
background before the data is actually needed for rendering?
-Allen
-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
Opensg-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/opensg-users