Just some random thoughts, as I also have run into this.
1) I found that many times I could reduce my textures to 64 x 64 and still
get nice looking scenes.
2) The performance degradation seems to be very dependant on the card and
drivers, especially where mipmapping is concerned
3) My TNT ultra, using opengl, has the ability to handle mipmapping in
hardware, turning this on, and Java3d off had a huge speed improvement. I
was not as happy with the hardware mipmapping however, even though they have
a slew of options on the algorthm used to scale the textures. The hardware
would sometimes switch back and forth between levels as you move roughly
parallel to the textured objects. This caused a noticible "texture
disturbance" I found annoying.
4) Some cards seem to handle the texture swapping better than others, some
can use large amounts PC memory for the cache.
Dave Yazel
----- Original Message -----
From: Mark Ferneau <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Thursday, October 19, 2000 4:46 PM
Subject: [JAVA3D] Texture Size -> Large Impact on Rendering Performance
This message is for anyone who uses textures extensively in their J3D
application. I've noticed that texture size has a severe impact on
performance in J3D.
In typical OGL / D3D applications I haven't noticed such a severe impact on
performance unless I push the application's texture memory over a hardware
texture memory limit or cause the overall system to start swapping. In my
J3D application, I experience a 4x improvement in overall framerate when I
decrease my texture usage significantly and I am not:
- swapping when using higher resolution textures
- going over a hardware limit (this board doesn't support hardware
texture
mapping)
The performance impact appears to be proportional to an increase in texture
resolution.
Given that the ultimate rendering of a textured polygon to the framebuffer
is just resulting in different offsets through the textures depending on
the orientation of the polygon to the framebuffer, why is the performance
impact so great?
My only thoughts are:
1) Smaller textures being operated on fit inside the processor cache and
thus the CPU can push the data to the framebuffer faster
2) J3D or something below J3D is passing entire textures around on a
per-frame basis (why?)
3) Mipmapping is having an effect somehow
I've run another application written on top of D3D and have experienced the
same performance degradation. Specifically that application runs ~24-27
fps and to test performance differences I changed the texture to be all the
way from 1/8th the original texture amount all the way up to 2-4x the
original amount for about 200 textures without any change in performance.
My experiences are based on J3D D3D 1.2 (beta), Win2K, ATI Mobility-P chip,
192MB memory.
Any insights would be greatly appreciated.
--Mark
Mark Ferneau 240-462-6262 (cell)
Director of Adv. Technology 801-437-4608 (efax)
Xtivia Technologies, Inc. 732-469-5954 x629 (NJ office)
[EMAIL PROTECTED] 301-279-5703 (home office)
http://www.xtivia.com/ [EMAIL PROTECTED] (wireless email)
===========================================================================
To unsubscribe, send email to [EMAIL PROTECTED] and include in the body
of the message "signoff JAVA3D-INTEREST". For general help, send email to
[EMAIL PROTECTED] and include in the body of the message "help".
===========================================================================
To unsubscribe, send email to [EMAIL PROTECTED] and include in the body
of the message "signoff JAVA3D-INTEREST". For general help, send email to
[EMAIL PROTECTED] and include in the body of the message "help".