View Issue Details

IDProjectCategoryView StatusLast Update
0000702DarkRadiantShader Systempublic10.12.2008 14:37
ReporterSneaksieDave Assigned Togreebo  
PrioritynormalSeveritynormalReproducibilityalways
Status closedResolutionfixed 
Product Version0.9.6 
Target Version0.9.9Fixed in Version0.9.9 
Summary0000702: Possible memory leak in material loading and flushing
Description1. start DR fresh
2. take a memory reading (I'm using task manager; 'mem usage' column)
3. open the Media tab. Take a memory reading.
4. for the folder darkmod/stone/brick, RMB -> Load in Textures View. Take a memory reading.
5. open the Textures tab. Take a memory reading.
6. 'Flush and Reload Shaders'

Repeat steps 2-6.

As the steps are repeated, the memory requirements creep ever upward. At first I thought perhaps this is correct, and DR (or the OS) is caching more of the information for possible future use, but it just kept climbing, even after more than half a dozen refreshes. So, perhaps there's a leak in there somewhere. Here are sample results I've just gotten (steps 2-5 memory readings separated by arrows):

140->150->267->330
141->150->274->339
152->162->284->349
162->171->293->358
170->180->303->368
179->189->312->377
189

shutdown, restart DR

95->105->234->300
113->122->245->310
TagsNo tags attached.

Activities

greebo

greebo

07.12.2008 18:18

administrator   ~0002210

I think I found the memory leak in the meantime. The ~RGBAImage() destructor called delete instead of delete[], which caused almost the entire image memory being leaked.

I found this during the DDS refactoring process, so expect this to be fixed once I merge the changes back into trunk.
greebo

greebo

09.12.2008 13:49

administrator   ~0002212

This should be fixed in versions 0.9.9pre1 and above.
greebo

greebo

09.12.2008 14:00

administrator   ~0002213

Ok, stand by. There is still something weird going on. Following the above steps, I can still see a 10 MB increase each time I press Flush & Reload Shaders and open the media tab. It seems to be unrelated to the actual shaders, as just re-populating the Media Browser seems to be worth 10 MB of memory.
greebo

greebo

09.12.2008 15:08

administrator   ~0002214

Yes - the GTK pixbuf loading was used excessively by the MediaBrowser's populator class, causing a 10 MB memory usage increase each time. That and increased loading times, both of which are fixed in source now.
SneaksieDave

SneaksieDave

10.12.2008 14:37

developer   ~0002221

Fixed. :)

Issue History

Date Modified Username Field Change
30.05.2008 21:07 SneaksieDave New Issue
31.05.2008 06:21 greebo Status new => assigned
31.05.2008 06:21 greebo Assigned To => greebo
07.12.2008 18:18 greebo Note Added: 0002210
09.12.2008 13:49 greebo Note Added: 0002212
09.12.2008 14:00 greebo Note Added: 0002213
09.12.2008 15:08 greebo Note Added: 0002214
09.12.2008 15:09 greebo Status assigned => resolved
09.12.2008 15:09 greebo Fixed in Version => 0.9.9
09.12.2008 15:09 greebo Resolution open => fixed
09.12.2008 15:09 greebo Projection none => minor fix
09.12.2008 15:09 greebo ETA none => < 1 day
09.12.2008 15:09 greebo Build => 3903
09.12.2008 15:09 greebo Target Version => 0.9.9
10.12.2008 14:37 SneaksieDave Note Added: 0002221
10.12.2008 14:37 SneaksieDave Status resolved => closed