The
gpu is only doing what it is told to do, and that's what you're trying to test.
To get the max fps, you're just staying in a tight loop RESENDING the geometries
every frame. If you're not sending the geometries, nothing gets displayed. I
don't know exactly how they are sent DMA or other way (and not really
interested), but it looks like opengl waits for the frame to be rendered and
AFTER that returning the control to the user. So the DMA calls (if any) are only
partial asynchronous. You're waiting for the transfer to complete. So, less CPU
means less speed. In any case, the problem you have seen is not realated to
java3d but to the opengl/hardware layers. Have you tryied with a native opengl
app the same benchmark ?
Cheers,
Florin
-----Urspr�ngliche Nachricht-----
Von: David Roberts [mailto:[EMAIL PROTECTED]
Gesendet: Sonntag, 30. M�rz 2003 04:58
An: [EMAIL PROTECTED]
Betreff: [JAVA3D] Java3d performance charactersiticsHi 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 Robertsa java coder... of sorts...
