I'm using CEGUI with MS VS 2012 (self compiled 64 bit with DirectX11).
Everything wors fine and CEGUI is great. I'm near finishing the project. And when it comes to memory Leaks, i have some trouble.
Code: Select all
Detected memory leaks!
Dumping objects ->
{148690} normal block at 0x0000000000487490, 144 bytes long.
Data: <07/02/2014 17:41> 30 37 2F 30 32 2F 32 30 31 34 20 31 37 3A 34 31
{146273} normal block at 0x00000000048C7D40, 752 bytes long.
Data: < R 0 R > C0 7F 52 04 00 00 00 00 30 EC 52 04 00 00 00 00
{143850} normal block at 0x0000000000435060, 192 bytes long.
Data: <P A P A > 50 B4 41 00 00 00 00 00 50 B4 41 00 00 00 00 00
{143835} normal block at 0x0000000004ADEFE0, 1044 bytes long.
Data: <P r o g > 50 00 00 00 72 00 00 00 6F 00 00 00 67 00 00 00
{143824} normal block at 0x0000000004ACC600, 48 bytes long.
Data: <tl:FFFFFFFF tr:F> 74 6C 3A 46 46 46 46 46 46 46 46 20 74 72 3A 46
{143795} normal block at 0x0000000004ACBCB0, 48 bytes long.
Data: <tl:FFFFFFFF tr:F> 74 6C 3A 46 46 46 46 46 46 46 46 20 74 72 3A 46
{143660} normal block at 0x0000000004ACC1B0, 144 bytes long.
Data: < > 00 00 00 00 00 00 00 00 00 00 00 00 FF FF FF FF
{143655} normal block at 0x0000000004ACBBB0, 16 bytes long.
Data: < J > D0 0E 4A 00 00 00 00 00 06 00 00 00 01 CC CC CC
{143654} normal block at 0x0000000004ACBB10, 48 bytes long.
Data: <tl:FFFFFFFF tr:F> 74 6C 3A 46 46 46 46 46 46 46 46 20 74 72 3A 46
This, followed by some other megabytes of Data is left in teh Memory. It seems to be a lot from CEGUI, I think that shouldn't be normal behavior.
I think there its just a simple code to execute for unloading. But couldn't find the right lines.
I start CEGUI like this:
Code: Select all
InitD3D();
CEGUI::Direct3D11Renderer &myRenderer = CEGUI::Direct3D11Renderer::bootstrapSystem(dev , devcon );
ceGUIrenderer = &myRenderer;
ResourceProvider = static_cast<CEGUI::DefaultResourceProvider*>(CEGUI::System::getSingleton().getResourceProvider());
ResourceProvider->setResourceGroupDirectory(RES_SCHEMES_NAME, RES_SCHEMES_FOLDER);
ResourceProvider->setResourceGroupDirectory(RES_IMAGESETS_NAME, RES_IMAGESETS_FOLDER);
ResourceProvider->setResourceGroupDirectory(RES_FONTS_NAME, RES_FONTS_FOLDER);
ResourceProvider->setResourceGroupDirectory(RES_LAYOUTS_NAME, RES_LAYOUTS_FOLDER);
ResourceProvider->setResourceGroupDirectory(RES_LOOKNFEELS_NAME, RES_LOOKNFEELS_FOLDER);
ResourceProvider->setResourceGroupDirectory(RES_LUA_NAME, RES_LUA_FOLDER);
CEGUI::ImageManager::setImagesetDefaultResourceGroup(RES_IMAGESETS_NAME);
CEGUI::Font::setDefaultResourceGroup(RES_FONTS_NAME);
CEGUI::Scheme::setDefaultResourceGroup(RES_SCHEMES_NAME);
CEGUI::WidgetLookManager::setDefaultResourceGroup(RES_LOOKNFEELS_NAME);
CEGUI::WindowManager::setDefaultResourceGroup(RES_LAYOUTS_NAME);
CEGUI::ScriptModule::setDefaultResourceGroup(RES_LUA_NAME);
CEGUI::SchemeManager::getSingleton().createFromFile( "LvtLook.scheme" );
So waht would be the right unload code? everything i tried was aborting with various Exceptions.
And do I have to delete/unload every single Window i create in CEGUI?
Help is welcome
Best regards from Black Forest Germany
sluburob