Qt Distance Field Generator 매뉴얼
애플리케이션의 사용자 인터페이스에 텍스트가 많을 경우, 사용자에게 처음 표시될 때 미미하지만 눈에 띄는 성능 저하를 초래할 수 있습니다. 특히 텍스트가 여러 가지 다른 글꼴로 렌더링되거나, 서로 다른 문자가 대량으로 사용되는 경우(예: 한자(Hanzi)와 같은 문자 체계에서 흔히 볼 수 있음)에는 더욱 그렇습니다.
그 이유는, 나중에 텍스트를 효율적으로 렌더링하기 위해 Qt가 각 글리프에 대한 그래픽 자산을 생성하는 데 약간의 시간을 소요하며, 이 자산들은 나중에 재사용되기 때문입니다. 이는 글리프가 씬에 처음 표시될 때 발생합니다.
시작 성능을 최적화하고자 하는 숙련된 사용자의 경우, Text.QtRendering이 사용 중인 렌더링 유형이라면 이 글꼴 캐시를 미리 생성할 수 있습니다. ` Qt Distance Field Generator ` 도구를 사용하여 글꼴 내의 모든 글리프에 대해 캐시를 미리 생성하거나, 중요한 단계에서 표시될 것으로 알려진 선택된 글리프에 대해서만 캐시를 미리 생성할 수 있습니다.
참고: 이 도구는 고급 사용자가 Qt가 자동으로 수행할 수 없는 방식으로 애플리케이션을 최적화하기 위해 사용할 수 있습니다. 대부분의 일반적인 사용 사례에서는 Qt의 기본 동작만으로도 충분합니다.

일반적인 사용법
' Qt Distance Field Generator '을 다음과 같이 사용합니다:
- ‘파일 > 글꼴 열기’를 통해 글꼴 파일을 불러옵니다. 글꼴 파일의 크기가 큰 경우, 글꼴을 읽고 거리 필드를 생성하는 동안 잠시 대기 시간이 발생합니다.
- 이 과정이 완료되면, 미리 생성된 캐시에 저장할 글리프를 선택하십시오. 성능이 특히 중요한 단계에서 애플리케이션이 사용하는 글리프를 선택하는 것이 이상적이며, 이렇게 미리 생성해 두면 성능에 눈에 띄는 향상을 가져올 수 있습니다.
- 마지막으로 ‘저장’을 클릭하여 새 글꼴 파일을 저장합니다.
참고: 이러한 방식으로 글꼴을수정하려면 해당 글꼴의 라이선스에서 이를 금지하지 않는지 확인해야 합니다.
글리프 선택
글리프는 여러 가지 방법으로 선택할 수 있습니다. 가장 간단한 방법은 글리프 격자를 클릭하여 특정 글리프를 선택하는 것입니다. 글리프를 다시 클릭하면 선택을 취소할 수 있습니다.
또한, 유니코드 범위 목록을 사용하여 특정 범위의 문자와 일치하는 모든 글리프를 선택할 수 있습니다.
사용자 인터페이스에서 특정 문자열에 대한 글리프를 미리 생성하고자 하는 경우, ‘선택 > 문자열 선택’ 기능을 사용할 수 있습니다.
참고: 후자의 두 가지 선택 방법은모두 글꼴 내의 CMAP 테이블을 기반으로 결과를 산출하며, 셰이핑 처리는 수행하지 않습니다.
파일 사용
파일을 준비했다면, 다음 단계는 애플리케이션에 파일을 불러오는 것입니다. 저장된 파일은 원본 글꼴 파일의 복사본이므로 다른 글꼴 파일과 동일한 방식으로 사용할 수 있습니다. 또한, 이 파일에는 Qt에서 인식하는 특수한 글꼴 테이블이 포함되어 있으며, Qt Quick 에서 글꼴이 사용될 때 글리프 캐시를 미리 채우는 데 사용됩니다.
예를 들어, 애플리케이션 코드에서 ` FontLoader `을 사용하여 글꼴을 불러올 수 있습니다. ` renderType `이 ` Text.QtRendering `(기본값)로 설정된 ` Text ` 요소에서 텍스트를 표시하는 데 이 글꼴이 사용되면, 미리 생성된 캐시가 불러와져 사용됩니다.
성능 측정
거리 필드 생성이 애플리케이션에 미치는 영향을 분석하려면 QT_LOGGING_RULES 환경 변수를 "qt.scenegraph.time.glyph=true" 로 설정할 수 있습니다.
내장 캐시가 없는 일반 글꼴을 사용할 경우, 다음과 유사한 결과가 출력됩니다:
qt.scenegraph.time.glyph: distancefield: 50 glyphs prepared in 16ms, rendering=15, upload=1사용 중인 모든 글리프를 미리 생성해 둔 경우, 출력은 다음과 같이 표시됩니다:
qt.scenegraph.time.glyph: distancefield: 50 pre-generated glyphs loaded in 2ms이 경우, 애플리케이션에서 렌더링하는 데 사용되는 거리 필드를 준비하는 데 소요되는 시간이 전체 프레임(16 ms)에서 2 ms로 단축되었습니다. 또한 이 출력을 통해 사용 중인 모든 글리프가 캐시에서 로드되고 있는지 확인하고, 성능 측면에서 애플리케이션 수명 주기 중 문제가 되는 단계를 파악할 수도 있습니다.
© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.