此代码将解释情节:
// 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
我不能完全摧毁渲染器并清除它的记忆。为什么?我在这里做错了什么?
答案 0 :(得分:2)
您不需要在每次调整大小时创建渲染器,渲染器大小将自动更新...基本上,您只需一个渲染器即可在软件中执行所有操作。顺便说一句,SDL_Renderer不包含维度属性,窗口包含它,SDL_Renderer链接到该窗口