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 (567)
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 3 [4]
  ignore  |  Print  
  Physics performance challenge to J.Kesselman...  (Read 18343 times)
0 Members and 1 Guest are viewing this topic.
Offline andyl

Senior Newbie




Java games rock!


« Reply #90 - Posted 2004-04-19 19:37:09 »

Quote
Nothing light the day as much as a nice flame war.

andyl

You reminds me of a uni student that is 2 month - 2 years out of school. A lot of absolute terms, a lot of talking about expensive tools and speed. I didn't notice such demands from other game developers.
You didn't answer me, what do you mean by physic  engine? -_-
Do you actually mean a World engine?

Do you know the macro assembler? It's more safe than inlining and more efficient. It forces you split your code to different parts, not just add inlining to some points. Have you looked at your code after few years? Still readable?
Yes it will do it somehow, so you should stop worry and...
How it would work on an AMD? (or 64 bit, or 128 bit)


Best idea would be, if you need graphic engine equal to Havok2, write it down. It might benefit you and the community well. Or perhaps some nice collision library would be better. (Moving points in 3D space are already done.)



Nothing personal, I didn't understand your questions, and the stuff above is just plain random. I meant inlined as in the interpetation all C++ programmers assume, i.e. as in inlined C++ methods. And although the challenge was simple, you expect me to write rules that tell you how to implement Havok?  Shocked

... Hey, I've got a better idea - why don't you call Havok up yourself and see if they'll open-source it to the community  Smiley
Offline dleskov

Senior Member


Medals: 10



« Reply #91 - Posted 2004-04-20 03:02:37 »

Quote
While you guys are bandying about how best to generate and visualize physics ( a much abused term if I may say so ) people in other domains are doing some fancy things with Java to test Java's number crunching ability to the fullest. Check out this link from my app.:
http://www.freewebs.com/matspring/ptrackone.htm
Will have to warn you that those pics are a little too big.

We plan to implement support for SSE2, etc. in future versions of our compiler and we would love to play with such a real-life Java number cruncher application then. If it is not going to be freely available, would it still be possible for us to get a copy?

Offline swpalmer

JGO Coder


Exp: 12 years


Where's the Kaboom?


« Reply #92 - Posted 2004-04-20 03:30:39 »

Quote
So which 'facts' do I choose to believe, and which do I reject Huh

You hang around for a while and get a feel for different people's perspectives on things and try to use your best judgment.   Neither Jeff nor the rest of the GTG are trying to deceive as far as I can tell.

Quote
Even if 'most games' were referring to AAA titles, 9/10 of those make a loss when they go to market. We have to aim higher than that if we want a return on the development costs.

I'm not sure what part of my post this was relevant to, other than to say this is a good argument for using higher level languages and tools.  I.e. Java.


Quote
Intel C++ will vectorise your code using SIMD and prefetching for you- no hand coding required.

Sure, but Jeff nor I, or anyone that I know of has stated that Java beats any particular compiler or even that it is on par with any particular compiler.  As you stated yourself Intel's compiler creams Microsofts and MSVC 7 beats MSVC 6...  though MSVC 6 is still widely used as is GCC on non-MS platforms.. so I don't see why it should be discounted entirely.  The argument was about languages in general.. We know that compiler technology effects the overall speed as much as CPU speed in some cases.  The mere fact that Java technology is so much younger than C/C++ technology is perhaps reason to remain optimistic that Java will get better still.

Re: my belief that C/C++ would win your contest:
Quote
I'm interested to hear why you think this - is it that you think it will involve lots of unordered array access or something else?

Many factors. One is that you set the margin of error far too narrow.  Given that we still see far greater than 0.5% variance within relatively modern C/C++ compilers, why would you expect less than that between C/C++ and Java??  It makes no sense.  Bounds checking is an issue, the C version won't have the safety net that it offers and it also wont have the cost associated with it.  I think it is unlikely that this style of program would be a candidate for enough bounds checks to be eliminated such that it wouldn't be a factor in slowing down the Java a bit. Given the 0.5% margin you offer.. I think it is way out... I would gladly pay a mere 0.5% for the safety of the bounds checks.  Another factor is the applicability of vector instructions to the problem.  Which I think the latest greatest Intel compiler will take better advantage of at this stage.

