spd spd
graphics : arise
The Standard Procedural Database was originally devised by Eric Haines to provide scenes to benchmark and validate renderers. I've added export support for Arise's SDL and run tests with the various databases. At right is your basic teapot - an animation used to illustrate how varying the size factor changes the output. There are similar results for the balls, jacks and mountain databases as well as the rings, sierpinski gasket and tree databases.

The timings from rendering these different scenes are inputs to a process to optimise Arise's performance (particularly that of the octree) by understanding how the concentrations and distributions of the primitives affect performance. The graph below gives an example of some timings, and shows how for most of the databases the scaling is fairly good however, there is room for improvement with tree and tetra databases.

The particularly sparse filling of the octrees with these two databases points to the octree cell traversal algorithms being a potential source of pain - the octree traversal method according to Samet was considered optimal when originally implemented however, there are more recent, faster methods that could be implemented. The impact of changes to the subdivision criteria also need investigation - the octree is quite sensitive to the leaf threshold parameter (the number of objects in a node required to further subdivide) and the optimal value varies from scene to scene - so the software requires more sophisticated sub-division criteria beyond the object count.
blind 'em with graphs, I say - no surprise to discover I was a consultant, is it?
blind 'em with graphs, I say - no surprise to discover I was a consultant, is it?
© 2001 - 2006 sam thompson