Java-Gaming.org    
Featured games (81)
games approved by the League of Dukes
Games in Showcase (480)
Games in Android Showcase (110)
games submitted by our members
Games in WIP (546)
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  
  (Slick2D) Image destroy necessary?  (Read 1041 times)
0 Members and 1 Guest are viewing this topic.
Offline DrewLols

Senior Member


Medals: 2
Projects: 1


Noob going through metamorphosis...


« Posted 2012-06-30 00:40:13 »

Quick question.  In Slick2d, when I am done using an image, do I have to call it's destroy method in order for it to be eligible for garbage collection?

Did you know that 90% of statistics are wrong?
Offline Cero
« Reply #1 - Posted 2012-06-30 01:05:13 »

Quick question.  In Slick2d, when I am done using an image, do I have to call it's destroy method in order for it to be eligible for garbage collection?

destroy() removes the texture data from the gpu, has nothing to do with the garbage collection.
image = null would case that (you have to kill all references of course)

if you want to free VRam, you do destroy. When closing the Slick App, all is released anyway.

Offline DrewLols

Senior Member


Medals: 2
Projects: 1


Noob going through metamorphosis...


« Reply #2 - Posted 2012-07-02 18:21:13 »

So, lets say that the Image is GC'd.  Will the texture still sit there in VRAM?

Did you know that 90% of statistics are wrong?
Games published by our own members! Check 'em out!
Legends of Yore - The Casual Retro Roguelike
Offline ra4king

JGO Kernel


Medals: 345
Projects: 2
Exp: 5 years


I'm the King!


« Reply #3 - Posted 2012-07-03 01:47:07 »

Yup it will.

@davedes
You should override the finalize() method in Image (and all destroy-able classes) to call destroy().

Offline davedes
« Reply #4 - Posted 2012-07-03 02:35:25 »

I don't think finalize() is the way to go for various reasons:
- It may take a very long time after releasing the object before finalize() gets called.
- It may never be called at all -- therefore it's not a good thing to rely on for VRAM cleanup.
- IMO the control of releasing and reloading data into GPU should be in the hands of the user rather than the GC.
- It may be called from the finalizer thread, which I presume would cause issues with the GL context.

Regarding the OP's question, always destroy/release data (sounds, images) when you no longer need them. Simply setting them to null may make the object eligible for garbage collection, but it won't necessarily unload the data from the GPU.

Pages: [1]
  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.

atombrot (20 views)
2014-08-19 09:29:53

Tekkerue (21 views)
2014-08-16 06:45:27

Tekkerue (21 views)
2014-08-16 06:22:17

Tekkerue (12 views)
2014-08-16 06:20:21

Tekkerue (19 views)
2014-08-16 06:12:11

Rayexar (55 views)
2014-08-11 02:49:23

BurntPizza (37 views)
2014-08-09 21:09:32

BurntPizza (27 views)
2014-08-08 02:01:56

Norakomi (35 views)
2014-08-06 19:49:38

BurntPizza (64 views)
2014-08-03 02:57:17
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!