Java-Gaming.org Hi !
Featured games (81)
games approved by the League of Dukes
Games in Showcase (513)
Games in Android Showcase (119)
games submitted by our members
Games in WIP (575)
games currently in development
News: Read the Java Gaming Resources, or peek at the official Java tutorials
 
    Home     Help   Search   Login   Register   
Pages: [1] 2
  ignore  |  Print  
  WebStart / Performance test  (Read 7239 times)
0 Members and 1 Guest are viewing this topic.
Offline Rob Nugent

Junior Duke




May contain nuts


« Posted 2004-12-23 07:07:29 »

Folks,

If anyone is bored enough, I wonder if you'd be good enough to try the following WebStart/performance test and let me know if it runs on your platform. It needs Java 1.5.0 and will run for exactly 2 minutes and then display a final performance figure in FPS. I'd be paticularly interested to see if it runs on Linux/Mac OK or anything with a 'lesser' video card - integrated Intel graphics etc.

( My Linux install suffers from the Web Start bug,
http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6195591 so I can't test this )

For reference, I see

Win2000, Athlon 1800+, GeForce FX5200, 78fps

Please don't resize the window if reporting performance numbers.

Here's the URL:

http://abraded.co.uk/jogl/kit2.jnlp

Some of you may recognize this as a port of my old Java3D app from some time back. If it fails to run, I'd appreciate any diagnostics from the WebStart console

Thanks
Rob
Offline Chman

Junior Duke




Nothing more that... Java games are cool !


« Reply #1 - Posted 2004-12-23 07:14:55 »

Runs perfectly here (WinXP, Java 1.5)...
But I only get 70 fps Huh

AMD3000+
Radeon 9800Pro
1Gb DDR

Chman
Offline Rob Nugent

Junior Duke




May contain nuts


« Reply #2 - Posted 2004-12-23 07:20:54 »

Chman - thanks for that.

I've seen my stuff run slower on ATI cards than NVidia before, and never quite worked out why. My figure was with VSYNC off, BTW.

Rob
Games published by our own members! Check 'em out!
Legends of Yore - The Casual Retro Roguelike
Offline Rob Nugent

Junior Duke




May contain nuts


« Reply #3 - Posted 2004-12-23 07:30:12 »

Quick screen shot to let you know roughly what to expect !

Offline nlmueng

Junior Duke





« Reply #4 - Posted 2004-12-23 11:43:33 »

Fails on my ATI Radeon 8500

Exception in thread "AWT-EventQueue-0" net.java.games.jogl.GLException: Method "glMultiDrawArrays" not available
     at net.java.games.jogl.impl.windows.WindowsGLImpl.glMultiDrawArrays(WindowsGLImpl.java:17954)
     at rob.sg.JOGLRenderer.drawTriangleStripArrayVBO(JOGLRenderer.java:394)
     at rob.sg.JOGLRenderer.drawTriangleStripArray(JOGLRenderer.java:243)
     at rob.sg.JOGLRenderer.drawGeometry(JOGLRenderer.java:229)
     at rob.sg.JOGLRenderer.drawShape(JOGLRenderer.java:204)
     at rob.sg.Renderer.renderBin(Renderer.java:128)
     at rob.sg.Renderer.render(Renderer.java:38)
     at rob.sg.SGCamera.frame(SGCamera.java:53)
     at rob.sg.JOGLCamera.display(JOGLCamera.java:128)
     at net.java.games.jogl.impl.GLDrawableHelper.display(GLDrawableHelper.java:74)
     at net.java.games.jogl.GLCanvas$DisplayAction.run(GLCanvas.java:221)
     at net.java.games.jogl.impl.GLContext.invokeGL(GLContext.java:287)
     at net.java.games.jogl.GLCanvas.displayImpl(GLCanvas.java:208)
     at net.java.games.jogl.GLCanvas.display(GLCanvas.java:75)
     at net.java.games.jogl.GLCanvas.paint(GLCanvas.java:82)
     at sun.awt.RepaintArea.paintComponent(Unknown Source)
     at sun.awt.RepaintArea.paint(Unknown Source)
     at sun.awt.windows.WComponentPeer.handleEvent(Unknown Source)
     at java.awt.Component.dispatchEventImpl(Unknown Source)
     at java.awt.Component.dispatchEvent(Unknown Source)
     at java.awt.EventQueue.dispatchEvent(Unknown Source)
     at java.awt.EventDispatchThread.pumpOneEventForHierarchy(Unknown Source)
     at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
     at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
     at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
     at java.awt.EventDispatchThread.run(Unknown Source)



Offline Rob Nugent

Junior Duke




May contain nuts


« Reply #5 - Posted 2004-12-23 12:00:33 »

nlmueng,

Thanks - this is the sort of thing I'm trying to find.

I thought I was checking for this as an extension - obviously not though !

Thanks again,
Rob
Online princec

JGO Kernel


Medals: 404
Projects: 3
Exp: 16 years


Eh? Who? What? ... Me?


« Reply #6 - Posted 2004-12-23 12:17:03 »

58fps, Gf2Go. Seems about right.

Cas Smiley

Offline Rob Nugent

Junior Duke




May contain nuts


« Reply #7 - Posted 2004-12-23 12:17:43 »

nlmueng,

I think I might have fixed this - I was assuming that anything that had vertex_buffer_object also had multi_draw_arrays.

Would you mind trying it again please ?

You should see either :

"Using MultiDrawArrays", or "NOT using MultiDrawArrays" in the java console output with the new version.

Thanks
Rob
Offline Rob Nugent

Junior Duke




May contain nuts


« Reply #8 - Posted 2004-12-23 12:20:40 »

Quote
 58fps, Gf2Go. Seems about right.


Cas - many thanks seems pretty good to me too.

Rob
Offline nlmueng

Junior Duke





« Reply #9 - Posted 2004-12-23 12:29:16 »

it says:

Using MultiDrawArrays

and i still get:

Exception in thread "AWT-EventQueue-0" net.java.games.jogl.GLException: Method "glMultiDrawArrays" not available
     at net.java.games.jogl.impl.windows.WindowsGLImpl.glMultiDrawArrays(WindowsGLImpl.java:17954)
     at rob.sg.JOGLRenderer.drawTriangleStripArrayVBO(JOGLRenderer.java:397)
     at rob.sg.JOGLRenderer.drawTriangleStripArray(JOGLRenderer.java:253)
     at rob.sg.JOGLRenderer.drawGeometry(JOGLRenderer.java:239)
     at rob.sg.JOGLRenderer.drawShape(JOGLRenderer.java:214)
     at rob.sg.Renderer.renderBin(Renderer.java:128)
     at rob.sg.Renderer.render(Renderer.java:38)
     at rob.sg.SGCamera.frame(SGCamera.java:53)
     at rob.sg.JOGLCamera.display(JOGLCamera.java:128)
     at net.java.games.jogl.impl.GLDrawableHelper.display(GLDrawableHelper.java:74)
     at net.java.games.jogl.GLCanvas$DisplayAction.run(GLCanvas.java:221)
     at net.java.games.jogl.impl.GLContext.invokeGL(GLContext.java:287)
     at net.java.games.jogl.GLCanvas.displayImpl(GLCanvas.java:208)
     at net.java.games.jogl.GLCanvas.display(GLCanvas.java:75)
     at net.java.games.jogl.GLCanvas.paint(GLCanvas.java:82)
     at sun.awt.RepaintArea.paintComponent(Unknown Source)
     at sun.awt.RepaintArea.paint(Unknown Source)
     at sun.awt.windows.WComponentPeer.handleEvent(Unknown Source)
     at java.awt.Component.dispatchEventImpl(Unknown Source)
     at java.awt.Component.dispatchEvent(Unknown Source)
     at java.awt.EventQueue.dispatchEvent(Unknown Source)
     at java.awt.EventDispatchThread.pumpOneEventForHierarchy(Unknown Source)
     at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
     at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
     at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
     at java.awt.EventDispatchThread.run(Unknown Source)


I have the latest ATI drivers
Games published by our own members! Check 'em out!
Legends of Yore - The Casual Retro Roguelike
Offline Rob Nugent

Junior Duke




May contain nuts


« Reply #10 - Posted 2004-12-23 12:41:24 »

nlmueng,

Thanks for trying this again - it leaves me puzzled however.

My code does:

1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
if (gl.isExtensionAvailable("GL_EXT_multi_draw_arrays")) {
            useMDA = true;
            System.out.println("Using MultiDrawArrays");
} else {
            useMDA = false;
            System.out.println("NOT using MultiDrawArrays");
}
...
if (useMDA) {
            gl.glMultiDrawArrays(
                gl.GL_TRIANGLE_STRIP,
                tsa.getStripOffsets(),
                stripVertexCounts,
                stripVertexCounts.length);
}


You are seeing the *first* 'println' which leaves me baffled as to why the call the glMultiDrawArrays (Which is indeed line 397) is getting this exception given the test for the extension passed.

Can anyone spead any light on this ?

Puzzled,
Rob
Offline Rob Nugent

Junior Duke




May contain nuts


« Reply #11 - Posted 2004-12-23 12:46:28 »

Ahh - maybe the call should be to glMultiDrawArraysEXT

Can you try it now ?

Thanks
Rob
Offline nlmueng

Junior Duke





« Reply #12 - Posted 2004-12-23 12:58:21 »

It worked,

70.747025fps
P4 3.0
1 GB ram
ATI Radeon 8500
Offline Rob Nugent

Junior Duke




May contain nuts


« Reply #13 - Posted 2004-12-23 13:43:24 »

Quote
It worked


Great - thanks for bearing with me on this.

Rob
Online princec

JGO Kernel


Medals: 404
Projects: 3
Exp: 16 years


Eh? Who? What? ... Me?


« Reply #14 - Posted 2004-12-23 14:18:20 »

A trick I did was to create a wrapper GL class that delegated calls to the appropriate method depending on the available extensions / GL version. E.g. glDrawRangeElements calls either glDrawRangeElementsEXT or glDrawRangeElements as appropriate. And vice-versa. Saves me from making this kind of slip-up, which otherwise afflicts me often.

Cas Smiley

Offline Rob Nugent

Junior Duke




May contain nuts


« Reply #15 - Posted 2004-12-23 14:33:54 »

Cas,

This sounds a nice idea.

(Unfortunately in this particular case, it was my incompetence rather than carelessness that caused this, however your suggestion sounds good)

Rob
Offline Ken Russell

JGO Coder




Java games rock!


« Reply #16 - Posted 2004-12-23 16:18:15 »

Demo runs smoothly on an NVidia Quadro FX Go700 (mobile chip) with 67.42 drivers. However, it looks like none of the textures are showing up. The polygons are smoothly shaded in shades of white, gray, and some tan areas for the lawns.
Offline Rob Nugent

Junior Duke




May contain nuts


« Reply #17 - Posted 2004-12-24 16:53:49 »

Ken,

Thanks - I suspect my texture compression code is the most likely suspect - I'll investigate after the holiday.

Thanks again.
Rob
Offline puf

Senior Newbie




Java games rock!


« Reply #18 - Posted 2004-12-27 04:42:42 »

Just ran it at the office to see what it does here. The results are not pretty:
Win2003, P4 2.4GHz, Intel Extreme driver version 6.13.1.3259, 3.1fps
Offline cyberyoyo

Junior Duke




Java games funk


« Reply #19 - Posted 2004-12-28 21:24:56 »

Hi,
I just ran it with the following config:
-amd Athlon 2600+
-win98
-GeForce4 ti4200

I get 82.557 FPS

It doesn't run fullscreen, only windowed,is that normal?
Offline Rob Nugent

Junior Duke




May contain nuts


« Reply #20 - Posted 2004-12-30 06:01:15 »

Quote
Just ran it at the office to see what it does here. The results are not pretty:
Win2003, P4 2.4GHz, Intel Extreme driver version 6.13.1.3259, 3.1fps  


puf - thanks for that. I understand the poor performance, as the infrastructure wil drop back to naive rendering if VBOs are not available. When you say things were 'not pretty' does this mean that the image quality looked like if was corrupted also, or was it just the speed that was the issue ?

Rob
Offline Rob Nugent

Junior Duke




May contain nuts


« Reply #21 - Posted 2004-12-30 06:04:15 »

Quote
It doesn't run fullscreen, only windowed, is that normal?


Yes - personally I don't much like full screen exclusive mode for the applications I'm playing with.

Thanks for the figures,
Rob
Offline puf

Senior Newbie




Java games rock!


« Reply #22 - Posted 2004-12-30 06:14:13 »

Rob, I actually meant that the performance was not pretty. The rendering result itself looks ok.

Yesterday I did some further investigation as to why performance would be this bad and found out that on Windows 2003 Server it uses software rendering by default. That probably explain the crappy performance I've been getting.

I switched video rendering to using full hardware acceleration and most apps now perform much better.

With your kit2 app however, I only see the initial frame being rendered. After that the image remains static, even though the status bar keeps getting updated. The figures in the status bar now actually show more reasonable performance (26fps). But it would be nice if I could actually see some of those frames being rendered. :-/
Offline Rob Nugent

Junior Duke




May contain nuts


« Reply #23 - Posted 2004-12-30 07:20:27 »

puf,

Thanks for the update - unfortunately I'm baffled by the lack of anything other than the first frame. The fact that the status bar is getting updated indicates that I'm in my normal rendering loop, and think that I'm rendering frames OK.

Puzzled,
Rob
Offline Rob Nugent

Junior Duke




May contain nuts


« Reply #24 - Posted 2004-12-30 07:26:53 »

Ken Russell wrote:

Quote
Demo runs smoothly on an NVidia Quadro FX Go700 (mobile chip) with 67.42 drivers. However, it looks like none of the textures are showing up. The polygons are smoothly shaded in shades of white, gray, and some tan areas for the lawns.


Ken - I'm hoping that I might have fixed this problem. I was checking GL_ARB_texture_compression but using GL_COMPRESSED_RGB_S3TC_DXT1_EXT. I'm now checking both GL_ARB_texture_compression and GL_EXT_texture_compression_s3tc and hopefully setting the texture internal format appropriately. If you've got time to give this another go, I'd appreciate it.

You should now see a number of printlns on the Java console saying which iformat is being used.

Rob
Offline puf

Senior Newbie




Java games rock!


« Reply #25 - Posted 2005-01-03 04:29:27 »

Quote
unfortunately I'm baffled by the lack of anything other than the first frame. The fact that the status bar is getting updated indicates that I'm in my normal rendering loop, and think that I'm rendering frames OK.


Well, there's a pretty good chance that it is something in my local settings. Running on a server edition of Windows is guaranteed to take you through all kinds of interesting option dialogs before you get you 3d apps working with any kind of frame rate. :-)
Offline Ken Russell

JGO Coder




Java games rock!


« Reply #26 - Posted 2005-01-03 19:30:56 »

Quote
I was checking GL_ARB_texture_compression but using GL_COMPRESSED_RGB_S3TC_DXT1_EXT. I'm now checking both GL_ARB_texture_compression and GL_EXT_texture_compression_s3tc and hopefully setting the texture internal format appropriately.


Unfortunately still no textures on my Quadro FX Go700. The new printlns report that GL_COMPRESSED_RGB_S3TC_DXT1_EXT compression is being used. The demo runs with textures on my Radeon 9800 (Catalyst version 4.9; I should upgrade) though slowly -- about 10 FPS when all of the geometry (in particular the houses) is in view, though it speeds up considerably if the camera is pointed up at the lights or down at the road.
Offline Rob Nugent

Junior Duke




May contain nuts


« Reply #27 - Posted 2005-01-04 06:26:27 »

Ken,

Thanks for the info. It leaves me puzzled I'm afraid, as I don't understand why your Quadro FX Go700 is behaving differently to my FX5200. I'm now pretty confident in my texture / texture compression code.

I also don't quite understand why things are so slow on your Radeon unless it is the drivers, given that chman reported 70fps on a similar card. I've enabled anisotropic filtering since this figure was reported, but I wouldn't expect that to account for such a difference.

Anyhow, this all just goes to prove that it's non-trivial to write an infrastructure that works well on more than one hardware configuration, which is what the point of starting this thread was, so it's all good information.

Thanks again,
Rob
Offline mlk

Junior Duke




Muppet!


« Reply #28 - Posted 2005-01-04 07:05:55 »

Win2K, C455, 128m, Voodoo 3 3000

net.java.games.jogl.GLException: Unable to enumerate pixel formats of window using wglGetPixelFormatAttribivARB: 0
     at net.java.games.jogl.impl.windows.WindowsGLContext.choosePixelFormatAndCreateContext(WindowsGLContext.java:412)
     at net.java.games.jogl.impl.windows.WindowsOnscreenGLContext.create(WindowsOnscreenGLContext.java:211)
     at net.java.games.jogl.impl.windows.WindowsGLContext.makeCurrent(WindowsGLContext.java:135)
     at net.java.games.jogl.impl.windows.WindowsOnscreenGLContext.makeCurrent(WindowsOnscreenGLContext.java:110)
     at net.java.games.jogl.impl.GLContext.invokeGL(GLContext.java:250)
     at net.java.games.jogl.GLCanvas.reshape(GLCanvas.java:112)
     at java.awt.Component.setBounds(Unknown Source)
     at java.awt.BorderLayout.layoutContainer(Unknown Source)
     at java.awt.Container.layout(Unknown Source)
     at java.awt.Container.doLayout(Unknown Source)
     at java.awt.Container.validateTree(Unknown Source)
     at java.awt.Container.validateTree(Unknown Source)
     at java.awt.Container.validateTree(Unknown Source)
     at java.awt.Container.validateTree(Unknown Source)
     at java.awt.Container.validateTree(Unknown Source)
     at java.awt.Container.validate(Unknown Source)
     at java.awt.Window.pack(Unknown Source)
     at rob.kit2.Start.go(Start.java:169)
     at rob.kit2.Start.main(Start.java:719)
     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
     at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
     at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
     at java.lang.reflect.Method.invoke(Unknown Source)
     at com.sun.javaws.Launcher.executeApplication(Unknown Source)
     at com.sun.javaws.Launcher.executeMainClass(Unknown Source)
     at com.sun.javaws.Launcher.continueLaunch(Unknown Source)
     at com.sun.javaws.Launcher.handleApplicationDesc(Unknown Source)
     at com.sun.javaws.Launcher.handleLaunchFile(Unknown Source)
     at com.sun.javaws.Launcher.run(Unknown Source)
     at java.lang.Thread.run(Unknown Source)

:-/

Offline Rob Nugent

Junior Duke




May contain nuts


« Reply #29 - Posted 2005-01-04 10:37:27 »

Ken Russell wrote:

Quote
Unfortunately still no textures on my Quadro FX Go700


Ken - I just tried running with Mustang (1.6.0-ea-b16) and get very similar symtoms to those you describe - grey houses, very little colour except in the lawns. My previous Mustang build was OK.

I've been running with 1.5.0-b64 which is OK - I'm about to try 1.5.0 update 1 - maybe that's what's causing it.

Rob
Pages: [1] 2
  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.

Longarmx (34 views)
2014-10-17 03:59:02

Norakomi (25 views)
2014-10-16 15:22:06

Norakomi (24 views)
2014-10-16 15:20:20

lcass (26 views)
2014-10-15 16:18:58

TehJavaDev (50 views)
2014-10-14 00:39:48

TehJavaDev (50 views)
2014-10-14 00:35:47

TehJavaDev (40 views)
2014-10-14 00:32:37

BurntPizza (63 views)
2014-10-11 23:24:42

BurntPizza (36 views)
2014-10-11 23:10:45

BurntPizza (74 views)
2014-10-11 22:30:10
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!