Jump to content

Engine shutdown do not release all memory


photo

Recommended Posts

Posted (edited)

Hello

we need function that run 3d scene by button

                Wrapper.init();
                Engine = Unigine.Engine.init(Engine.VERSION, args);
                AppWorldLogic worldLogic = new AppWorldLogic(this);
                Engine.main(null, worldLogic, null);
                Engine.shutdown();

the problem - each run consumes about 500Mb RAM (Engine.shutdown() do not release all memory, only about 100Mb)

is that can be corrected?

or how to release all memory taken by engine?

same in c++

void run(int argc, wchar_t *argv[]) {
	Unigine::EnginePtr engine(UNIGINE_VERSION, argc, argv);

	AppSystemLogic system_logic;
	AppWorldLogic world_logic;
	AppEditorLogic editor_logic;

	engine->main(&system_logic, &world_logic, &editor_logic);

//	engine->shutdown(); nope
}

int wmain(int argc, wchar_t *argv[])
{
	run(argc, argv);

	run(argc, argv);
	return 0;
}

 

Edited by lightmap
Posted

yes using 2.6.1 reproducible in c++ same way as in c#

int wmain(int argc, wchar_t *argv[])
{
	run(argc, argv);// alloc ~500Mb
	//released ~100Mb
	run(argc, argv);// alloc +~500Mb total ~1Gb
	//... so on
	return 0;
}

 

  • 4 weeks later...
Posted

There was some issues related to video memory management (textures not cleared completely at shutdown) with DX11 renderer.

We've fixed most of them in the 2.7.2 SDK update (release next week). Right now engine shutdown-init cycle will result in slightly increasing of memory usage compared to previous results (~10MB out of ~400 MB).

Thanks!

How to submit a good bug report
---
FTP server for test scenes and user uploads:

×
×
  • Create New...