2013-03-30 3 views
1

게임에 기본 사항을 설정했지만 글꼴 렌더링 (처음에는 화면에 디버그 출력을위한)을 포함하고 싶습니다.SDL2 및 SDL_ttf - 모범 사례

다양한 튜토리얼과 SDL_ttf 라이브러리를 보면 뭔가 명확하게 설명해야합니다. SDL_ttf는 하드웨어 렌더링이 가능하도록 텍스처를 생성 할 수있는 SDL_Surface를 제공합니다. 전체 프로세스는 글꼴 파일로드가 필요합니다.

내 주요 질문은 - 글꼴이 더 이상 필요하지 않을 때까지 글꼴 파일을 열어 두어도 안전한가요?

SDL_Texture를 만든 직후 폰트 파일을 닫은 튜토리얼을 보았습니다. 예를 들어 자주 업데이트되는 텍스트에 사용 된 경우 프레임 속도 카운터는 매우 비효율적이며 글꼴 파일을 열어 두는 것이 좋습니다 (부정적인 영향이 없다고 가정).

글꼴 파일을 열어두면 다른 글꼴에서 사용할 수 없도록 잠글 수 있습니까?

+0

에 대한 @Armin하는 TTF_OpenFont

신용에 호출 후 (가 알고 보니하지 않거나)

초기 문제는 가까운 열기를 나머지 파일 주위 혼란의 결과였다 파일, 메모리를 사용하십시오. –

+0

@Armin TTF_CloseFont (TTF_Font * font)를 사용하여 SDL_ttf에서 글꼴을 릴리스하면 글꼴 파일이 닫히지 만 글꼴 자체도 메모리에서 제거되므로 나중에 사용할 수 없다는 인상을 받았습니다. – Zammalad

+2

나는 단지 일반화하고 있었다. 당신이 사용하고있는 함수를 쓰지는 않았지만'TTF_OpenFont'는 파일을 열어 두지 않는다. 디스크에있는 혼란스러운 기억과 파일. –

답변

2

의견을 통해 TTF_OpenFont을 사용하여 글꼴 파일을 열 때 디스크의 파일이 열리지 않는다는 것이 이제 분명합니다. 따라서 글꼴이 열리면 정상적으로 사용하기 위해 메모리에 저장되므로 더 이상 필요하지 않으면 TTF_CloseFont으로 풀릴 수 있습니다. 메모리에 파일을 읽고이