mirror of
https://github.com/minetest/irrlicht.git
synced 2025-01-30 19:40:21 +01:00
Hardware meshbuffers are now deleted when they hold the last reference to a meshbuffer
HW buffers were keeping meshbuffers alive for 20000 frames even when no one else was using them anymore. In cases of rapid creating/destroying static meshbuffers this could lead to serious memory leaks (which then kinda topped out after 5 minutes, but at that point it could already be too late). git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@6599 dfc29bdd-3216-0410-991c-e03cc46cb475
This commit is contained in:
parent
989e82d5dd
commit
b17fe835bc
@ -1,6 +1,7 @@
|
|||||||
--------------------------
|
--------------------------
|
||||||
Changes in 1.9 (not yet released)
|
Changes in 1.9 (not yet released)
|
||||||
|
|
||||||
|
- Hardware meshbuffers are now deleted when they hold the last reference to a meshbuffer
|
||||||
- Variable order inside SMaterial and SMaterialLayer changed for better packing
|
- Variable order inside SMaterial and SMaterialLayer changed for better packing
|
||||||
- line3d::getClosestPoint can now chose between using line or line segment
|
- line3d::getClosestPoint can now chose between using line or line segment
|
||||||
- MY3D loader deprecated and disabled by default as MY3D tools can't be found on the web anymore. Also could always be used as external loader.
|
- MY3D loader deprecated and disabled by default as MY3D tools can't be found on the web anymore. Also could always be used as external loader.
|
||||||
|
@ -1815,7 +1815,7 @@ void CNullDriver::updateAllHardwareBuffers()
|
|||||||
SHWBufferLink *Link=Iterator.getNode()->getValue();
|
SHWBufferLink *Link=Iterator.getNode()->getValue();
|
||||||
|
|
||||||
Link->LastUsed++;
|
Link->LastUsed++;
|
||||||
if (Link->LastUsed>20000)
|
if (Link->LastUsed>20000 || Link->MeshBuffer->getReferenceCount() == 1)
|
||||||
{
|
{
|
||||||
deleteHardwareBuffer(Link);
|
deleteHardwareBuffer(Link);
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
Tests finished. 72 tests of 72 passed.
|
Tests finished. 72 tests of 72 passed.
|
||||||
Compiled as DEBUG
|
Compiled as DEBUG
|
||||||
Test suite pass at GMT Thu Feb 22 17:49:13 2024
|
Test suite pass at GMT Thu Feb 29 13:39:39 2024
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user