Latest Uploads
Vagina

Jayenkai

You Were Defeated

rychan

IFS Viewer 3

Andy_A

Still Truckin'

rychan

Curlicue Fractals

Andy_A

heroextant ... -small.png

HoboBen

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 | Mark Here
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 | Mark Here
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 | Mark Here
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 | Mark Here
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 | Mark Here
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 | Mark Here
Teasy


Homepage : http://www.bettiesart.com/tc/contact
Posted : Thursday, 06 January 2011, 05:58 | Permalink | Mark Here
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 578|0 -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=-
Latest Posts
AGameAWeek : 2016 - Part Two
Jayenkai Sun 01:34
Sonic Mania
Dabz Sat 09:30
New Phone?
Dabz Sat 09:28
Porting
spinal Sat 06:38
KORG Gadget's TopCharts
Jayenkai Fri 14:05
Why Bother
Jayenkai Fri 10:55
SoHot
Dabz Fri 10:27
The Inevitable Pokemon Go Thread
rychan Thu 13:34
New DuckTales
Jayenkai Thu 01:01
Scanning Coasters
Jayenkai Wed 10:38
More

Latest Items
Snippet : Code Creates Crates
Jayenkai Sat 01:44
Showcase : Mining Map AI Demo
steve_ancell Wed 08:00
Showcase : Deflektivity
Jayenkai Mon 11:54
Showcase : Grey Lined Backgrounds
HoboBen Mon 04:17
Showcase : CAVE
Jayenkai Sun 07:20
Showcase : I Shall Be Queen!
rychan Fri 06:41
Snippet : Thousands of 3D Cubes
Pakz Fri 02:49
Showcase : Go!
rychan Thu 23:13
Snippet : Random 3d maps FPS
Pakz Mon 13:33
Showcase : IFS Viewer 3
Andy_A Mon 13:29
Showcase : Map Generator variation
Pakz Sat 00:08
Showcase : Colour Guesser
Jayenkai Sun 06:31
Showcase : Unseen
rychan Mon 03:31
Snippet : Simple Dungeon level Generator
Andy_A Wed 07:44
Showcase : Curlicue Fractals
Jayenkai Sun 08:41
More

Who's Online
Jayenkai
Sun, at 02:33
shroom_monk
Sun, at 02:20
spinal
Sun, at 02:16
GfK
Sun, at 01:41
rychan
Sun, at 00:21
steve_ancell
Sat, at 16:41
Pakz
Sat, at 16:14
HoboBen
Sat, at 15:45
rockford
Sat, at 13:40
Dabz
Sat, at 12:40
Link to this page
Site : Jayenkai 2006-Infinity | MudChat's origins, BBCode's former life, Image Scaler.