Jump to content

Engine shutdown do not release all memory


photo

Recommended Posts

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
Link to comment

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;
}

 

Link to comment
  • 4 weeks later...

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:

Link to comment
×
×
  • Create New...