Hi !
Featured games (84)
games approved by the League of Dukes
Games in Showcase (604)
Games in Android Showcase (171)
games submitted by our members
Games in WIP (653)
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  
  Images and Memory Usage  (Read 3131 times)
0 Members and 1 Guest are viewing this topic.
Offline MonsterOfCookie

Junior Devvie

Medals: 2


« Posted 2011-06-07 07:31:50 »

Hi People...

Just wanted to get a handle on a preferred way of handling images. In my game I currently have 8 different backgrounds I use at various stages during my game, at the moment I currently create a cache of the 8 images (752x512 JPG ~ 150KB) at start up. But I am beginning to think, convinced by profiling, that I am eating up unnecessarily large amounts of ram - Some of the images aren't going to be used (should I use lazy-loading perhaps?).

So my question is, should I switch to loading the image when I require it in the game?
Thus only having 1 buffered image at anyone time for the background? A pause in the game whilst it loads the image, for the level, is fine. I am just thinking - with this method I am going to incur more GC's due to rotation of different backgrounds.

Anyone have any thoughts? Or is this just a straight trade off?


Offline ra4king

JGO Kernel

Medals: 389
Projects: 3
Exp: 5 years

I'm the King!

« Reply #1 - Posted 2011-06-07 08:16:17 »

Whichever floats your boat. Getting back 7x150KB isn't going to make a difference but if you strive for least memory usage, go for it. If you want the best user experience, those extra 1.05MB aren't going to hurt Wink

Offline MonsterOfCookie

Junior Devvie

Medals: 2


« Reply #2 - Posted 2011-06-07 11:09:39 »

Yeah, looks that way.

Also as a side thing, wouldn't it be more than 7*150KB as the BufferedImage object would contain an uncompressed byte[], post decode, of the image? - I will profile again later looking for byte[]

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

« JGO Spiffy Duke »

Medals: 144
Projects: 1
Exp: 6 years

Java guru wannabe

« Reply #3 - Posted 2011-06-07 13:18:31 »

Usually when you start looking at these kind of optimizations you'll never stop and the game will linger instead of being finished ;-)

Personally I'd consider (if it is a small scale applet/webstart game) to stream the new pictures from the server the first time they are needed, that'll decrease the initial loading time with something like 10-20 seconds for people with "normal" connections.


My current game, Minecraft meets Farmville and goes online Smiley
State of Fortune | Discussion thread @ JGO
Offline MonsterOfCookie

Junior Devvie

Medals: 2


« Reply #4 - Posted 2011-06-07 13:23:14 »

Yes that is very true... You can't profile images out of existence.

Streaming is a great idea, I already logically group my images in different jars to a;low for caching..

I guess moving on to my other hotspots Smiley

Offline ra4king

JGO Kernel

Medals: 389
Projects: 3
Exp: 5 years

I'm the King!

« Reply #5 - Posted 2011-06-07 20:24:45 »

Oh yeah you're using JPG, it's gonna be more than 150KB.

However remember and don't forget this important quote:
Premature optimization is the root of all evil.

Pages: [1]
  ignore  |  Print  
You cannot reply to this message, because it is very, very old.

SHC (27 views)
2015-08-01 03:58:20

Jesse (19 views)
2015-07-29 04:35:27

Riven (40 views)
2015-07-27 16:38:00

Riven (21 views)
2015-07-27 15:35:20

Riven (24 views)
2015-07-27 12:26:13

Riven (14 views)
2015-07-27 12:23:39

BurntPizza (36 views)
2015-07-25 00:14:37

BurntPizza (46 views)
2015-07-24 22:06:39

BurntPizza (30 views)
2015-07-24 06:06:53

NoxInc (37 views)
2015-07-22 22:16:53
List of Learning Resources
by gouessej
2015-07-09 11:29:36

How Do I Expand My Game?
by bashfrog
2015-06-14 11:34:43

List of Learning Resources
by PocketCrafter7
2015-05-31 05:37:30

Intersection Methods
by Roquen
2015-05-29 08:19:33

List of Learning Resources
by SilverTiger
2015-05-05 10:20:32

How to: JGO Wiki
by Mac70
2015-02-17 20:56:16

2D Dynamic Lighting
by ThePixelPony
2015-01-01 20:25:42

How do I start Java Game Development?
by gouessej
2014-12-27 19:41:21 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!