Quote
But I can add a little inlined assembler in a few seconds, to the points that bottleneck my code. In JNI things have to be planned long before you know if you are optimising prematurely (a bad thing), otherwise it requires a huge amount of re-working the code afterwards, at which point you have lost one of the major selling points of Java: speed of development.


I get from the above that Java enforces better design practices.  Which I extrapolate to a savings in development time for a complex project.  (This test is far to small to realize significant savings at that level.)
Of course Java has much better tools for re-working code anyway.  The optimization pass may cost more in Java than it will in C/C++ I do not deny that.  But I think that the other aspects of Java will have saved you more than the difference.

Quote
But in my case I have found when you have optimised all of the rest of the Java code, profiling shows the majority of the time is spent in the vector and matrix classes, and you can't optimise just these classes using JNI (as you point out below). The big limitation with JNI is it is not a fine-grained optimisation method, and this is why other vendors have tried and generally failed with things like JDirect (which Sun put a stop to) and CNI.

There is some truth to this. A comparison of just these feature with a variety of C/C++ compliers and Java VMs would be interesting and educational I think.

Quote
C++ compiler performance is still improving in leaps and bounds, so Java is chasing a moving target...

Improving for sure, but which is improving faster Java or C/C++?  I think Java has more momentum at this point.

Quote
Who said I was a C programmer?

not me. Huh  I was referning to AThomas' argument not you specifically.

Quote
But for sure be happy with what you are doing, and do it to the very best of your ability regardless of the language you choose to do it in  Smiley
Yep, I think we all agree on that.

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

Senior Newbie




Java games rock!


« Reply #93 - Posted 2004-04-20 13:15:14 »

Quote

You hang around for a while and get a feel for different people's perspectives on things and try to use your best judgment.   Neither Jeff nor the rest of the GTG are trying to deceive as far as I can tell.


I'm sure this is the case. But why would I want to hang around a forum that rips to shreds anyone who dares to question Java? This actually started because Jeff started a debate as to why games developers don't use Java. I just thought it would be a more interesting debate if the other point of view was put across, but things have gone way too far, and out of control.

Quote
The mere fact that Java technology is so much younger than C/C++ technology is perhaps reason to remain optimistic that Java will get better still.


Agreed. But looking at the machine code that the JVM produces I would hazard a guess that vectorisation is the next step forward for 3D code, perhaps by introducing vector and matrix intrinsic types. This would not just put the 3D code on a par with C++, but surpass it, whilst solving the operator issues without having to introduce operator overloading into Java. It would also enable a much more effective PS[2 || 3] VM later on.

Given Sun's primary markets I don't envisage them putting many resources into this without immense pressure from their users, and I don't see the numerical users working together to get what they need (witness the operator overloading debate). Hence a little challenge might make the point? Or perhaps a previous poster had the right idea, perhaps there should have a spec3D benchmark for vector performance comparison?

Quote
I get from the above that Java enforces better design practices.  Which I extrapolate to a savings in development time for a complex project.  (This test is far to small to realize significant savings at that level.)
Of course Java has much better tools for re-working code anyway.  The optimization pass may cost more in Java than it will in C/C++ I do not deny that.  But I think that the other aspects of Java will have saved you more than the difference.


I meant you have to prematurely optimise your code before you know where the bottlenecks are, if you're not to end up re-doing large chunks in c++ (either that or  use a crystal ball  Wink). Maybe you're right and there would still be an overall saving, I know I couldn't live without Eclipse (even with it's new garish workbench Smiley)

Quote
There is some truth to this. A comparison of just these feature with a variety of C/C++ compliers and Java VMs would be interesting and educational I think.


Agreed. And it might convince Sun to go that extra mile to vectorise it. But is anyone here interested (apart from myself) in this? I thought everyone here writes off microbenchmarks, despite Jeff talking about them in his book (yes Jeff, I have read it, albiet a long time ago).

Andy.
Offline swpalmer

JGO Coder


Exp: 12 years


Where's the Kaboom?


« Reply #94 - Posted 2004-04-20 13:37:20 »

Quote
I'm sure this is the case. But why would I want to hang around a forum that rips to shreds anyone who dares to question Java?

