SDL2内存在SDL_DestroyRenderer上泄漏

时间:2013-12-29 09:49:10

标签: c++ memory memory-leaks sdl sdl-2

此代码将解释情节:

// on init:

m_mainWindow = SDL_CreateWindow("title", SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED, 480, 640, SDL_WINDOW_SHOWN);
m_mainRenderer = SDL_CreateRenderer(m_mainWindow, -1, 0); // + 8 Mb of memory

// on screen resize when my ios sends SDL_WINDOWRESIZED:
SDL_DestroyRenderer(m_mainRenderer); // - 1!!! Mb of memory

m_mainRenderer = SDL_CreateRenderer(m_mainWindow, -1, 0); // + 6 Mb of memory

我不能完全摧毁渲染器并清除它的记忆。为什么?我在这里做错了什么?

1 个答案:

答案 0 :(得分:2)

您不需要在每次调整大小时创建渲染器,渲染器大小将自动更新...基本上,您只需一个渲染器即可在软件中执行所有操作。顺便说一句,SDL_Renderer不包含维度属性,窗口包含它,SDL_Renderer链接到该窗口