1

这段代码将解释情节:

// 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

我无法完全破坏渲染器并清除它的记忆。为什么?我在这里做错了什么?

4

1 回答 1

2

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

于 2014-01-06T21:37:21.430 回答