Latest Uploads
Platdude Spotting

Jayenkai

Nom nom nom

Jayenkai

Rainbow Trout

Pakz

King Salmon

Pakz

Snooker

Jayenkai

You've ... o have you

Jayenkai

Forum Home

Freeing memory in B3D

UserMessage
Posted : Monday, 03 January 2011, 13:38 | Permalink
Tikihead


WW Entries : 7
Hello everyone, is it possible to declare a variable as an entity in Blitz3D? I ask this because I'm working on a 2D in 3D game and it has something similar to the following code...
-->
...and freeing "f\sprite" doesn't free up the ram it used in the first place. I do that (create an entity, free it) countless times in my game so it's something I have to fix. I suspect that I'm having a problem because "FreeEntity()" is looking for an entity but "f\sprite" was declared as an integer as Blitz does when you don't declare what datatype something is. Any tips? Thanks.
Posted : Monday, 03 January 2011, 14:00 | Permalink
JL235


WW Entries : 7
The handles for entities are essentially just ints. So your code should be correct.

How do you know the ram isn't being freed. Are you running out of memory?

Also I doubt the entity is using up ram (or at least very little). It'll be using video memory instead.

-----
PlayMyCode.com - build and play in your browser, Blog, Twitter.
Homepage : http://www.StudioFortress.com
Posted : Monday, 03 January 2011, 16:20 | Permalink
Tikihead


WW Entries : 7
The entities in question belong to bullet objects, so there's a lot of them being created and shortly thereafter freed. I'll boot up my game, it'll be using around 17k of memory, I'll fire bullets for a while, and the memory usage will go up a few thousand and won't come back down. If I start firing again, it goes up more, etc.

The video memory is freed up when I delete and free the bullet and entity instances. However, the memory usage (as seen in task manager) keeps on increasing and never goes back down.
Posted : Monday, 03 January 2011, 16:28 | Permalink
HoboBen


WW Entries : 9
Possibly fragmentation of memory - things being created, then freed all over the place might lead to blocks of memory too small to fit new objects in again, so the memory used has to grow.

Particle engines usually create a fixed size amount of particles at once and simply hide/show them. This means that there's no costly memory allocation and also no fragmentation. You could use a similar technique for your bullets.



-----
Posted : Monday, 03 January 2011, 16:32 | Permalink
JL235


WW Entries : 7
If he is freeing them then fragmentation wouldn't be an issue. It would only affect performance.

-----
PlayMyCode.com - build and play in your browser, Blog, Twitter.
Homepage : http://www.StudioFortress.com
Posted : Tuesday, 04 January 2011, 15:14 | Permalink
Tikihead


WW Entries : 7
Well I'll try what Ben suggested within the next few days and see how that goes.
Posted : Wednesday, 05 January 2011, 03:24 | Permalink
Teasy


Homepage : http://www.bettiesart.com/tc/contact
Posted : Thursday, 06 January 2011, 05:58 | Permalink
Tikihead


WW Entries : 7
Wow, thanks Teasy. I tried your code and it freed the memory it allocated appropriately. Since that's the case, I'll have to debug my code more to figure out where all the memory usage is. Arg.
-=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- (c) WidthPadding Industries 1987 611|0 -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=-
Latest Posts
Laptop Aaargh...
Jayenkai Sat 11:19
Technology on Planes
Jayenkai Sat 09:53
London Car/Stab Incident
Jayenkai Sat 09:48
A New Korg Gadget!
Jayenkai Sat 04:53
GamerBlock
rockford Fri 16:51
Happy Birthday, Spinal
Jayenkai Fri 08:40
Watch Switch - Fitbit Blaze
rockford Fri 03:52
Happy Birthday Evil Roy Ferguson
rockford Wed 16:21
Spinal's Return to Android
Jayenkai Tue 13:41
AGameAWeek : 2017 - Part One
Jayenkai Tue 08:10
More

Latest Items
Blog : My Arduino experience.
steve_ancell Fri 13:45
Snippet : Skylines
spinal Fri 06:13
Showcase : Infinitron
rychan Tue 03:02
Dev-Diary : PS2 to N64 Adapter
spinal Sun 10:49
Link : Vector Tutorials/Help page.
Pakz Thu 23:00
Blog : mini project
spinal Sun 10:13
Showcase : Blockman Returns
Jayenkai Fri 03:04
Snippet : Wall Tracing on Random Maps (rpg)
rskgames Wed 22:48
Snippet : Path Following
Pakz Mon 16:25
Snippet : Flowers (Jan 2017)
Kuron Thu 01:13
Showcase : Clusters of Hex
therevillsgames Mon 15:01
Article : Maths 101 - Episode 1: Basic Trigonometry
shroom_monk Sun 14:07
Article : Maths 101 - Episode 5: Line Intersection
shroom_monk Sun 14:02
Dev-Diary : Normals and Dot products
Pakz Sat 20:37
Pets : Molly On The Couch
Jayenkai Thu 04:32
More

Who's Online
rskgames
Sat, at 11:32
Jayenkai
Sat, at 11:26
9572AD
Sat, at 09:46
rychan
Sat, at 08:09
steve_ancell
Sat, at 07:55
shroom_monk
Sat, at 06:19
Pakz
Sat, at 04:46
spinal
Sat, at 02:03
therevillsgames
Fri, at 21:13
rockford
Fri, at 16:55
Link to this page
Site : Jayenkai 2006-Infinity | MudChat's origins, BBCode's former life, Image Scaler.