LVRS Storyboard Frame
backend/AppBootstrap.svx
Path: backend/AppBootstrap.svx
AppBootstrap
위치: backend/runtime/appbootstrap.h / backend/runtime/appbootstrap.cpp
AppBootstrap는 그래픽 백엔드 정책, 스타일 설정 및 글꼴 대체 경로 설정을 위한 사전/사후 애플리케이션 초기화 루틴을 제공합니다.
API
lvrs::preApplicationBootstrap(options) -> AppBootstrapStatelvrs::postApplicationBootstrap(app, options) -> void
AppBootstrapOptions
applicationName: QStringquickStyleName: QStringconfigureRenderQualityDefaults: bool(기본값true)bootstrapGraphicsBackend: bool(기본값true)logGraphicsBackend: bool(기본값true)installBundledFonts: bool(기본값true)installPretendardFallbacks: bool(기본값true)enforcePretendardFallback: bool(기본값true)
AppBootstrapState
ok: boolerrorMessage: QStringgraphicsBackend: GraphicsBackendBootstrapResult
필수 호출 순서
QGuiApplication를 생성하기 전에preApplicationBootstrap를 호출하세요.state.ok == false인 경우 시작을 중단합니다.QGuiApplication를 구축하세요.- 앱 생성 후 즉시
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. 기술적으로는 건너뛸 수 있지만 권장 시작 기준(글꼴/대체/앱 이름)은 불완전합니다.