View Issue Details
|ID||Project||Category||View Status||Date Submitted||Last Update|
|0000702||DarkRadiant||Shader System||public||30.05.2008 21:07||10.12.2008 14:37|
|Target Version||0.9.9||Fixed in Version||0.9.9|
|Summary||0000702: Possible memory leak in material loading and flushing|
|Description||1. 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):
shutdown, restart DR
|Tags||No tags attached.|
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.
|This should be fixed in versions 0.9.9pre1 and above.|
|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.|
|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.|
|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|