I could totally be using the term "memory leak" incorrectly.
Basically, levels don't appear to be being unloaded from memory. This is extremely easy to reproduce. It happens even on a clean install of UDK. Not sure if it happens in earlier builds. It pretty much makes our game unshippable though.
Here's the scenario:
Run UDK.exe. Task manager says UDK.exe is using 314MB RAM (or whatever).
"open vctf_necropolis" in console. UDK.exe is now using 945MB.
"open vctf_necropolis". Using 1164MB.
"open vctf_necropolis". 1387MB.
"open vctf_necropolis". 1610MB.
"open vctf_necropolis". 1819MB.
"open vctf_necropolis". 2064MB.
And so on until you crash because you ran out of memory.
This happens with level streaming too. In our game, we use level streaming a lot, and what's happening is every time a level loads, we use more ram, and when it gets unloaded, we don't use less. Eventually we inevitably crash.
I haven't tried this as such, but I suspect that even you had this simple level streaming setup, running in and out of the level streaming volume enough times would cause a crash from lack of memory.
Edit: This still happens on February and March builds. It started on the May build of 2012, so let's everyone drink to most of a year of leaking memory, I guess.
Edit edit: This is fixed in July 2013 UDK. Many thanks, Epic guys.
Basically, levels don't appear to be being unloaded from memory. This is extremely easy to reproduce. It happens even on a clean install of UDK. Not sure if it happens in earlier builds. It pretty much makes our game unshippable though.
Here's the scenario:
Run UDK.exe. Task manager says UDK.exe is using 314MB RAM (or whatever).
"open vctf_necropolis" in console. UDK.exe is now using 945MB.
"open vctf_necropolis". Using 1164MB.
"open vctf_necropolis". 1387MB.
"open vctf_necropolis". 1610MB.
"open vctf_necropolis". 1819MB.
"open vctf_necropolis". 2064MB.
And so on until you crash because you ran out of memory.
This happens with level streaming too. In our game, we use level streaming a lot, and what's happening is every time a level loads, we use more ram, and when it gets unloaded, we don't use less. Eventually we inevitably crash.
I haven't tried this as such, but I suspect that even you had this simple level streaming setup, running in and out of the level streaming volume enough times would cause a crash from lack of memory.
Edit: This still happens on February and March builds. It started on the May build of 2012, so let's everyone drink to most of a year of leaking memory, I guess.
Edit edit: This is fixed in July 2013 UDK. Many thanks, Epic guys.
Comment