Java-Gaming.org    
Featured games (81)
games approved by the League of Dukes
Games in Showcase (499)
Games in Android Showcase (118)
games submitted by our members
Games in WIP (568)
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  
  Performance & Benchmarks  (Read 10848 times)
0 Members and 1 Guest are viewing this topic.
Offline Preston

Senior Member


Medals: 4



« Posted 2003-11-04 05:06:42 »

In the topic "About 3D Model Loaders" Java-Cool-Dude has posted some FPS numbers. These numbers have been based on his Quake3-Model loader, which animated the model and has been done in three implementations for Java3d, Xith3d and Jogl.

Say the FPS numbers would be avarage. Then Dude's FPS numbers look like this:
1  
2  
3  
Jogl   683 fsp: 100%
Xith3d 504 fps:  74%
Java3d 306 fps:  45%

I've to add that these numbers aren't comparable on a direct base. The way the Xith3d and the Jogl implementation work are different, and so on.

Also it's a basic task; add more complexity and the Jogl implementation's FPS will very probably approach the one of the Xith implementation. Like Kev said in another thread.
Offline kevglass

JGO Kernel


Medals: 172
Projects: 23
Exp: 18 years


Coder, Trainee Pixel Artist, Game Reviewer


« Reply #1 - Posted 2003-11-04 05:16:55 »

As Dude said in that thread, its not really valid to compare the JOGL version to the other two, since they're not implemented in the same manner.

A generic scenegraph (in general terms) will not be as fast as an custom application written directly against OpenGL. The scenegraph will always be performing some extra work through its nature.

Therefore I'm not sure how valid it is to benchmark Mr X's pure JOGL impl of anything against a Xith/Java3D version.

To be honest there was alot of time spent in Java3D threads trying to justify its existence when comparing performance to native OpenGL apps. I'm sure that in part this was what gave Java3D its bad performance name and contributed to the state its currently in.

Wouldn't it be best to let the applications written using Xith talk for themselfs in terms of performance. I realise this is going to be difficult initially, however Dude is doing good work in producing lots of demos and its seems there are at least a couple of projects on the go.

Reading back over this it sounds a bit crappy, I guess performance is a valid thing to be considering, maybe we just need to let it become the be all and end all.

Kev

Offline Preston

Senior Member


Medals: 4



« Reply #2 - Posted 2003-11-04 05:21:21 »

In the other mentioned topic Yuri wrote:
Quote
Short note regarding performance: Xith3D is not performance-optimized right now. Some of shaders are coded straight-forward, and some memory allocations have to be fixed, too. So I believe we can come much closer to plain JOGL performance.

From the other point, Xith3D shader optimization may provide big benefit on complicated scenes, where optimizations in JOGL will be not obvious.

This is a good note.
Is there already a date when the speed optimization will be started? Or is it too early to ask for such a thing.

I think this is a quite important topic, because one of the main differences between Java3d and Xith3d is and should be the execution speed.

For example currently I'm programing in my spare time a little 3d game based on Jogl. Well, I see that I re-invent the wheel several times because Xith3d does provide all of what I need and much more (hurray). Well, I thought maybe I could use Xith3d and join its user base. However this is only possible for me if my game type fits to the architecture of Xith3d and the performance of it will be roughly the one of a comparable Jogl implementation.

Well, of course the Xith3d project is "young" and there are so many other important tasks in the beginning. So my article's intended in a very "general speaking" way.


PS: Maybe there will be some notes about "performance hints" for Xith3d/Java3d including "do never do this" etc.
Games published by our own members! Check 'em out!
Legends of Yore - The Casual Retro Roguelike
Offline Preston

Senior Member


Medals: 4



« Reply #3 - Posted 2003-11-04 05:29:30 »

Quote
As Dude said in that thread, its not really valid to compare the JOGL version to the other two, since they're not implemented in the same manner.

