Hi
all,
I've been
benchmarking java3d to see if its suitable for a project on your average pc, and
I'm trying to understand the results.
4 Scenarios under
1.3.1beta OGL:
1 - Create 8
texture mapped spheres of step 128 and give jvm 100% cpu - result is
72fps.
2 - Create 8
texture mapped spheres of step 128 and give jvm 50% cpu - result is
36fps.
3 -
Create 8 texture mapped spheres of step 256 and give jvm 100%
cpu - result is 45fps.
4 -
Create 8 texture mapped spheres of step 256 and give jvm 50%
cpu - result is 22fps.
The scene is
completely static and the only behaviour attached is an fps counter. There
is a directional and an ambient light.
The view never
moves, so, under these conditions, the cpu has nothing to caclulate, and the
gpu should be doing all the work.
So, why is the
number of frames rendered proportional to cpu available? All geometry and
textures are already sent ot the graphics card, and no new calculations are
being done (short of an fps behaviour).
I have your average
P1.4 with an average nvidia ti4200.
What is the cpu
doing? is it resending the geometry every frame? and how could that be
dependent on cpu - should just be DMA calls? I suppose it could be
recalculating bounds, but theres only 8 objects? Maybe its spending its
time sorting through the geometry and seeing if some of the triangles are beyond
the back clip, but I thought that was also delegated to the graphics
card?
vot is going on in
da cpu?
David
Roberts
a java coder... of
sorts...