이 페이지에서

Qt Distance Field Generator 매뉴얼

애플리케이션의 사용자 인터페이스에 많은 텍스트가 있는 경우 사용자에게 처음 표시될 때 작지만 눈에 띄는 성능 저하가 발생할 수 있습니다. 특히 텍스트가 여러 가지 다른 글꼴로 렌더링되거나 많은 양의 고유 문자(예: 한자, 중국어와 같은 문자 체계에서 일반적)를 사용하는 경우 더욱 그렇습니다.

그 이유는 나중에 텍스트를 효율적으로 렌더링하기 위해 Qt가 나중에 재사용할 각 글리프에 대한 그래픽 에셋을 만드는 데 시간을 소비하기 때문입니다. 이 작업은 장면에 글리프가 처음 표시될 때 발생합니다.

시작 성능을 최적화하려는 고급 사용자의 경우, 사용 중인 렌더링 유형이 Text.QtRendering인 경우 이 글꼴 캐시를 미리 생성할 수 있습니다. Qt Distance Field Generator 도구를 사용하여 글꼴의 모든 글리프 또는 중요한 단계에 표시되는 것으로 알려진 선택 항목에 대해 캐시를 미리 생성할 수 있습니다.

참고: 이 도구는 고급 사용자가 Qt에서 자동으로 수행할 수 없는 방식으로 애플리케이션을 간소화하기 위해 사용할 수 있는 도구입니다. 대부분의 일반적인 사용 사례에서는 Qt의 기본 동작으로 충분합니다.

Qt Distance Field Generator UI

일반적인 사용법

Qt Distance Field Generator 을 다음과 같은 방법으로 사용합니다:

  • 파일 > 글꼴 열기를 사용하여 글꼴 파일을 로드합니다. 글꼴 파일이 큰 경우 글꼴을 읽고 거리 필드를 생성하는 동안 약간의 대기 시간이 있을 수 있습니다.
  • 이 작업이 완료되면 미리 생성된 캐시에 저장할 글리프를 선택합니다. 이 글리프는 성능이 중요한 단계에서 애플리케이션에서 사용하는 글리프여야 하며, 미리 생성하면 성능에 눈에 띄는 영향을 줄 수 있습니다.
  • 마지막으로 저장을 클릭하여 새 글꼴 파일을 저장합니다.

참고: 이러한 방식으로 글꼴을 수정하려면 해당 글꼴의 라이선스가 이를 금지하지 않는지 확인해야 합니다.

글리프 선택하기

글리프는 여러 가지 방법으로 선택할 수 있습니다. 가장 간단한 방법은 글리프 그리드를 클릭하여 특정 글리프를 선택하는 것입니다. 글리프를 다시 클릭하면 선택을 취소할 수 있습니다.

또한 유니코드 범위 목록을 사용하여 특정 범위의 문자와 일치하는 모든 글리프를 선택할 수 있습니다.

사용자 인터페이스에서 특정 문자열에 대한 글리프를 미리 생성하려면 선택 > 문자열 선택 기능을 사용하면 됩니다.

참고: 후자의 두 가지 선택 방법은 모두 글꼴의 CMAP 테이블을 기반으로 결과를 생성하며 모양을 지정하지 않습니다.

파일 사용

파일을 준비했으면 다음 단계는 애플리케이션에 파일을 로드하는 것입니다. 저장된 파일은 원본 글꼴 파일의 복사본이므로 다른 글꼴 파일과 동일한 방식으로 사용할 수 있습니다. 또한 이 파일에는 Qt에서 인식하고 글꼴이 Qt Quick 에서 사용될 때 글리프 캐시를 미리 채우는 데 사용되는 특수 글꼴 테이블이 있습니다.

예를 들어 애플리케이션 코드에서 FontLoader 을 사용하여 글꼴을 로드할 수 있습니다. renderTypeText.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

이 경우 애플리케이션에서 렌더링하는 데 사용되는 거리 필드를 준비하는 데 사용되는 시간이 한 풀 프레임(16ms)에서 2ms로 단축되었습니다. 또한 이 출력을 사용하여 사용 중인 모든 글리프가 캐시에서 로드되고 있는지 확인하고 애플리케이션의 수명 주기에서 성능 측면에서 문제가 있는 단계를 식별할 수 있습니다.

© 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.