Some of us have strong opinions - but don't let that scare you away.  These forums are gold for Java game developers.  We also tend to get our backs up when presented with inaccurate information that ultimately contributes to an environment that reduces the acceptance of our projects. Not saying that you have done this specifically... but I think it is part of the underlying tone of the challenge.  I think we all agree that the REAL challenge is doing a real game.. and we would rather focus on that then spit out another micro-benchmark that will be tainted one way or another in terms of getting Java more accepted in the game industry.

Quote
Agreed. And it might convince Sun to go that extra mile to vectorise it. But is anyone here interested (apart from myself) in this? I thought everyone here writes off microbenchmarks, despite Jeff talking about them in his book (yes Jeff, I have read it, albiet a long time ago).

Andy.


Though it seems to contradict what I wrote above, I like seeing micro-benchmarks.  So long as they have the opportunity to be scrutinized by experts before they are misinterpreted by the masses.  They have in the past pointed out bugs in the JVM and ultimately they contribute to a better understanding of the underlying issues.  In the very least we usually end up knowing the "right" way to do things in Java to get decent performance.  Though typically that just means stop trying to trick the JVM and let it do it's job.  Tricks backfire as the JVM improves, and the VM guys have stated they are working to make good code run faster, they aren't interested in optimizing how some ugly hack gets compiled.  I think that's a valid strategy.

As far as Jeff's book goes, heck, I paid good money for it and then a few months later it was online for free Sad.  I'm not sorry I did though.

Offline andyl

Senior Newbie




Java games rock!


« Reply #95 - Posted 2004-04-20 13:55:11 »

Quote
.. and we would rather focus on that then spit out another micro-benchmark that will be tainted one way or another in terms of getting Java more accepted in the game industry.


But just imagine what would happen if there were benchmarks that showed 3D computation in Java were indisputably on a par with the very best C compiled with the very best C compilers, especially if the benchmark code were open so that all could see the comparison was fair?

The fact is that the games community is obsessed with speed, which probably comes from too many 90 hour weeks trying to get their frame rates from 15fps to 60fps whilst not being allowed to simplify the game.

Andy.
Offline kevglass

JGO Kernel


Medals: 170
Projects: 23
Exp: 18 years


Coder, Trainee Pixel Artist, Game Reviewer


« Reply #96 - Posted 2004-04-20 14:32:09 »

First off, I hope my rather childish turn of phrase didn't drive you away in any part. As swpalmer indicated above, maybe I picked up on a tone that was intended to be there in your posts. If anything, it'd be pretty useful to have an objective C++ games developer around.

Not being from the games community as it were, I'm really interested from a hobbyist point of view about this. Is the whole the games community really obssessed with speed? I'd always assumed that first person shooters were that way oriented, but other games didn't seem so bothered.

Kev

Offline andyl

Senior Newbie




Java games rock!


« Reply #97 - Posted 2004-04-20 14:52:11 »

Quote
First off, I hope my rather childish turn of phrase didn't drive you away in any part. As swpalmer indicated above, maybe I picked up on a tone that was intended to be there in your posts. If anything, it'd be pretty useful to have an objective C++ games developer around.

Not being from the games community as it were, I'm really interested from a hobbyist point of view about this. Is the whole the games community really obssessed with speed? I'd always assumed that first person shooters were that way oriented, but other games didn't seem so bothered.

Kev

Sorry about the tone. A side effect of the long debate I had with Jeff and frustration at the glacial speed Sun moves at. (Now how big was that Microsoft settlement  Smiley Enough for a PS2 VM not to dent it too much? Perhaps a port to PS2-Linux so that anyone can play with it?)

I guess the NWN dev team didn't have to worry about speed, I should have said 'a large part of the games community'.
Offline NVaidya

Junior Member




Java games rock!


« Reply #98 - Posted 2004-04-20 15:20:30 »


dleskov wrote:

Quote

We plan to implement support for SSE2, etc. in future versions of our compiler and we would love to play with such a real-life Java number cruncher application then. If it is not going to be freely available, would it still be possible for us to get a copy?