Yes, this a good and important note and I am happy you say it again.
Unfortunately there are no other numbers yet to get a clue how these two APIs (Xith3d and Jogl) peform on a certain task. Well it's not really possible to compare a low level API like Jogl with a high(er) level API like Xith3d - just their output of a similar task can be compared...

Quote
A generic scenegraph (in general terms) will not be as fast as an custom application written directly against OpenGL. The scenegraph will always be performing some extra work through its nature.
(..)
To be honest there was alot of time spent in Java3D threads trying to justify its existence when comparing performance to native OpenGL apps. I'm sure that in part this was what gave Java3D its bad performance name and contributed to the state its currently in.

I see. My problem is that I don't know the Java3d API (well I saw its demos and how slow they've been - relatively. So it's not been that interesting for me.)

I like Jogl but the direct OpenGL way is pretty low level and I'm still unsure if I like this.

Quote
Wouldn't it be best to let the applications written using Xith talk for themselfs in terms of performance. I realise this is going to be difficult initially, however Dude is doing good work in producing lots of demos and its seems there are at least a couple of projects on the go.

Since Xith3d is intended as a gaming 3d API: what types of games are well suited for Xith3d and which are not? If it's possible at all to group. I know, yet there aren't to many finished ones. Maybe some people who use Xith3d for their games right now would like to comment? Thanks.

Would it be silly to use Xith3d for an action game comparable to http://www.pompom.org.uk/spacetripper.htm ? (Not concerning the gameplay, but rather the way how it's being done.)
Offline kevglass

JGO Kernel


Medals: 172
Projects: 23
Exp: 18 years


Coder, Trainee Pixel Artist, Game Reviewer


« Reply #4 - Posted 2003-11-04 05:52:37 »

From a short look at space tripper:

1) What spec would you be expecting to run your game on? They say any OpenGL card (no mention of memory or type). I'd be interested to see how well it ran on a Voodoo 2 Smiley

2) Technology wise, nothing really clever by the looks of it. Seems to be a good way to go at the moment, don't push the boundaries of 3D tech just do it simply but really really well (see Alien Flux)

3) Action Based - Looks like there are only a few enemies on the screen at at a time (<20) and the models looks pretty light on polygons (<100). Depends how many you're going to be pushing around.

If you just wanted to duplicate the game IMO it would be possible in Xith but as to whether you'd get good performance on old cards, I doubt it. By old I mean pre-GF series. You might be able to squeeze out an extra few FPS if you wrote it direct to JOGL but you'd spend quite a while (weeks) implementing stuff that Xith already has.

However, if its a hobby project (is it?), just do it in whatever suits you best.

Kev

Offline William Denniss

JGO Coder


Projects: 2


Fire at will


« Reply #5 - Posted 2003-11-04 06:15:45 »

Preston,

Those stats are far from hard evidance.  They are but one example.  Don't forget the project is only alpha, don't go basing any conclusions on that one test.

If you have the time to write directly to the lower layer then that is your choice. Hell if you are that concerned then you can always skip java, use C++ or even assembler.  Isn't it nice to have some insulation from those layers?  Personally I don't see any need to waste my time reinventing the wheel.

Comparing Xith3D to JOGL is not a true comparison anyway.  It's interesting - but you can't say "Xith3D is slow just because it isn't as fast as JOGL".  If you want to do an accurate survey then compare the Xith3D Scenegraph to other scenegraphs (Java and otherwise).

Looking at your stats another way you have:

1  
2  
Java3D: 306 fps:  100%
Xith3D: 504 fps: 164%


Basied on your stats (which as said I don't hold with a huge amount of credit as they are derived from but one demo, run on but one computer) Xith3D is 1.6 times faster than Java3D

Will.

Offline Preston

Senior Member


Medals: 4



« Reply #6 - Posted 2003-11-04 06:30:15 »

Hi Kev, thanks for your nice article.

Quote
From a short look at space tripper:

1) What spec would you be expecting to run your game on? They say any OpenGL card (no mention of memory or type).

