代码之家  ›  专栏  ›  技术社区  ›  michael

在SDL中,如果我重新渲染文本,是否需要释放曲面?

  •  2
  • michael  · 技术社区  · 14 年前

    如果我使用以下代码…

    message = TTF_RenderText_Solid( font, "Lorem Ipsum", textColor ); 
    

    我需要自由吗 消息 在我做这个之前

    message = TTF_RenderText_Solid( font, "Lorem Ipsum part 2", textColor ); 
    

    也就是说,它是给我一个新的表面(所以我必须清理旧的),还是只是在旧的表面上闪烁?

    1 回复  |  直到 14 年前
        1
  •  1
  •   nos    14 年前

    是的,你应该有空 message 具有 SDL_FreeSurface 完成后。返回的SDL U表面分配有 SDL_AllocSurface() ,并且不能重复使用,因此如果在这种情况下不释放它,则会发生泄漏。