Hello Everybody,
My question is not osg specific but I ran in a strange issue and would like
to know if anybody would know what happens:
I have developped a GPU multi draw Geometry
it that draws composite geometries in a texture until no more pixels are
drawn.(FBO render to texture)
The pseudo algorithm:
MyGeometry::drawImpl(){
bool finished=false;
while !finished()){
finished=true;
for all compositegeometry g
{
if(g.active){
beginQuery
i->drawimpl();
endQuery
}
}
//wait for occlusion queries results
.....
for all compositegeometry g
{
if(i->queryresult->numpixel!=0)
finished=false;
else g.active=false;
}
}
}
It then make a massive use of occlusion queries. approx 128 per draw call
and approx 200 draw call.
Queries Results are waited by active waiting.( while(!ready)
ext->glGetQueryObjectiv( rqt->_id, GL_QUERY_RESULT_AVAILABLE, &ready );
Under Windows no problem it have very good performance(98ms) but under
ubuntu with latest nvidia drivers performances are awfull (3s)...
Any advice?
---------------------------
QuadCore Q8800 / ASUS p5p43td MB
Nvidia GTX275
Ubuntu Karmic Koala
_______________________________________________
osg-users mailing list
[email protected]
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org