Hi !
Featured games (85)
games approved by the League of Dukes
Games in Showcase (636)
Games in Android Showcase (178)
games submitted by our members
Games in WIP (687)
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 4050 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: 166
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: 272
Projects: 25
Exp: 18 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: 67
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  
You cannot reply to this message, because it is very, very old.

Dwinin (72 views)
2015-11-07 13:29:08

Rems19 (81 views)
2015-10-31 01:36:56

Rems19 (74 views)
2015-10-31 01:32:37

williamwoles (107 views)
2015-10-23 10:42:59

williamwoles (93 views)
2015-10-23 10:42:45

Jervac_ (107 views)
2015-10-18 23:29:12

DarkCart (135 views)
2015-10-16 00:58:11

KaiHH (116 views)
2015-10-11 14:10:14

KaiHH (156 views)
2015-10-11 13:26:18

BurntPizza (171 views)
2015-10-08 03:11:46
Rendering resources
by Roquen
2015-11-13 14:37:59

Rendering resources
by Roquen
2015-11-13 14:36:58

Math: Resources
by Roquen
2015-10-22 07:46:10

Networking Resources
by Roquen
2015-10-16 07:12:30

Rendering resources
by Roquen
2015-10-15 07:40:48

Math: Inequality properties
by Roquen
2015-10-01 13:30:46

Math: Inequality properties
by Roquen
2015-09-30 16:06:05

HotSpot Options
by Roquen
2015-08-29 11:33:11 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!