Yes, you'd be quite welcome to use it for evaluating your compiler - can't see any problems with that right now. I've tried the JET evaluation version, BTW - thought I'd made a fleeting mention of it elsewhere in the forums.  Will contact you directly very soon.

Gravity Sucks !
Offline NVaidya

Junior Member




Java games rock!


« Reply #99 - Posted 2004-04-20 15:33:14 »


If you folks are looking for some ready and actively maintained (does seem that way)  benchmarks, you may want to give SciMark2.0 by Pozo and Miller a shot:
http://
http://math.nist.gov/scimark2


Both Java and C sources are available.

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

JGO Ninja


Medals: 16
Projects: 4
Exp: 14 years


Maximumisness


« Reply #100 - Posted 2004-04-20 15:51:18 »

Quote
First off, I hope my rather childish turn of phrase didn't drive you away in any part. As swpalmer indicated above, maybe I picked up on a tone that was intended to be there in your posts. If anything, it'd be pretty useful to have an objective C++ games developer around.


+1  :-/
not referring to you Kev, but now the sky seems to have cleared, I have to admit I had my share here too for a bit I'm afraid. I was basically trying to make (some of) the points princec and swpalmer have made in a much better way, but I just ended up annoyed and sounding like dork instead . Embarrassed
Sorry about that  Smiley

Although I still think the physics benchmark can be useful, maybe we could also gather as much as possible profile data (starting with our own games perhaps) so we can actually see in numbers exactly how important pure number crunching really is across different games, so how much impact a, say 20% performance loss, really has in the whole picture.

EDIT: In my game, >70% of the time is spent in org.lwjgl.opengl.Window.swapBuffers, >15% in various other openGL functions, the remainder <15% in everything else. This is on the client VM.
Now I have to admit there's not much else going on than fancy graphics zipping by that you have to destroy, but hey, it's an example :-)

EDIT: Maybe I should start another thread for this...

Offline swpalmer

JGO Coder


Exp: 12 years


Where's the Kaboom?


« Reply #101 - Posted 2004-04-20 16:59:40 »

Quote
But just imagine what would happen if there were benchmarks that showed 3D computation in Java were indisputably on a par with the very best C compiled with the very best C compilers, especially if the benchmark code were open so that all could see the comparison was fair?

Well that would be great for Java of course.  But i don't believe that will happen in the near future.
The key be "indisputably".   There are simply fundamental differences in how things are done in a managed environment like Java verses using a systems language like C/C++.   Should the comparison be made with C/C++ using a garbage collector?  Should the comparison be made using C/C++ with bounds checks on all relevant data access?  The styles of coding must be different to code to the strengths of each language.

Good games that make money are what really matters, no matter how obsessed coders are with speed.  In that sense the speed only has to be "fast enough".  There will always be a trade-off with safety and getting that extra 0.5%  Java chooses to go with the safety, C/C++ chooses to go with the extra bit of speed.  The main argument you will find in these forums is that the extra bit off speed doesn't give you a better game.  Though it may enable a few cool tricks that impress people into giving up some cash - i think that may be valid, but how much money does pushing the envelope that way really make? I don't know.

Offline oNyx

JGO Coder


Medals: 2


pixels! :x


« Reply #102 - Posted 2004-04-20 21:58:01 »

Quote
[..]
Not being from the games community as it were, I'm really interested from a hobbyist point of view about this. Is the whole the games community really obssessed with speed? I'd always assumed that first person shooters were that way oriented, but other games didn't seem so bothered.


True. For first person shooters it's at least 60fps. Jump'n'runs usually 30, racing games 30-60, beat'em ups 30 or 60, shoot'em ups [takumi style] 60fps/[konami style]30fps and puzzle games [with dirty rectangles] 0(zero)-30fps.

With hand drawn or pre rendered animations you have to cap the framerate somewere. If you reach that framerate on the targeted hardware, it's fast enough. And it doesn't matter if it needs 90% or 80% of the cpu power.

Eg if you want to write a 3d jump n run with 2d mechanics, wich runs well (60fps) at 5 years old mid end hardware (p2 400, 128mb and some accelelerator with 16mb), you could easily do that with java+xith3d. By the time you're done, the recommended hardware will be 5.5 years old (creating the media will take more than half of the time).

