我在游戏中设置了一些基础知识但是我想要包含字体渲染(最初用于调试输出到屏幕)。
查看各种教程和SDL_ttf库我需要澄清一些事情。 SDL_ttf将为您提供SDL_Surface,然后您可以创建纹理以允许硬件渲染。整个过程虽然需要加载字体文件。
我的主要问题是 - 在不再需要字体之前将字体文件保持打开是否安全?
我看到一个教程在创建SDL_Texture后立即关闭了字体文件。我的想法是,如果这用于经常更新的文本,例如帧速率计数器,这将是非常低效的,并且最好保持字体文件打开(假设没有负面影响)。
如果字体文件保持打开状态,它是否会被锁定,以便没有其他字体可以使用它,那么后续操作会是什么?
答案 0 :(得分:2)
现在很清楚,当使用TTF_OpenFont
打开字体文件时,磁盘上的文件不会保持打开状态。因此,一旦打开字体,它就会在内存中正常使用,然后可以在不再需要时使用TTF_CloseFont
释放。
最初的问题是在调用TTF_OpenFont
感谢@Armin这个