준비 요청 · 작업 대기열 · 첫 사용
고정 지연을 사용하는 작업 일정 모형 · 재생 1초 = 모의 50ms
문제 · 원인 · 해결 · 대가
0ms 요청, 20ms 시작, 40ms 준비라면 완료는 60ms입니다. 50ms에 필요하면 10ms 늦습니다. 누락된 조합은 필요할 때 처음 요청하므로 「요청했지만 늦음」과 원인이 다릅니다. 같은 셰이더도 정점 형식·블렌딩·패스가 다르면 다른 조합일 수 있습니다.
먼저 요청하거나 필요한 조합을 빠짐없이 수집합니다. 후보를 모두 준비하면 사용하지 않는 작업과 메모리가 늘 수 있습니다. 이 모형은 24개 조합 가능성 중 유효한 10개, 실제 쓰는 #0·#5·#9 세 개를 사용하며 각각 40ms 간격으로 필요해집니다. 작업 슬롯을 늘리면 병렬 준비가 가능하지만 실제 환경의 CPU·메모리 경쟁까지 해결된다는 뜻은 아닙니다.
프레임 대기는 움직이는 점까지 멈춥니다. 표시 보류는 효과를 늦추고, 기본 재질은 회색 효과를 먼저 보여줍니다. 시작 전 대기는 필요한 세 작업의 완료까지 시작 시각을 뒤로 옮깁니다. 작업 실패는 완료돼도 사용 가능한 ready 시각이 없으므로 오류 대체 표시를 유지합니다.
화면의 움직임은 선택한 조합 하나의 지연만 반영합니다. CPU·GPU·드라이버 캐시 재조회와 실제 WebGL 컴파일은 측정하지 않습니다. KHR_parallel_shader_compile의 완료 조회와 성공 확인도 별개이며 WebGL 프로그램과 PSO는 동일한 객체가 아닙니다.
Epic PSO Precaching · Khronos 확장 사양