I wanted to get some proper timing figures before I implemented reflections in order to tell how badly (or well) my reflection code is performing. So I removed one or two small optimizations which would affect the timings based on the scene layout and got this:
[caption id="attachment_186" align="aligncenter" width="300" caption="When raytracing goes wrong"][/caption]
If I need something to fall back onto - modern art might just be my thing :p
If you are used to CUDA you will see immediately that I messed up the block/thread indexing. Once this was fixed I ran timing tests for 25 frames at 800*600 and 1024*768 for 10 to 100 objects at 10 object intervals. Ideally I wanted to run tests at 1600*1200 but discovered that at that resolution I was using too much memory for my 8800GT. A small tweak will fix the memory requirements but that is a task for another day.
At each resolution and object count 5 timings were taken and then averaged out. As the cuda devices are rather non-deterministic in terms of thread scheduling etc the timings do vary from run to run. FPS is calculated here as 1000/timing average/25
Here is the chart of fps timings:
[caption id="attachment_191" align="aligncenter" width="448" caption="cudart Timings Chart "][/caption]
Link to full size chart here
If you ignore the first few timings you should notice that the FPS drops off linearly as the object count increases. In fact on some later tests (not on this graph) I managed to get 800*600 with 1000 objects at 2.8 fps. Anything greater than 1000 the performance tends to drop in big jumps at the moment.
I do expect a large drop off in FPS as reflections get introduced but hopefully with these baseline tests I can make sure they are as optimal as possible.
Finally to finish this post - an image from cudart with colour / lighting and shadows. Ive made the floor blue to make it easier to see the seperate between it and the pyramid and back wall.
[caption id="attachment_194" align="aligncenter" width="300" caption="Scene with colours, lighting and shadows"][/caption]