Java-Gaming.org Hi !
Featured games (83)
games approved by the League of Dukes
Games in Showcase (527)
Games in Android Showcase (127)
games submitted by our members
Games in WIP (594)
games currently in development
News: Read the Java Gaming Resources, or peek at the official Java tutorials
 
    Home     Help   Search   Login   Register   
Pages: [1]
  ignore  |  Print  
  [Newbie] Java2D OpenGL Pipeline + JOGL: no visible performance difference  (Read 986 times)
0 Members and 1 Guest are viewing this topic.
Offline pixelhead

Junior Newbie





« Posted 2008-02-04 23:30:01 »

Hi -

I'm a newbie just getting into JOGL. I'm evaluating it to see if it fits in with our application needs (high performance 2D and 3D rendering; mainly images). I've downloaded the JOGL demos and gave them a try. I'm particularly interested in the JOGL + Swing interoperability. I've run the JRefract demo with and without the accelerated OpenGL pipeline. For the Gears demo, I don't see any frame rate difference (~40fps).

OS: Windows XP
Gfx card: nvidia 8800 GTX
Driver: Forceware 169.09
JRE: jre6

java cmd line options: -Dsun.java2d.opengl=true -Dsun.java2d.noddraw=false -Dsun.java2d.opengl.fbobject=false

My questions:
1) With hardware acceleration on, I would have expected a huge jump in FPS for the Gears demo (the standalone JGears demo runs at 300 fps). Am I doing something wrong or is the expected behavior of Swing + JOGL? So if you combine Swing and JOGL, does Swing limit the frame rate at which the JOGL portion can run?

2) With the OpenGL pipeline enabled, for the Gears demo, the front faces of the gears are missing (looks like normals are inverted). Without the pipeline, it looks fine. Is this possible a driver problem?

3) Since our app is more image based, is JOGL recommended or is Java2D more appropriate? (I'm an OpenGL programmer so JOGL would be easier). How does Java2D image rendering compare to JOGL?

Thanks very much,
Daren


Offline Saxer

Junior Devvie





« Reply #1 - Posted 2008-02-05 08:33:35 »

I think the Gears demo uses GLCanvas so there shouldn't be a significant performance gain. Unfortunately I cant' look in the code right now.

With my Geforce 8800 GTS I always get black-artifacts in JRefract and XTrans. Did you experience any similar problems? Maybe I should give the 169.09 driver a try. Which exactly Java version do you use?

Update: Today I got a notebook with an ATI Radeon 2600 HD. The mentioned demos run significant better (concerning thoe artifacts) but there are still few block regions left.

Greets
Klemens
Offline pixelhead

Junior Newbie





« Reply #2 - Posted 2008-02-05 17:32:52 »

Hi Klemens,

Ah, thanks for the info about Gears and GLCanvas. So the Java2D OpenGL pipeline only effects GLJPanel? I still understand why in standalone for Gears I get 300fps but inside JRefract I only get 40fps. Does Swing turn on vsync or something similar?

With my Geforce 8800 GTS I always get black-artifacts in JRefract and XTrans. Did you experience any similar problems? Maybe I should give the 169.09 driver a try. Which exactly Java version do you use?

Update: Today I got a notebook with an ATI Radeon 2600 HD. The mentioned demos run significant better (concerning thoe artifacts) but there are still few block regions left.

The only artifacts I see with the OpenGL pipeline enabled is the inverted normals problem (front faces of gears not rendering). FYI, I had to use -Dsun.java2d.opengl.fboject=false to get anything to render at all. Without this flag, I just get a blank black window.

As for the java version:
java version "1.6.0_10-ea"
Java(TM) SE Runtime Environment (build 1.6.0_10-ea-b09)
Java HotSpot(TM) Client VM (build 11.0-b09, mixed mode, sharing)


Best,
Daren
Games published by our own members! Check 'em out!
Legends of Yore - The Casual Retro Roguelike
Offline Saxer

Junior Devvie





« Reply #3 - Posted 2008-02-05 18:02:26 »

I don't think the problem comes from vsync. With GLJPanel alle the 3d content gets composed with the underlying swing contents. That has only to be done if you want to mix up or overlay your 3d-content with swing-contents (uses in JLayeredpane, use of leightweight tooltips, ...). The pipeline accelerates this process. The fastest codepath I know is the one which uses FBO's. So that's the first indicator for the missing performance-gain (PBuffers are used instead).
Pages: [1]
  ignore  |  Print  
 
 
You cannot reply to this message, because it is very, very old.

 

Add your game by posting it in the WIP section,
or publish it in Showcase.

The first screenshot will be displayed as a thumbnail.

PocketCrafter7 (14 views)
2014-11-28 16:25:35

PocketCrafter7 (10 views)
2014-11-28 16:25:09

PocketCrafter7 (11 views)
2014-11-28 16:24:29

toopeicgaming1999 (76 views)
2014-11-26 15:22:04

toopeicgaming1999 (67 views)
2014-11-26 15:20:36

toopeicgaming1999 (17 views)
2014-11-26 15:20:08

SHC (30 views)
2014-11-25 12:00:59

SHC (28 views)
2014-11-25 11:53:45

Norakomi (32 views)
2014-11-25 11:26:43

Gibbo3771 (28 views)
2014-11-24 19:59:16
Understanding relations between setOrigin, setScale and setPosition in libGdx
by mbabuskov
2014-10-09 22:35:00

Definite guide to supporting multiple device resolutions on Android (2014)
by mbabuskov
2014-10-02 22:36:02

List of Learning Resources
by Longor1996
2014-08-16 10:40:00

List of Learning Resources
by SilverTiger
2014-08-05 19:33:27

Resources for WIP games
by CogWheelz
2014-08-01 16:20:17

Resources for WIP games
by CogWheelz
2014-08-01 16:19:50

List of Learning Resources
by SilverTiger
2014-07-31 16:29:50

List of Learning Resources
by SilverTiger
2014-07-31 16:26:06
java-gaming.org is not responsible for the content posted by its members, including references to external websites, and other references that may or may not have a relation with our primarily gaming and game production oriented community. inquiries and complaints can be sent via email to the info‑account of the company managing the website of java‑gaming.org
Powered by MySQL Powered by PHP Powered by SMF 1.1.18 | SMF © 2013, Simple Machines | Managed by Enhanced Four Valid XHTML 1.0! Valid CSS!