Geforce (and comparable) and better should be OK. I mean right now I use a TNT2 so it should run on it, too, but the user base of such old cards is shrinking - luckily.

Quote
2) Technology wise, nothing really clever by the looks of it. Seems to be a good way to go at the moment, don't push the boundaries of 3D tech just do it simply but really really well (see Alien Flux)

Yes, Spacetripper is no Quake3-engine-type game but it does its job very well, like Alien-Flux, I think. Simple but addictive gameplay, done in a technically impressive way. That's the way to go (for independent devs).

Quote
3) Action Based - Looks like there are only a few enemies on the screen at at a time (<20) and the models looks pretty light on polygons (<100). Depends how many you're going to be pushing around.

I think they use more polys?
Anyway, my plan is to use about 100 3d models whith a total of 30 000 to 50 000 polygons (on older 3d cards I could decrease the number optionally). About half of these models will have (alpha-) transparent surfaces. So fast sorting is important, too. Xith3d does already support such alpha transparent surfaces according to some demos I've seen.

Quote
If you just wanted to duplicate the game IMO it would be possible in Xith but as to whether you'd get good performance on old cards, I doubt it. By old I mean pre-GF series. You might be able to squeeze out an extra few FPS if you wrote it direct to JOGL but you'd spend quite a while (weeks) implementing stuff that Xith already has.

I see. While I won't duplicate the gameplay I intend to do similar effects (also Alien Flux has such nice OpenGL effects). Like Spacetripper my game is bascially a 2D game idea but being done in 3d (with moveable camera etc).
Pre-GF 3d cards shouldn't be too important but it should run well on Geforce upwards.

Quote
However, if its a hobby project (is it?), just do it in whatever suits you best.

At the moment it's a hobby project but if it should become nice maybe I could release it as budget game. A friend of mine does the models/art (he's a professional 3d artist).
Offline Preston

Senior Member


Medals: 4



« Reply #7 - Posted 2003-11-04 06:52:20 »

Quote
Preston,
Those stats are far from hard evidance.  They are but one example.

Hi Will. You're absolutely right. Probably I didn't manage to emphasize enough on this fact (with my basic English knowledge), that these numbers are very "thin" to do any comparison at all.

Quote
Don't forget the project is only alpha, don't go basing any conclusions on that one test.

Yes, the project is very young and I think it's a good point to thank all you people who contribute to it. It looks very nice.

Still I need to have some kind of comparision in order to decide whether to go for Xith3d or "direct" Jogl. Probably I need patience because we'll see more numbers in the future and I'll have to learn about scenegraphs (as said, I don't know the Java3d API but just how to plot models/polygons via Jogl.)

Quote
If you have the time to write directly to the lower layer then that is your choice.

Well, I think I could have the time but ... First I am no good low level programmer (anymore) and second if possible I don't want to re-invent the wheel.

Quote
Hell if you are that concerned then you can always skip java, use C++ or even assembler.

I like Java. :-)
Also I am not concerned that Xith3d is slow by what it is performing. I am asking and writing here to find out if it's a good idea to do a game comparable to Spacetripper (in some way) with a scenegraph based engine like Xith3d is.

Quote
Isn't it nice to have some insulation from those layers?

Absolutley! This is why Xith3d looks so nice to me.

However, I don't know why Java3d has been so slow. When I saw some Java3d demos or showed them to some 3d artists, nobody has been impressed. Other than Jogl stuff, like its demos, or Wurm, or Alienflux (ok, no Jogl, but Ogl). Also the little Xith3d demos do look very nice.
So my impression currently is: you can do cool 3d graphics with Xith3d without the need to use low level Ogl API calls.

I am sorry that my direct comparision of the FPS numbers of a loaded and animated Quake3 model (in Jogl and Xith3d) caused confusion. These are no comparable tasks, indeed. Let's concentrate on real world games then.
Offline kevglass

JGO Kernel


Medals: 172
Projects: 23
Exp: 18 years


