LVRS Storyboard Frame

backend/AppBootstrap.svx

Path: backend/AppBootstrap.svx

Last modified:

AppBootstrap

위치: backend/runtime/appbootstrap.h / backend/runtime/appbootstrap.cpp

AppBootstrap는 그래픽 백엔드 정책, 스타일 설정 및 글꼴 대체 경로 설정을 위한 사전/사후 애플리케이션 초기화 루틴을 제공합니다.

API

  • lvrs::preApplicationBootstrap(options) -> AppBootstrapState
  • lvrs::postApplicationBootstrap(app, options) -> void

AppBootstrapOptions

  • applicationName: QString
  • quickStyleName: QString
  • configureRenderQualityDefaults: bool(기본값 true)
  • bootstrapGraphicsBackend: bool(기본값 true)
  • logGraphicsBackend: bool(기본값 true)
  • installBundledFonts: bool(기본값 true)
  • installPretendardFallbacks: bool(기본값 true)
  • enforcePretendardFallback: bool(기본값 true)

AppBootstrapState

  • ok: bool
  • errorMessage: QString
  • graphicsBackend: GraphicsBackendBootstrapResult

필수 호출 순서

  1. QGuiApplication를 생성하기 전에 preApplicationBootstrap를 호출하세요.
  2. state.ok == false인 경우 시작을 중단합니다.
  3. QGuiApplication를 구축하세요.
  4. 앱 생성 후 즉시 postApplicationBootstrap를 호출하세요.

preApplicationBootstrap의 기능

  • 옵션 RenderQuality::configureGlobalDefaults().
  • 옵션 QQuickStyle::setStyle(quickStyleName).
  • 옵션 그래픽 백엔드 부트스트랩 및 진단 로깅.
  • 기본 GPU 캐시 힌트 ( QSG_RHI_PIPELINE_CACHE_LOAD/SAVE ) 를 RenderQuality 글로벌 기본값 경로를 통해 초기화합니다.

postApplicationBootstrap의 기능

  • 애플리케이션 이름을 적용합니다(제공된 경우).
  • 리소스 세트에서 번들된 글꼴을 로드합니다.
  • Pretendard 대체를 설치합니다.
  • 선택적으로 Pretendard 대체 경로를 적용하고 적용이 실패할 경우 경고합니다.

일반적인 C++ 사용법

lvrs::AppBootstrapOptions options;
options.applicationName = QStringLiteral("MyApp");
options.quickStyleName = QStringLiteral("Basic");

const lvrs::AppBootstrapState state = lvrs::preApplicationBootstrap(options);
if (!state.ok)
    return -1;

QGuiApplication app(argc, argv);
lvrs::postApplicationBootstrap(app, options);

옵션 튜닝 예

최소 시작(제한된 테스트 하니스에 대해 백엔드 부트스트랩 비활성화):

lvrs::AppBootstrapOptions options;
options.bootstrapGraphicsBackend = false;
options.logGraphicsBackend = false;

글꼴 중심 시작(입력 체계 정책만 유지):

lvrs::AppBootstrapOptions options;
options.configureRenderQualityDefaults = false;
options.bootstrapGraphicsBackend = false;
options.installBundledFonts = true;
options.installPretendardFallbacks = true;

문제 해결

  • state.ok == false: state.errorMessage를 기본 근본 원인 문자열로 사용합니다.
  • 누락된 스타일 변경: 앱을 생성하기 전에 quickStyleName가 설정되어 있는지 확인하세요.
  • 예기치 않은 글꼴 대체 경로: 번들 글꼴 리소스 및 대체 경로 적용 결과를 확인합니다.

FAQ

Q. postApplicationBootstrap를 건너뛸 수 있나요? A. 기술적으로는 건너뛸 수 있지만 권장 시작 기준(글꼴/대체/앱 이름)은 불완전합니다.