HI Jannik, On 18 August 2016 at 13:50, Jannik Heller <scr...@baseoftrash.de> wrote: > Have you done benchmarking to see if avoiding these if checks makes a > difference?
Yes. It helps just doing one check. > Have you considered checking the individual arrays could be advantageous if > not all arrays have changed? The new implementation does one high level check to see if any array has been updated, and if so then individual checks for each array to see if it needs to be updated. > For example, with a skeletally animated model, you would update only the > vertices (and possibly normals) every frame while the texture coordinates, > indices and colors will remain static. Here we could save a whole bunch of GL > calls (possibly even buffer uploads?) by testing the arrays individually. This is how it works right now :-) > Perhaps we could have one "dirty" flag for the whole VAO, and if it's dirty, > we start testing the arrays individually to see which ones changed. If VAO > isn't dirty, no need to test the arrays. The VertexStateState effectively has a dirty, I'm away for a long weekend so can't check the code. THis dfirty flag is set to on when you set Drawable DataVaraince to DYNAMIC and can be invoked manually by calling drawable->dirtyGLObjects(); Robert _______________________________________________ osg-users mailing list osg-users@lists.openscenegraph.org http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org