Hi !
Featured games (91)
games approved by the League of Dukes
Games in Showcase (757)
Games in Android Showcase (229)
games submitted by our members
Games in WIP (844)
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  
  List of jvm options  (Read 8663 times)
0 Members and 1 Guest are viewing this topic.
Offline NVaidya

Junior Devvie

Java games rock!

« Reply #30 - Posted 2004-09-26 16:23:15 »


If I need something pooled, I don't do it as part of the interface to the object, I have the class that's using the object do it's own pooling. That way pooling is an individual choice of the user. It also keeps the code clean by not exposing pooling to the outside user. <snip>

SciVis applications, at least the ones I'm involved with, do something similar to that if an opportunity exists. A descriptive name for this could be local-temporary-object-recycling. Local because the pooling impact is restricted to a class or a bunch of very related classes comprising a single visual component, and temporary because the pool is destroyed if the visual component is destroyed. The latter is typically done because anticipating what goofy thing the user might request next is quite hard in a scivis application. With this approach, because the parameters defining the visual component are clearly known, it is easier to tune the local pool size if you want to. This kind of local object "recyling", IMO, may be seen to be a more restricted version of the generic "Object Pooling".

And again from a scivis perspective, gc pauses before a visual component is created or after it is destroyed is permissible, but certainly not during the course of its animation. But I can understand the difference here with respect to games - you can pre-allocate only so many number of objects. And when do you choose to create/destroy objects on the fly is a much more difficult problem.

Overall, as I might have already expressed it many moons ago, (1) I usually code with a mistrust for the gc; (2) gc fine tuning is futile because of the very cross-platform nature of my application and because I have absolutely no clue about even the Xmx memory size that a user might choose to specify. Having said that, however, with respect to games, if you know your (major) target platform, then using something like jvmstat may be a worthwhile excercise.

Gravity Sucks !
Offline Mithrandir

Senior Devvie

Cut from being on the bleeding edge too long

« Reply #31 - Posted 2004-09-27 00:31:15 »

Yup. And guess where I mainly work - sci-vis Smiley   From a user's perspective, stutter is not acceptable, but slowing the frame rate down to be consistent is OK.  Any pause due to GC is not acceptable.  I would be highly surprised if any gamer would accept stutter, even slight ones.

The site for 3D Graphics information
Aviatrix3D JOGL Scenegraph
Programming is essentially a markup language surrounding mathematical formulae and thus, should not be patentable.
Offline trembovetski

Senior Devvie

If only I knew what I'm talking about!

« Reply #32 - Posted 2004-09-27 04:16:41 »

I would be highly surprised if any gamer would accept stutter, even slight ones..

I guess you haven't played Doom3 on 'recommended hardware'.. I think you'll be surprised to find how much gamers would accept if the game is good enough =)
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


« Reply #33 - Posted 2004-09-27 09:09:04 »

Yes, for example the unreal engine has garbage collection and there is the occasional stutter there. I'm not 100% certain though this is in fact due to unreal's GC (there's no way to tell for sure), but still...
Also, 3D games usually have varying framerates anyway (except maybe when run on very fast hw and using vsync)...

Offline princec

« JGO Spiffy Duke »

Medals: 1033
Projects: 3
Exp: 20 years

Eh? Who? What? ... Me?

« Reply #34 - Posted 2004-09-27 09:29:15 »

Stuttering's caused by all sorts of things - texture uploads, geometry uploads, sound decodes, frame time misses, some process in the background waking up for some reason - and GC is just another of those little, tiny intermittent things that you barely notice now they've added the tuning options, if it happens at all. Mithrandir has a point about portability - but that's his problem Wink So long as I get my stuff running peachy on the 3 big 'uns I'm not so bothered!

Cas Smiley

Pages: 1 [2]
  ignore  |  Print  

EgonOlsen (79 views)
2018-06-10 19:43:48

EgonOlsen (59 views)
2018-06-10 19:43:44

EgonOlsen (78 views)
2018-06-10 19:43:20

DesertCoockie (261 views)
2018-05-13 18:23:11

nelsongames (160 views)
2018-04-24 18:15:36

nelsongames (158 views)
2018-04-24 18:14:32

ivj94 (902 views)
2018-03-24 14:47:39

ivj94 (162 views)
2018-03-24 14:46:31

ivj94 (813 views)
2018-03-24 14:43:53

Solater (177 views)
2018-03-17 05:04:08
Java Gaming Resources
by philfrei
2017-12-05 19:38:37

Java Gaming Resources
by philfrei
2017-12-05 19:37:39

Java Gaming Resources
by philfrei
2017-12-05 19:36:10

Java Gaming Resources
by philfrei
2017-12-05 19:33:10

List of Learning Resources
by elect
2017-03-13 14:05:44

List of Learning Resources
by elect
2017-03-13 14:04:45

SF/X Libraries
by philfrei
2017-03-02 08:45:19

SF/X Libraries
by philfrei
2017-03-02 08:44:05 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‑
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!