Hi Loinel,

I see no performance drop with the SVN version of the OSG.   Please
try upgrading.

Robert.

On 6/11/07, Lionel Lagarde <[EMAIL PROTECTED]> wrote:
My samples.tar.bz2 is refused by the mail list server.

The non compressed size is 60Mo.

If someone want to retrieve the files, they can be downloaded at:
http://perso.orange.fr/lionel.lagarde/samples.tar.bz2


Lionel Lagarde wrote:
> I've built some test files.
>
> The attached archive contains:
> - withoutshader.osg: a 20x20x20 3D grid of cubes
> - withshader_0.osg: the same grid but with a basic shader in the root
> node (no uniforms)
> - withshader_1.osg: the same grid but with a basic shader in the root
> node (1 uniforms)
> - withshader_10.osg: the same grid but with a basic shader in the root
> node (10 uniforms)
> - withshader_20.osg: the same grid but with a basic shader in the root
> node (20 uniforms)
> - withshader_30.osg: the same grid but with a basic shader in the root
> node (30 uniforms)
> - withshader_100.osg: the same grid but with a basic shader in the
> root node (100 uniforms)
>
>
> The uniform are defined in the root node (with the shader).
>
> On my machine (Core2 duo 6400 + GeForce 7900GTX + OSG 1.2):
> - withoutshader.osg:  25.7 fps
> - withshader_0.osg:   23.2 fps
> - withshader_1.osg:   23.1 fps
> - withshader_10.osg:  22.3 fps
> - withshader_20.osg:  21.2 fps
> - withshader_30.osg:  20.1 fps
> - withshader_100.osg: 11.7 fps
>
>
> Lionel Lagarde wrote:
>> Hi Robert,
>>
>> The uniform values are not changing per drawables. They are fixed in
>> the root
>> state set (it contains also the shader program).
>>
>> None of the children of the root node define uniforms (nor shader)
>>
>> But, per-drawable, the PerContextProgram::apply function is called
>> for each
>> uniform registered in the root node.
>>
>>
>>
>> Robert Osfield wrote:
>>> Hi Loinel,
>>>
>>> High number of uniforms will be the bottleneck, changing uniforms in
>>> OpenGL is relatively expensive.  If you shader parameter various
>>> changing per drawable then use vertex attributes rather than uniforms.
>>>
>>> Robert.
>>>
>>> On 6/11/07, Lionel Lagarde <[EMAIL PROTECTED]> wrote:
>>>> It's seems that nobody has this problem.
>>>>
>>>> High number of drawables + high number of uniforms = bad performances
>>>>
>>>>
>>>>
>>>>
>>>> Lionel Lagarde wrote:
>>>> > Hi,
>>>> >
>>>> > Problem description:
>>>> > We have a scene with a lot of drawables (>1500). The stateset of the
>>>> > root of the
>>>> > scene graph contains a shader program.
>>>> >
>>>> > When we increase the number of uniform variables used by the shader,
>>>> > the application performance drop down.
>>>> >
>>>> > A little debugging session after, it appears that for each drawable
>>>> > that has a stateset
>>>> > defined, the uniform variables are applied.
>>>> >
>>>> > They are not really applied, (their modifiedCount has not
>>>> changed) but
>>>> > the
>>>> > osg::Program::PerContextProgram (line 163) do a "find" on a std::map
>>>> > (std::string -> GLint)
>>>> > to retrieve the uniform location.
>>>> >
>>>> > It seems that it is this access to the std::map that cause the
>>>> > performance drop.
>>>> >
>>>> > Does someone has encountered this problem ?
>>>> > Is there a way to disable the uniform application for each
>>>> drawables ?
>>>> >
>>>> > _______________________________________________
>>>> > osg-users mailing list
>>>> > osg-users@openscenegraph.net
>>>> > http://openscenegraph.net/mailman/listinfo/osg-users
>>>> > http://www.openscenegraph.org/
>>>> >
>>>>
>>>> _______________________________________________
>>>> osg-users mailing list
>>>> osg-users@openscenegraph.net
>>>> http://openscenegraph.net/mailman/listinfo/osg-users
>>>> http://www.openscenegraph.org/
>>>>
>>> _______________________________________________
>>> osg-users mailing list
>>> osg-users@openscenegraph.net
>>> http://openscenegraph.net/mailman/listinfo/osg-users
>>> http://www.openscenegraph.org/
>>>
>>
>> _______________________________________________
>> osg-users mailing list
>> osg-users@openscenegraph.net
>> http://openscenegraph.net/mailman/listinfo/osg-users
>> http://www.openscenegraph.org/
>>
>
> _______________________________________________
> osg-users mailing list
> osg-users@openscenegraph.net
> http://openscenegraph.net/mailman/listinfo/osg-users
> http://www.openscenegraph.org/
>

_______________________________________________
osg-users mailing list
osg-users@openscenegraph.net
http://openscenegraph.net/mailman/listinfo/osg-users
http://www.openscenegraph.org/

_______________________________________________
osg-users mailing list
osg-users@openscenegraph.net
http://openscenegraph.net/mailman/listinfo/osg-users
http://www.openscenegraph.org/

Reply via email to