Hi All,

Today I've been coding up a new example that is written with the
intent of testing out the capabilities of our hardware/drivers/OS's to
allocate lots of windows/pbuffers on the window manage side, and lots
of FBO's, texture and geometries on the OpenGL object side.   The new
example is called osgmemorytest and is now checked into svn/trunk.

This new example has a couple of specific uses - first up it's
educational - we can quickly test just how many objects we can throw
at our systems and expect them to run, secondly its a diagnostic tool
- so when things go wrong we can use it too recreate the problems we
see in our own apps but with a small focused code set, finally it's a
way of comparing capabilities across platforms/drivers - which in turn
might lead back to diagnostics on problem platforms.

In the thread about RTT/FBO memory problems under Linux I discuss a
few of the tests I've done with this new example.  These all related
to stress testing FBO's allocations.  There are other areas that are
worthy of stress testing too and I would love to get feedback from
other platforms just to get a feel about what different platforms are
capable of.   Here's a couple of tests that I'd appreciate it if users
could run and report back results (along with platform/hardware info).
 Be warned that push things too far and you can start stalling the
machine or even crashing it in extreme cases where the OpenGL driver
is misbehaving.

1) How many windows can I open?  Try to open 1000 windows:

 >  osgmemorytest --window -c 1000

2) How many pbuffers can I open? Try to open 1000 pbuffers:

 >  osgmemorytest --pbuffer -c 1000

3) How many texture objects can I open? Try to open 10000 256x256 RGB textures:

> osgmemorytest --texture 256 256 -g 10000

4) How many display listed based geometry objects can I open? Try to
open 10000 32x32 geometry tile:

> osgmemorytest --geometry 32 32 -g 10000

5) How many vertex buffer object based geometry objects can I open?
Try to open 10000 32x32 geometry tile:

> osgmemorytest --geometry-vbo 32 32 -g 10000

6) How many vertex array geometry objects can I open? Try to open
10000 32x32 geometry tile:

> osgmemorytest --geometry-va 32 32 -g 10000

7) How many display listed geometry objects can I open? Try to open
1000 256x256 fbo's

> osgmemorytest --fbo 256 256 -g 1000

8) How many display listed geometry objects can I open? Try to open
1000 1024x1024 fbo's

> osgmemorytest --fbo 1024 1024 -g 1000

9) How many display listed geometry objects can I open? Try to open
1000 2048x2048  fbo's

> osgmemorytest --fbo 2048 2048 -g 1000

--

To get things kicked off here's my results:

Machine: Kubuntu 7.10, Intel Quad core, 4GB, Gefore 640Mb 8800GTS
>From glxinfo: OpenGL version string: 2.1.1 NVIDIA 100.14.19

1) window test: get 108 windows opened before failure.
2) pbuffer test:  215 pbuffers opened before failure.
3) texture test: alll 10,000 texture allocated and download to OpenGL
in 6.9 seconds
4) geometry test: all 10,000 geometries allocated and download to
OpenGL in 4.3 seconds
5) geometry test: all 10,000 geometries allocated and download to
OpenGL in 1.0 seconds
6) geometry test: all 10,000 geometries allocated and download to
OpenGL in 0.7 seconds
7) fbo test: 145 fbo's created before failure.
8) fbo test: 157 fbo's created before failure.
9) fbo test: 166 fbo's created before failure.

Note 7 to 9 results are the exact opposite of what we would expect,
clearly there is a very silly bug in the OpenGL driver.

I look forward to what results others get.  I will later push up the
geometry and texture tests to see how far they can go...

Robert.
_______________________________________________
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

Reply via email to