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]
  ignore  |  Print  
  Avoiding garbage collector in Android  (Read 5312 times)
0 Members and 1 Guest are viewing this topic.
Offline shaylev

Junior Newbie

« Posted 2010-03-04 02:55:42 »


 I am building a game for android that requires me to use a physics engine (I am using Phys2D). Before creating the physics world I get a frame rate of more than 60fps. Once I create the world and start it in the game loop I get a sharp decrease in the frame rate (drops to ~20). I think that the sharp decrease is due to the fact that the Garbage collector is working like crazy after the world is created.

Is there a way around it? is there some other way I can create the physics world without having the Garbage collector working all the time?

Offline Nate

« JGO Bitwise Duke »

Medals: 167
Projects: 4
Exp: 14 years

Esoteric Software

« Reply #1 - Posted 2010-03-04 04:44:53 »

Run ddms in the SDK tools directory (not through Eclipse). You can use the allocation tracker to see what garbage collection is going on.

I don't have experience with Phys2D specifically.

Offline EgonOlsen
« Reply #2 - Posted 2010-03-04 06:04:49 »

Remember that those devices don't have a fpu, so everything using floats (or doubles) will be quite slow. Maybe that's the reason for your slowdown after enabling physics, which will most likely use floating point.

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

« JGO Spiffy Duke »

Medals: 319
Projects: 25
Exp: 22 years

Coder, Trainee Pixel Artist, Game Reviewer

« Reply #3 - Posted 2010-03-04 06:40:59 »

Could be either. Phys2D is float based but is also none to create alot of gargabe in the form of lots of tiny objects. On the desktop this doesn't hurt too much (given the way GC works on small short lived objects) but on Android this is likely to cause alot of pain.

Have you considered JBox2D? Thats considered to have a lot of less garbage.


Offline teletubo
Global Moderator

JGO Wizard

Medals: 75
Projects: 4
Exp: 8 years

« Reply #4 - Posted 2010-03-04 16:40:56 »

Before I implemented my own dirty-but-fast physics engine to my android game (which I will release in 2 weeks or so), I tried using Phys2D . I dont think the problem is the garbage collection, but the engine itself which is pretty acurrate, thus pretty processor consuming .
When I tried running Phys2D with just a few entities, I got barely 5 FPS on my HTC Hero, with most basic rendering.
Maybe I was doing something wrong, but I even tried reducing the number of steps, but no success .

@kevglass have u tried running your lib in Android? Do u think there's a way it can run on it with a reasonable framerate?

Pages: [1]
  ignore  |  Print  

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

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

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

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

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

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

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

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

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

Solater (140 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!