Performance- and Memory-Tests

I thought a bit about performance- and memory-(stress-) tests. And I plan to implement the following scenarios now:


  • very high number of fast rendering geoms (boxes and lines), without many changes to occur, flat tree  -> e.g. a graph browser
  • very high number of fast rendering geoms (boxes), with many changes to position and angle, flat tree  -> e.g. swarm simulation
  • high number of complex geoms but with few different meshes, flat tree -> e.g. asteroid field
  • very high number of fast rendering geoms in a deep tree (many nodes with a few children each), some of the nodes don't change, others update frequently -> (no example yet)



    These four have two phases - setup and runtime (separate mesurements). And they are the important ones, I think.

    Additionally they can all have view changes (on and off) and require with culling or not (objects near to each other or spread far apart).



    Others could be
  • loading many (different) meshes (maybe with partially same textures?)
  • flying over terrain, with and without loading/creating on demand
  • render to texture and altering textures programmatically?
  • other effects?


Eventually I'll make a test where objects are added and removed from the scenegraph frequently.

A stress test for RenderQueue would be nice. Perhaps a long line of objects that are randomly transparent and opaque. Have those objects move back and forth so the queue has to be sorted often.

I'm going to put them in jmetest.stress.[kind].

Where the test is named [Scenario]Test plus supplementary classes.

llama said:

Eventually I'll make a test where objects are added and removed from the scenegraph frequently.

I have written the 'swarm simulation' now and used reorganization of nodes to speed up collision detection - maybe this already suites as add/remove-test. I'll check it in as soon as I have cleaned it up.
irrisor said:

llama said:

Eventually I'll make a test where objects are added and removed from the scenegraph frequently.

I have written the 'swarm simulation' now and used reorganization of nodes to speed up collision detection - maybe this already suites as add/remove-test. I'll check it in as soon as I have cleaned it up.


Sounds perfect

a first test - swarm simulation - is in cvs

It is heavily using collision detection - perhaps we want to toggle behaviour on/off?

Certainly stresses the Mac  :-o



I get 0 FPS (maybe an update every 3-4 seconds).

Hmm, that's strange - it not fast over here but it's always over 10  (Pentium M 1,6 GHz)

Oh, uhm, not strange - I changed the Node class to speed up attach  :). is in cvs

ok, now getting about 3-4 FPS. At least it looks like it's doing something now. :slight_smile: If I hit R then it goes back to 0 FPS (maybe 1 update every 3-4 seconds).

TestGraphBrowser is in - about 4000 simple spatials getting rendered again and again.



Btw. this test could be speed up alot by automatically summarizing several meshes (lines in this case) into a single one…