SDL2& SDL_ttf - 最佳实践

时间:2013-03-30 18:50:13

标签: sdl sdl-2 sdl-ttf

我在游戏中设置了一些基础知识但是我想要包含字体渲染(最初用于调试输出到屏幕)。

查看各种教程和SDL_ttf库我需要澄清一些事情。 SDL_ttf将为您提供SDL_Surface,然后您可以创建纹理以允许硬件渲染。整个过程虽然需要加载字体文件。

我的主要问题是 - 在不再需要字体之前将字体文件保持打开是否安全?

我看到一个教程在创建SDL_Texture后立即关闭了字体文件。我的想法是,如果这用于经常更新的文本,例如帧速率计数器,这将是非常低效的,并且最好保持字体文件打开(假设没有负面影响)。

如果字体文件保持打开状态,它是否会被锁定,以便没有其他字体可以使用它,那么后续操作会是什么?

1 个答案:

答案 0 :(得分:2)

现在很清楚,当使用TTF_OpenFont打开字体文件时,磁盘上的文件不会保持打开状态。因此,一旦打开字体,它就会在内存中正常使用,然后可以在不再需要时使用TTF_CloseFont释放。

最初的问题是在调用TTF_OpenFont

之后文件保持打开(或者没有结果)的混淆造成的结果

感谢@Armin这个