I was trying to do various informal measurements,
mostly by feel: hold the 'x' key and see how fast different
OpenGL demos redraw. But also some ts probes and pm.

Here is the general outline: OpenGL in j504 Win works
very well. j504 Java worked worse. The main factor as
I thought lied in blting, but I now suspect that it
was also due to transport (cost of call times number of calls)
as well (although it may have been glcmd, it is still overhead).

OpenGL considerations:
 - using 3D hardware acceleration
 - destruction/recreation of OpenGL context for every single
   frame. Besides aren't lists supposed to be reused between
   frames? If yes, then it would be impossible when the context
   is recreated -- that I believe is the worst cause of performance
   problems now.

there are three bottlenecks in new OpenGL:

 - blting: is OK for Win for medium window size, for full screen
   it's more than 3 times lower, but is much 
   worse in Java possibly due to Java bridge
   (to test use full screen with simple model)

 - cost of call: this has been improved and looks like works
   event better than in j504. To test:

j504:
   ts'glVertex 10000 4$2'
0.00639187 263424
   ts'glVertex"1] 10000 4$2'
0.014151 263808

j601:
   ts'glVertex4d 10000 4$2'
0.00256122 328832
   ts'glVertex4d"1] 10000 4$2'
0.0165781 329408

 - not using lists (this I just discovered as new potential problem)
   It is very bad on vertex intensive models:
   x2-x4 slower from j504 (to test use small window with
   complex mode, eg Dini -- hold 'x' and count seconds of full flip).

Combined this amounts to up to x10 slower (full screen, complex model)
rendering around 1-few fps.

To work effectively, demo and other apps may benefit from
such procedure:
 - model is divided into two stages: setup (defines lists)
   and paint (transformations, etc and calls lists)
 - context is shared between frames, but there is a 'reset'
   function to clear between models.


I also found a reference:
Optimizing OpenGL Data Throughput on Mac OS X
http://developer.apple.com/graphicsimaging/opengl/optimizingdata.html

Where I learnt that there are vertex arrays (might be platform speciffic).
But it's on those models that contain huge amount of vetices that
may benefit.


--- Roger Hui <[EMAIL PROTECTED]> wrote:

> Has anyone done any benchmarks on the performance of OpenGL 
> in the J6.01 m beta?  (vs. OpenGL in J5.04, say).


__________________________________________________
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.com 
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to