Coder, Trainee Pixel Artist, Game Reviewer


« Reply #8 - Posted 2003-11-04 06:55:09 »

Quote

At the moment it's a hobby project but if it should become nice until end of Q1/2004 I intend to release it as budget game. :-)  A friend of mine does the 3d models and art (he's a professional 3d artist).


Damn! You're so lucky to have a pet artist like that. Really hard to find. I'm thinking my 2D (in 3D) platformer is going to be my current project for a while but I get to rely on community art (which well being very nice) isn't tailorable. I wish there was somewhere hobby developers could get hold of hobby artists.

Anyway, good luck with the game..

Kev

Offline William Denniss

JGO Coder


Projects: 2


Fire at will


« Reply #9 - Posted 2003-11-04 07:15:12 »

Quote

Still I need to have some kind of comparision in order to decide whether to go for Xith3d or "direct" Jogl. Probably I need patience because we'll see more numbers in the future and I'll have to learn the of scenegraphs (as said, I don't know the Java3d API but just how to plot models/polygons via Jogl.)


Fair enough.  I think you should decide first whether you want to use a scenegraph or not.   If you do use a scenegraph, then your options currently in Java arn't many but Xith3D IMHO is a good candidate.

Essentailly it's a trade off between development time and performance.  I have used OpenGL (in the form of GL4Java) and Java3D/Xith3D - using a scenegraph is so much better to program with, the end result is a lot better because you can concentrate your work on making the game good.  Also being a standard API - there are heaps of tools out there and other people have a better chance of helping you.

For complex stuff (which that demo wasn't) a scenegraph can even increase performance sometimes by doing optomisations for you (without much intervention).

Will.

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

Senior Member


Medals: 4



« Reply #10 - Posted 2003-11-04 10:40:27 »

Quote

Damn! You're so lucky to have a pet artist like that. Really hard to find.

Oh yes.
On the other side it's difficult for a hobby 3d developer (3d newbie) to fulfill his expectations. Well, at work his colleagues use commercial engines so he wonders why it takes so long until my small Jogl app imports and renders his nice Lightwave models... ;-)

Quote
I'm thinking my 2D (in 3D) platformer is going to be my current project for a while but I get to rely on community art (which well being very nice) isn't tailorable. I wish there was somewhere hobby developers could get hold of hobby artists.

That would be fine, indeed.
Your project looks nice so far.

Quote
Anyway, good luck with the game..

Many thanks! Same applies to your project.
Offline Preston

Senior Member


Medals: 4



« Reply #11 - Posted 2003-11-04 10:45:59 »

Quote

Fair enough.  I think you should decide first whether you want to use a scenegraph or not.   If you do use a scenegraph, then your options currently in Java arn't many but Xith3D IMHO is a good candidate.

I'm reading the Xith3d tutorials and will look into some Java3d doc, too. If possible I'm going to use your nice engine.

Quote
I have used OpenGL (in the form of GL4Java) and Java3D/Xith3D - using a scenegraph is so much better to program with, the end result is a lot better because you can concentrate your work on making the game good.

That's the point, yes.

Quote
For complex stuff (which that demo wasn't) a scenegraph can even increase performance sometimes by doing optomisations for you (without much intervention).

That sounds very well.
Now I've to figure out if a (small) 3d action game fits nicely to a scenegraph renderer like Xith3d. For example like the mentioned budget game http://www.pompom.org.uk/spacetripper.htm
Offline Jens

Senior Member




Java for games!


« Reply #12 - Posted 2003-11-04 14:19:53 »

I don't have facts which show how good the performance of Xith3D is, but my personal opinion is the following:

You want the game to run on cards starting from GeForce 1 (about 4 years old) up to the current cards of ATI and GeForce. The current cards are about 3 to 10 times faster (depending on many factors) than a GeForce 1. The tradeoff between Jogl and Xith3D is an order of magnitude smaller (30%?). I think if there's no particular reason why you need Jogl, you can always use Xith3D.

Xith3D Getting Started Guide (PDF,HTML,Source)
Offline Yuri Vl. Gushchin

Senior Member




Speak Java!


« Reply #13 - Posted 2003-11-04 15:17:29 »

Quote
Is there already a date when the speed optimization will be started? Or is it too early to ask for such a thing.


I personally think that for now the major goal is to add functionality to Xith3D, so it is at least the same level [of functionality] as Java3D. Then we switch to agressive optimizations.

BTW, some people already started working on performance enhancements, so we have progress also in this area.

Regarding the performance question in general, I see major speed-ups on strategical engine desing, rather than on code fine-tuning [which does not mean we allowed to write poor code].

Now on performance tests. I think we should have as many tests as possible, at least to figure out the problematic points in design and implementation. This will help to enhance the entire engine, as well as write the performance tips, how-to's etc.

Yuri

Yuri Vl. Gushchin
JProof Group
Offline Kevdog

Junior Member





« Reply #14 - Posted 2003-11-04 17:29:30 »

Unless you are going to have a lot of free time to work on your project I'd definitely say to go with Xith3D.  You'll get a lot more done in less time.  If you have perf problems, you can then profile your program and take time to optimize any problem areas.  Probably by the time you are getting near to being done with it, Xith3D will be much more mature and optimized anyway Cheesy

There are only 10 types of people, those who understand binary and those who don't!
Offline Java Cool Dude

Senior Member




Java forever


« Reply #15 - Posted 2003-11-04 17:31:14 »

Lemmie write a real benchmark...
Brb
Offline Preston

Senior Member


Medals: 4



« Reply #16 - Posted 2003-11-05 03:30:57 »

Quote
(..) The current cards are about 3 to 10 times faster (depending on many factors) than a GeForce 1. The tradeoff between Jogl and Xith3D is an order of magnitude smaller (30%?).

Good hint.
Offline Preston

Senior Member


Medals: 4



« Reply #17 - Posted 2003-11-05 03:38:00 »

Quote

I personally think that for now the major goal is to add functionality to Xith3D, so it is at least the same level [of functionality] as Java3D. Then we switch to agressive optimizations.

A very reasonably roadmap.

Quote
BTW, some people already started working on performance enhancements, so we have progress also in this area.

Excellent, too.

Quote
Now on performance tests. I think we should have as many tests as possible, at least to figure out the problematic points in design and implementation. This will help to enhance the entire engine, as well as write the performance tips, how-to's etc.

Yes.

The more I learn about Xith3d the more it looks interesting to me. Thanks Yuri, David, Jens, William and all fellow developers and helpers for your work and in particular the helpful articles here in the forum.
Offline Preston

Senior Member


Medals: 4



« Reply #18 - Posted 2003-11-05 03:39:58 »

Quote
Unless you are going to have a lot of free time to work on your project I'd definitely say to go with Xith3D.  You'll get a lot more done in less time.  If you have perf problems, you can then profile your program and take time to optimize any problem areas.  Probably by the time you are getting near to being done with it, Xith3D will be much more mature and optimized anyway :D

Also a good point. (Many very good points during the last few days here, :-).
Open-Source impresses me.
Offline Java Cool Dude

Senior Member




Java forever


« Reply #19 - Posted 2003-11-05 10:28:09 »

Yay I'm finally done, all mah work babeh Grin



Lemmie talk to BMyers if I can post the source and write a tutorial about it Tongue
Offline Preston

Senior Member


Medals: 4



« Reply #20 - Posted 2003-11-07 17:03:56 »

Although I'm learning slowly how to use Xith3d (because I am a 3d beginner and it's the first 3d Engine I've the pleasure to use) it's pretty thrilling and looks very nice to me.

I've read the interesting notes about performance and the "road map" and this sounds very good, like I said.

On a PC with AMD XP 2500+ and GF4 TI4200 I've run the java com.xith3d.test.CubeTest (cool idea, btw, to include such basic tests directly into the main Xith3d library jar.)
It says (it's a 640x480 window I think) :
 done frame speed test at 80 fps
 there are 3492 triangles in scene
 rendering 279360 triangles/sec
   Num frames = 2000
   Delta ms = 25

So currently I get about ~280k polygons per second on a high end machine (painted via ~300 cubes with 6 sides with 2 triangles each). Addendum: this isn't comparable to real world examples I learned.

I'd like to program a 3d action game. My friend, a graphic artist, plans to use up to 50k polygons on screen. With the current Xith3d Cube test as a very (!) rough indication this would mean I would see about 5.6 frames per second (fps) ?
(Provided my game used a similar scenegraph like the Cubetest, and of course it's still a very rough comparison because a game needs more than a Cubetest. Also "polygon" isn't a good measure; however let's say my intended 50k polygons are comparable in size and texturing to the Xith-Cubetest.)

I learned that Xith3d will be speed optimized by the time (and even if you would use the "direct" OpenGL way via Jogl it would be roughly the same or even better with Xith3d for complex scenes).

My friend intends to go for about ~50 fps for a 50k polygon scene on the above mentioned PC. Is his expectation a realistic goal which I could fulfil with Java (Xith3d) - or do I have a problem? I don't mean a problem with Xith3d or Jogl. Rather: is it possible at all to render 50k polygons with 50++ fps with an OpenGL based Java 3d engine, or is this data too much?
Offline DavidYazel

Junior Member




Java games rock!


« Reply #21 - Posted 2003-11-07 18:14:14 »

Magicosm runs often at 50 fps at 50k polygons.  There are other factors of course than just shear triangles.  Sometimes I have a 35k scene rendering at 42 fps on a Geforce 4600 TI

David Yazel
Xith3D Project Founder
http://xith3d.dev.java.net

It may look complicated, but in the end it is just a bunch of triangles
Offline Jeff

JGO Coder




Got any cats?


« Reply #22 - Posted 2003-11-07 19:10:30 »

Quote

On a PC with AMD XP 2500+ and GF4 TI4200 I've run the java com.xith3d.test.CubeTest


**sigh** And that was your first mistake.

Rule #1 of Microbenchmarks, know what you are measuring and how it does and doesn't compare to the real world of applciations.

In the Cube demo (or any pure poly-pushing test like this) you are paying the overhead of the scene-graph with NONE of the benefits.

(1) All your world-polys are  onscreen at once in the cube, the same I would assume will NOT be true of your game.  Xith (or Java3D) will provide optimized view-frustrum culling so you AREN'T wasting main CPU or card fill-rate on those non-visible polys in a real app.

(2) Xith (and Java3D) do state sorting. This is because  THE most expensive real-world operation on your video card is switching the draw state.  This is unused  in your trivial cube but is VITAL to good performance  in the real world.

Microbenchmarks measure a systems ability to run microbenchmarks.  They do NOT generally reflect how real apps operate and thus how they perform.

Got a question about Java and game programming?  Just new to the Java Game Development Community?  Try my FAQ.  Its likely you'll learn something!

http://wiki.java.net/bin/view/Games/JeffFAQ
Offline Orangy Tang

JGO Kernel


Medals: 56
Projects: 11


Monkey for a head


« Reply #23 - Posted 2003-11-07 23:01:56 »

Quote

My friend expects at ~50 fps for a 50k polygon scene on the above mentioned PC. Is his expectation a realistic goal which I could fulfil with Java (Xith3d) - or do I have a problem? I don't mean a problem with Xith3d or Jogl. Rather: is it possible at all to render 50k polygons with 50++ fps with Java and OpenGL, or is this data too much to be shifted?


PS: How many polygons per second does Alien-Flux draw, roughly counted? :-)

Polys per second is practically an outdated term, in the same way that cpu cycles per second is fast becomming irrelevant.

You could push the same number of polys through the Unreal engine with static lightmapping or the Doom3 engine with dynamic shadow volumes and DOT3 lighting, the performance of the Doom3 engine would almost certainly suffer, but you could achieve better effects with less polys.

Perhaps more to the point: with a good graphics card the actual thoughput will be dependant on the card, not the language. API overhead in calling draw commands should be absolutly minimal (unless you're using something silly like immediate mode). The choice of Jogl vs. Xith is more tricky - generality comes at the expense of (runtime) speed, but is this a suitable tradeoff for getting fast development and a clean design you don't have to hack around when requirements change?

Btw, you comment about Alien Flux further highlights the irrelevance of polys-per-second. I'd estimate that it pushes at max 1k polys a frame, and probably under 100 if you removed all the particle effects.

[ TriangularPixels.com - Play Growth Spurt, Rescue Squad and Snowman Village ] [ Rebirth - game resource library ]
Offline Preston

Senior Member


Medals: 4



« Reply #24 - Posted 2003-11-08 03:07:49 »

Quote
Magicosm runs often at 50 fps at 50k polygons.  There are other factors of course than just shear triangles.  Sometimes I have a 35k scene rendering at 42 fps on a Geforce 4600 TI

Thanks for this real world examples, David. That's what I've been looking for.

What processor does your mentioned GF4 machine have got, please?
Offline Preston

Senior Member


Medals: 4



« Reply #25 - Posted 2003-11-08 03:23:13 »

Quote

Rule #1 of Microbenchmarks, know what you are measuring and how it does and doesn't compare to the real world of applciations.

We 3d newbies give you 3d experts a hard "job". :)  Thanks to all of you for replying so many times in the forum and talking about Java and 3d details.

In this thread I've been "just" interested in some real world figures on how many polys I could allow may friend (the mentioned artist) to use for our small game. Since I didn't have figures I took a simple CubeTest. This doesn't say much, I see.

Quote
(1) All your world-polys are  onscreen at once in the cube, the same I would assume will NOT be true of your game. Xith (or Java3D) will provide optimized view-frustrum culling so you AREN'T wasting main CPU or card fill-rate on those non-visible polys in a real app.

In my intended game you'll usually see the whole scene with up to 50k polygons at once on screen. Of course frustum culling will make it faster when the player zooms in to certain areas, but this will be special cases. Only for this game; I know many (or most) other games will profit very much from frustum culling.
Btw "my" artist told me that at work place he's been creating models and scenes with up to 100k polygons on screen at once for their current game project. Their (commercial) engine renders this with 60+ fps (on a comparable GF4-PC) he said. Please don't take this as comparision for anything.

Quote
(2) Xith (and Java3D) do state sorting. This is because  THE most expensive real-world operation on your video card is switching the draw state.  This is unused  in your trivial cube but is VITAL to good performance  in the real world.

I see. I've to read more about draw states.

Quote
Microbenchmarks measure a systems ability to run microbenchmarks.  They do NOT generally reflect how real apps operate and thus how they perform.

Yes. Again I've to add that I've not been interested in microbenchmarks but "just any" figure available. Since I didn't find any figures I've incorrectly used the CubeTest (because it was there, I think).
Offline Preston

Senior Member


Medals: 4



« Reply #26 - Posted 2003-11-08 03:28:12 »

Quote
The choice of Jogl vs. Xith is more tricky - generality comes at the expense of (runtime) speed, but is this a suitable tradeoff for getting fast development and a clean design you don't have to hack around when requirements change?

Absolutely. I'm already convinced that it's a good idea to use a nice higher level engine like Xith3d (compared to the low level OpenGL way for example.)

Quote
Btw, you comment about Alien Flux further highlights the irrelevance of polys-per-second. I'd estimate that it pushes at max 1k polys a frame, and probably under 100 if you removed all the particle effects.

I see. Let's forget about that comment then. I'll edit it.
Offline DavidYazel

Junior Member




Java games rock!


« Reply #27 - Posted 2003-11-08 04:27:05 »

Just wanted to weigh in regarding performance of Xith3d.  I tweaked a few things to increase polygon density in a scene and took a snapshot.  This scene is rendering 162K polygons a frame at 28 FPS at 1200x1000.  Even this is not technically "real world" because "heavy polygon" models will render extremely fast.  In other words even your friends commercial engine would be hard pressed to render 162 objects of 1k each, especially if they had different textures.  In this scene I upped the tesselation level of objects (which of course is foolish to do normally) so that the ground and avatar and shield is rendering with a lot more polygons than is necessary.

http://www.magicosm.net/screenshots/cosm1167.jpg

Keep in mind that Xith3D has not been as optimized for performance as it will be in the future.

One other thing to keep in mind is that if you are starting a project now, it will probably be at least a year until you actually statr caring about performance.  In other words for a new game you have a tremendous amount of work to do which is unrelated to the rendering engine itself.  It is doubtful the rendering engine would be your bottleneck for many months to come.  By that time Xith3D will be mature and ready to go head to head with those commercial engines out there.

Darn look like our website is down!  well you can check the screenshot when it is back up.

David Yazel
Xith3D Project Founder
http://xith3d.dev.java.net

It may look complicated, but in the end it is just a bunch of triangles
Offline Preston

Senior Member


Medals: 4



« Reply #28 - Posted 2003-11-08 05:53:45 »

Quote
Just wanted to weigh in regarding performance of Xith3d.  I tweaked a few things to increase polygon density in a scene and took a snapshot.  This scene is rendering 162K polygons a frame at 28 FPS at 1200x1000.  Even this is not technically "real world" because "heavy polygon" models will render extremely fast.  In other words even your friends commercial engine would be hard pressed to render 162 objects of 1k each, especially if they had different textures.

Thanks for your weigh in. Reads very will and it gives me good confidence for my small project. :-)
Btw my friend intends to create about 100 objects with a total of 50k polygons. Around 50% of these objects will have got alpha transparency too (so I'll use Xith's internal sorting for such transparency objects a lot).

Quote
Keep in mind that Xith3D has not been as optimized for performance as it will be in the future.

Yes I learned this already. Yuri (and others) explained that niceley some days ago.

Quote
One other thing to keep in mind is that if you are starting a project now, it will probably be at least a year until you actually statr caring about performance. In other words for a new game you have a tremendous amount of work to do which is unrelated to the rendering engine itself.  It is doubtful the rendering engine would be your bottleneck for many months to come.

Absolutely.
My game will start as a hobby project with an aimed shedule of half a year. Well, we'll see. "It's done when it's finished" comes to my mind.

Quote
By that time Xith3D will be mature and ready to go head to head with those commercial engines out there.

Sounds pretty good. It's like David versus Goliath. And we all know David won. ;-)


PS: The snapshot I'll have a look at when the server's ready.
Offline DavidYazel

Junior Member




Java games rock!


« Reply #29 - Posted 2003-11-08 16:30:24 »

Ok the screenshot is up.

David Yazel
Xith3D Project Founder
http://xith3d.dev.java.net

It may look complicated, but in the end it is just a bunch of triangles
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.

Pippogeek (39 views)
2014-09-24 16:13:29

Pippogeek (30 views)
2014-09-24 16:12:22

Pippogeek (20 views)
2014-09-24 16:12:06

Grunnt (46 views)
2014-09-23 14:38:19

radar3301 (28 views)
2014-09-21 23:33:17

BurntPizza (64 views)
2014-09-21 02:42:18

BurntPizza (36 views)
2014-09-21 01:30:30

moogie (42 views)
2014-09-21 00:26:15

UprightPath (51 views)
2014-09-20 20:14:06

BurntPizza (54 views)
2014-09-19 03:14:18
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

List of Learning Resources
by SilverTiger
2014-07-31 11:54:12

HotSpot Options
by dleskov
2014-07-08 01:59:08
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!