Keep in mind that hardware usually doesnt last longer than 6 years (the resistors on the mainboard will just die one day). Also supporting hardware that old doesnt make much sense, why should someone with that kind of hw spend 20$ (shareware heh) for your game? He/she hadn't spend 20$ for hardware, wich is 2-3 times faster. (In the year 2000 I got: a bigtower+temp controlled psu, a matrox mystique, p200+asus mainboard, 64mbram, sb16 and a gameport card for 20$ - build a nice router out of it Wink)

However, I think Java is mature enough for AAA titles. There were already a handfull of games wich uses Java in some way. One important thing, wich was likely overseen... it takes time to write a game (wow Smiley). 2-5 years down the road. Machines with a handfull of ghz, 1-4gb ram, graphic cards with up to 2gb ram. Using Java or C/C++... it just won't matter. It's the speed of the graphics card wich will matter (it's already like that in most games). Therefore Jeff's statement was imo absolutly ok (it was ment to convince devs to start developing in Java).

弾幕 ☆ @mahonnaiseblog
Offline andyl

Senior Newbie




Java games rock!


« Reply #103 - Posted 2004-04-21 14:23:15 »

Quote

If you folks are looking for some ready and actively maintained (does seem that way)  benchmarks, you may want to give SciMark2.0 by Pozo and Miller a shot:
http://
http://math.nist.gov/scimark2


Both Java and C sources are available.


Fine for benchmarking linear algebra etc, but I've not found these are not always representative of 3D code, simply because large Vector arrays invariably throttle on the L2 cache-memory bottleneck. Of course the native code does this as well, but there twice as many bytes to move in Java!

Andy.
Offline swpalmer

JGO Coder


Exp: 12 years


Where's the Kaboom?


« Reply #104 - Posted 2004-04-21 15:59:59 »

Quote
... the native code does this as well, but there twice as many bytes to move in Java!

huh?  I'm not sure I follow where you are getting that factor of two from?

Offline andyl

Senior Newbie




Java games rock!


« Reply #105 - Posted 2004-04-21 16:41:25 »

Quote

huh?  I'm not sure I follow where you are getting that factor of two from?


Simple:

class Vector3
{
 float x, y, z;
 ...
}

Vector3[] array = new Vector3[1000];
for (int i = 0; i < array.length; i++) array = new Vector3();

The actual data per Vector3 x,y,z = 3 x 4 bytes = 12 bytes

VM object header per Vector3 = 2 machine words = 8 bytes
Object reference held in array = 4 bytes

Total storage 24000 bytes, would have been 12000 in C++.
Offline swpalmer

JGO Coder


Exp: 12 years


Where's the Kaboom?


« Reply #106 - Posted 2004-04-22 00:41:17 »

But Java programmers know not to do that for large data sets.

Soemthing like this
1  
2  
3  
4  
5  
6  
7  
8  
9  
class VectorArray
{
    private FloatBuffer floats;
    public Vector get(int i)...
    public void set(int i, Vector v)...
    public float getX(int i)...
    public float getY(int i)...
    public float getZ(int i)...
}


could be done, which basically has the exact same memory requirements as your C/C++ array.  Yes this is sometimes inconvenient, but a lot of the time you might be sending vertex arrays to OpenGL or some such thing, so data needs to be formatted appropriately.

There are requests for enhancement (Cas' "Structs" RFE) designed to address this issue specifically.

(edit).. Oh and I forgot some of the feaures you are missing to get the equivalent of what Java would have.  You need Run Time Type Information for your Vector3 struct..  that means bloating the struct by an extra 4 bytes on 32bit systems.

Offline shawnkendall

Senior Member





« Reply #107 - Posted 2004-04-22 02:33:16 »

Calculating object size is not so simple in Java.
See for in depth explanations
http://java.sun.com/docs/books/performance/1st_edition/html/JPRAMFootprint.fm.html

However, your example indeed would be larger than a C struct, but NOT necessarily a C++ class of the same fields.

Of course this is dealt with the same way as it would be in C++, make float arrays as stated above.

I never have large lists or arrays of vector or matrix classes in my run-time.  There are instances here and there but they are used for temporary holders when it's convienent, such as in 3D loaders.
The run-time data is nearly all ByteBuffers since most is going over the pipe to graphics cards.
The exception is animation and particle data which is float arrays, vector/matrics, or other objects.

Make no mistake, Java takes up more memory than typical C++ classes.  But then that's more than C structs, and even more than pure, crisp, clean Assembly.  And really Assembly is just the poor man's hex.
And anyone writting hex, really should be entering binary with a binary keyboard - http://www.worth1000.com/view.asp?entry=84104&display=photoshop


Shawn Kendall
Cosmic Interactive, LLC
http://www.facebook.com/BermudaDash
Offline andyl

Senior Newbie




Java games rock!


« Reply #108 - Posted 2004-04-22 08:21:25 »

In reply to the last 2 posts:

I also tried unformatted float arrays/native buffers. Improved things a marginally when I hit the memory wall, but killed things once the buffer is in the cache. This means coding differently based upon whether I expect the buffer to stay in the L2 cache between game loops or not  :-/

Unfortunately the stuff I am working on cannot just fill a native buffer once at the start of the program - my geometry is dynamic.

And as I don't use my Vector3 class polymorphically and I turn RTTI off, the C++ data structure is exactly the same as the C struct. The Java object costs I mentioned came from the latest HotSpot VM docs.

EDIT - I just compared some code C# that uses structs to see what this out-of-cache performance is like with value-type arrays, and it turns out it takes only 91% of the time that of a really good C++ program (without assembly) to process one of my Vector3 arrays!  Shocked (Falls over in shock...) The guys at Sun really need to get cracking on 'structs' or whatever they are going to call them.

Shawn - keyboards are for wimps - whats wrong with plugging bits of wire into a breadboard ?  Grin
Offline shawnkendall

Senior Member





« Reply #109 - Posted 2004-04-22 14:00:15 »

Quote

Unfortunately the stuff I am working on cannot just fill a native buffer once at the start of the program - my geometry is dynamic.


So is mine.  Why would you need to fill a native buffer once at the start of the program?
You can change native ByteBuffer data after creation.
What's the problem?


Shawn Kendall
Cosmic Interactive, LLC
http://www.facebook.com/BermudaDash
Offline ChrisM

JGO Coder


Medals: 3
Projects: 1
Exp: 14 years


Luke...END OF LINE


« Reply #110 - Posted 2004-04-22 15:00:02 »

Quote


But just imagine what would happen if there were benchmarks that showed 3D computation in Java were indisputably on a par with the very best C compiled with the very best C compilers, especially if the benchmark code were open so that all could see the comparison was fair?


So does that mean the developers should also be trying every C++ compiler out there for every platform they target to make SURE they are getting the absolute performance out of their code? Wink

Quote
The fact is that the games community is obsessed with speed, which probably comes from too many 90 hour weeks trying to get their frame rates from 15fps to 60fps whilst not being allowed to simplify the game.


Amazing then that most RTSs clock in around 30fps or lower.  Even the mighty (and quite awesome) Dungeon Seige clocked in between 18-26FPS on high end systems.  Ah!  You must be thingking about the FPS crowd Smiley  The fact remains that while we like to beleieve that the industry is completely speed obsessed, the fact remains that it is not.  Look at the BIGGEST selling games of all time and you will see less speed intensive games than speed hooked games.

In fact, just look at Renderware.  GTA and Tony Hawk?  Not the most complex environemnts, high poly models, high frame rates, etc. compared to games like GT4 for example.  It all boils down to what you are trying to build.

-ChrisM

Andy.[/quote]

Offline andyl

Senior Newbie




Java games rock!


« Reply #111 - Posted 2004-04-22 17:47:55 »

Quote
Amazing then that most RTSs clock in around 30fps or lower.  Even the mighty (and quite awesome) Dungeon Seige clocked in between 18-26FPS on high end systems.  Ah!  You must be thingking about the FPS crowd Smiley  The fact remains that while we like to beleieve that the industry is completely speed obsessed, the fact remains that it is not.  Look at the BIGGEST selling games of all time and you will see less speed intensive games than speed hooked games.


Must be that we Brits are far too obsessed with racing games  Wink

Of course it depends on what you are doing. And for my part, I'm not obsessed with the frames-per-sec (we seem to be quite happy with 24 at the cinema, but then they have motion-blurring!), but with trying to do a lot of complex maths in the tiny amount of time I have per-frame.

Anyhow Chris, a much more pertinant question: why don't Apple have a Server VM on the Mac? Seems like a daft thing for Sun and Apple to allow to happen (unless Sun is viewing the Apple X-Serve as a threat  Wink)

A.
Offline swpalmer

JGO Coder


Exp: 12 years


Where's the Kaboom?


« Reply #112 - Posted 2004-04-23 00:44:26 »

Quote
Anyhow Chris, a much more pertinant question: why don't Apple have a Server VM on the Mac? Seems like a daft thing for Sun and Apple to allow to happen (unless Sun is viewing the Apple X-Serve as a threat  Wink)


Shouldn't that be a question for Apple?  In any case be sure to file a bug report with Apple about this.  That's apparently something they use to prioritize their work.  I know that they are getting the message with regard to the poor graphics performance in their JRE... but I'm not so sure that they have got the message with respect to needing a server VM.

Anyway.. above you quoted some 91% figure with C# and I didn't quite get what you were trying to say?  Are you saying that C# was faster than C++ for that case? (and Java is slower, thus making it look that much worse?)

In any case.. enough of this talk.. why not come up with a benchmark program and we can see how it fares?  The guys here can help to make sure it is coded properly and we can try our best to make it a fair test.  Realistically we should track the development time and all that crap to get the whole picture.. but since right now you are only interested in execution speed, it will make things simpler if we concentrate on that.

Offline ChrisM

JGO Coder


Medals: 3
Projects: 1
Exp: 14 years


Luke...END OF LINE


« Reply #113 - Posted 2004-04-23 09:20:18 »

BTW,

If anyone wants to see the "fabled" Java FPS for themselves, check out this video clip from the 2001 GDC: http://www.imilabs.com/media_Jamid.htm

As well, you can see pieces of the fighting game and F! racer (which was demoed AGAIN at this year's GDC).  Lastly, you can read this interviewer's impressions of said games.

http://archive.gamespy.com/gdc2002/jgp/

-ChrisM

Offline andyl

Senior Newbie




Java games rock!


« Reply #114 - Posted 2004-04-23 11:11:51 »

Quote
BTW,

If anyone wants to see the "fabled" Java FPS for themselves, check out this video clip from the 2001 GDC: http://www.imilabs.com/media_Jamid.htm

As well, you can see pieces of the fighting game and F! racer (which was demoed AGAIN at this year's GDC).  Lastly, you can read this interviewer's impressions of said games.

http://archive.gamespy.com/gdc2002/jgp/

-ChrisM


Looks ok, but until I could try it on a selection of hardware I couldn't draw any conclusions. I presume as you posted a video the said racer is not available for download?

A.
Offline andyl

Senior Newbie




Java games rock!


« Reply #115 - Posted 2004-04-23 11:32:40 »

Quote


Shouldn't that be a question for Apple?  In any case be sure to file a bug report with Apple about this.  That's apparently something they use to prioritize their work.  I know that they are getting the message with regard to the poor graphics performance in their JRE... but I'm not so sure that they have got the message with respect to needing a server VM.

Anyway.. above you quoted some 91% figure with C# and I didn't quite get what you were trying to say?  Are you saying that C# was faster than C++ for that case? (and Java is slower, thus making it look that much worse?)

In any case.. enough of this talk.. why not come up with a benchmark program and we can see how it fares?  The guys here can help to make sure it is coded properly and we can try our best to make it a fair test.  Realistically we should track the development time and all that crap to get the whole picture.. but since right now you are only interested in execution speed, it will make things simpler if we concentrate on that.


Sure it's a question for Apple, but I'm sure Sun also know the answer (strange silence every time I ask the question though). I can't imagine the fact that Apple were going to run a server product (WebObjects) on a client VM didn't get picked up by the guys at Sun (you want to do what?!!!!). And as it's Sun thats pushing the cross-platform abilities of Java gaming, I'm asking them.

Yes, C# was fastest. Relative to C++:
C# 91%
C++ 100%
Java ~200%

When I've got some time I'll think of a benchmark to post, I'm sure you guys will rip it to shreds  Wink Can't send any of the stuff I'm working on though.

A.
Offline ChrisM

JGO Coder


Medals: 3
Projects: 1
Exp: 14 years


Luke...END OF LINE


« Reply #116 - Posted 2004-04-23 11:59:04 »

Quote


Sure it's a question for Apple, but I'm sure Sun also know the answer (strange silence every time I ask the question though). I can't image the fact that Apple were going to run a server product (WebObjects) on a client VM didn't get picked up by the guys at Sun (you want to do what?!!!!). And as it's Sun thats pushing the cross-platform abilities of Java gaming, I'm asking them.

Yes, C# was fastest. Relative to C++:
C# 91%
C++ 100%
Java ~200%

When I've got some time I'll think of a benchmark to post, I'm sure you guys will rip it to shreds  Wink Can't send any of the stuff I'm working on though.

A.



Let's just say that Sun and Apple are working together, and we have a good relationship with them.  However, these are 2 big companies setting their agendas moving forward.  Not with specific regard to Apple and Sun (because I have not sat in the Apple/Sun discussions), but sometimes the reason technical things don't get done have nothing to do with technology at all and let's leave it at that. Smiley

With regard to the release of the benchmarks, benchmarks are just like salesmen: they are what you want them to be.  Not slamming what you are proposing, but it is what it is.  From Futuremark to DS Benchmarks, they have all been proven to have been skewed in one way or another.  

Lastly, with regard to not being able to see the work you are doing that you would pull the benchmark from, how would we know it's valid?  This is the same argument you gave here with regard to the FPS demo.  At least we could show the video clip.

But that's ok and cool with me.  Why?  Because I know WHY you can't show the code.  It's internal work and there are somthings you just can't show to the general public.  I fight that all the time.  It would be great if everyone's motives were pure so we could share some things we would like to, but that's not the case.

At the very least, this has been a very interesting thread Smiley  Glad to have you here in the community and hope you have some fun here as well Smiley

-ChrisM

Offline princec

JGO Kernel


Medals: 386
Projects: 3
Exp: 16 years


Eh? Who? What? ... Me?


« Reply #117 - Posted 2004-04-23 12:18:01 »

Chris, I don't suppose you could make some noises and throw up a tantrum about our need for Structs could you? I don't care how exactly they're implemented, just so long as they are implemented, in one form or another and work as fast and memory efficiently as their C++ or even C# counterparts.

Cas Smiley

Offline andyl

Senior Newbie




Java games rock!


« Reply #118 - Posted 2004-04-23 12:56:43 »

Quote
...but sometimes the reason technical things don't get done have nothing to do with technology at all and let's leave it at that. Smiley

Thats what worries me...

Quote
With regard to the release of the benchmarks, benchmarks are just like salesmen: they are what you want them to be.  Not slamming what you are proposing, but it is what it is.  From Futuremark to DS Benchmarks, they have all been proven to have been skewed in one way or another.  

Well my saleman would be demonstrating the need for structs!  Grin

Quote
At the very least, this has been a very interesting thread Smiley  Glad to have you here in the community and hope you have some fun here as well Smiley

Well at least a lively debate keeps us all from becoming complacent  Wink

A.
Offline Raghar

Junior Member




Ue ni taete 'ru hitomi ni kono mi wa dou utsuru


« Reply #119 - Posted 2004-04-23 16:05:17 »

Quote

Not being from the games community as it were, I'm really interested from a hobbyist point of view about this. Is the whole the games community really obssessed with speed? I'd always assumed that first person shooters were that way oriented, but other games didn't seem so bothered.

Kev


15 FPS are enough in most cases 30-60 are nice and would be common case. One of my test programs is using 30 FPS in 1024x786 with 90 UPS.

I played Morrowind on freaking 5-15 FPS. However some people likes to show its computer to other and say I used xxx on 150 FPS, and so on.

If you are using a flight stick with the force feedback you should do over 1 kHz UPS to create the right feeling.
Some things could teorethically make difference between frames under 160 FPS.

Pages: 1 2 3 [4]
  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 (19 views)
2014-09-24 16:12:06

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

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

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

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

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

UprightPath (50 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!