SDL2 & SDL_ttf - лучшие практики
В моей игре настроены некоторые основы, но я пришел к тому, что хочу включить рендеринг шрифтов (изначально для отладочного вывода на экран).
Глядя на различные учебники и библиотеку SDL_ttf, мне нужно кое-что прояснить. SDL_ttf даст вам SDL_Surface, из которого вы можете затем создать текстуру, чтобы обеспечить аппаратный рендеринг. Однако весь процесс требует загрузки файла шрифта.
Мой главный вопрос - безопасно ли оставлять файл шрифта открытым, пока шрифт больше не нужен?
Я видел учебник, который закрыл файл шрифта сразу после создания SDL_Texture. Я думал, что если это будет использоваться для часто обновляемого текста, например, счетчика частоты кадров, это будет крайне неэффективно, и было бы лучше оставить файл шрифтов открытым (при условии, что это не окажет негативного влияния).
И следствием этого будет то, что если файл шрифта остается открытым, будет ли он заблокирован, чтобы никакой другой шрифт не мог его использовать?
1 ответ
Из обратной связи теперь ясно, что при открытии файла шрифта с помощью TTF_OpenFont
файл на диске не остается открытым. Поэтому, как только шрифт был открыт, он находится в памяти для обычного использования и затем может быть освобожден с помощью TTF_CloseFont
когда больше не требуется.
Первоначальный вопрос был вызван путаницей из-за того, что файл оставался открытым (или не таким, как оказалось) после вызова TTF_OpenFont
Кредит @Armin для этого