Technologické požadavky a optimalizace obsahu pro smíšenou realitu: výkon

Technologické požadavky a optimalizace MR obsahu: Výkon

MR jako průsečík reálného a digitálního světa

Smíšená realita (MR) kombinuje prostorově ukotvený digitální obsah s reálným prostředím prostřednictvím senzorů, prostorového mapování a renderingu s nízkou latencí. Kvalita výsledku přímo závisí na správně zvolených technologických požadavcích a disciplinované optimalizaci obsahu i kódu. Tento článek shrnuje klíčové parametry hardwaru, pipeline pro sledování a vykreslování, doporučené rozpočty pro 3D aktiva a praktické techniky pro dosažení stabilního, komfortního a věrného MR zážitku.

Hardwarové předpoklady a třídy zařízení

  • HMD (head-mounted display): průhledná optika (waveguide) nebo video-passthrough, sledování 6DoF, IMU + kamery.
  • Mobilní/standalone zařízení: SoC (ARM), omezené TDP (3–10 W), sdílená paměť; důraz na efektivitu shaderů a streamování aktiv.
  • PC/konzolová MR: samostatná GPU, vyšší rozlišení i snímková frekvence; větší prostor pro pokročilé efekty (GI, volumetrické efekty) s foveací.
  • XR brýle vs. helmy: brýle upřednostňují nízkou hmotnost a energetickou efektivitu; helmy nabízejí širší FOV a robustnější senzory.

Optika, displeje a komfort

  • Rozlišení a PPD: cílit na dostatečný počet pixelů na stupeň (pixels-per-degree) pro dobrou čitelnost textu; textové UI umisťovat do oblastí s hodnotou >= 20 PPD.
  • FOV: horizontálně 40–110° podle třídy zařízení; širší FOV zvyšuje nároky na fill-rate a synchronizaci CPU/GPU.
  • IPD a vzdálenost oka od optiky: podporovat kalibraci pro každého uživatele; texty a UI vykreslovat ve vzdálenosti >= 0.8 m pro omezení konfliktu vergence a akomodace.
  • Jas a kontrast: u MR s passthrough řešit mapování HDR mezi kamerou a displejem; vyhnout se přepalům světlých ploch.

Senzorika, SLAM a prostorové kotvy

  • SLAM (simultánní lokalizace a mapování): kombinace IMU a kamer (VIO) pro 6DoF; vyžaduje stabilní osvětlení a texturu povrchů.
  • Prostorové kotvy (anchors): uchovávají polohu a orientaci objektů; implementovat relocalization a perzistenci napříč jednotlivými relacemi.
  • Režijní náklady: pravidelná aktualizace pose (60–90 Hz), rekonstrukce meshe přibližně při 10–30 Hz, minimalizace GC a zámků v hlavním vlákně.

Latence a časování: rozpočty pro komfort

  • Motion-to-Photon (M2P): cílit na < 20 ms u PC a < 30 ms u standalone zařízení. Nad 40 ms dramaticky roste riziko kinetózy.
  • Frekvence: 60/72/90/120 Hz podle zařízení; stabilita je důležitější než dosažení maximální frekvence.
  • Fáze pipeline: senzory → predikce → simulace/animace → renderování → reprojekce → kompozice. Eliminovat „bubliny“ mezi CPU a GPU.

Renderovací pipeline a reprojekce

  • Late-latching / late-stage reprojection: aktualizace matice pohledu těsně před scan-out; vyžaduje oddělené buffery a predikci pohybu hlavy.
  • Asynchronní reprojekce: vyhlazuje mikrootřesy při krátkodobém poklesu FPS; omezit artefakty na hranách a při rychlém paralaxu.
  • Foveated rendering: statický (se zvýšeným rozlišením ve středu zorného pole) nebo dynamický eye-tracked; snižuje zatížení pixel shadingem o 30–60 % bez viditelné ztráty kvality.

Passthrough, zakrývání a scene understanding

  • Video-passthrough: kalibrace barev a vyvážení bílé a práce s latencí; stabilizovat artefakty rolling shutteru.
  • Zakrývání reálnými objekty (occlusion): využívat hloubkovou mapu/mesh ze SLAM; hloubku obsahu testovat proti environment depth.
  • Segmentace: detekce stěn, podlah, stolů a lidských postav pro fyzikálně věrohodné interakce a kolize.

Rozpočty aktiv: polygony, materiály, textury

Aktivum Standalone MR PC/konzolová MR Poznámka
Hlavní postava (hero asset) 10–40 tis. tris 40–120 tis. tris U LOD0; nutné LOD1–3 s agresivní decimací
Scénická rekvizita 1–8 tis. tris 8–30 tis. tris Instancovat podobné položky
Materiály 1–2 draw calls 1–3 draw calls Sloučit do atlasů, minimalizovat změny stavu
Textury 512–1024 px 1024–2048 px BC/ASTC, vždy mipmapy a trilineární filtrování

Shaderové techniky a fill-rate

  • Výpočetní složitost: minimalizovat větvení a dynamické smyčky; upřednostňovat LUT a načítání textur před náročnými výpočty.
  • Balení normal a roughness map: společné kanály v jedné textuře snižují nároky na propustnost paměti.
  • Alpha test vs. alpha blend: alpha test upřednostňovat u stromů a okrajů; blending je náročný na overdraw a řazení podle hloubky.

LOD, impostory a culling

  • LOD kaskády: přepínat podle úhlové velikosti (chyby v prostoru obrazovky) a vzdálenosti; u standalone zařízení používat agresivnější nastavení.
  • Impostory/billboardy: využívat u vzdálených objektů a vegetace; generovat ve fázi bake.
  • Frustum, occlusion a portal culling: využívat funkce enginu a prostorové rozdělení (BVH, gridy).

Fyzika, kolize a stabilita

  • Jednoduché kolizní meshe: konvexní primitiva a low-poly proxy; kolize se složitými meshi jsou náročné.
  • Pevný časový krok: stabilní fyzika (např. 60 Hz) oddělená od renderování; interpolace stavů.
  • Uchopování a interakce: využívat continuous collision detection pro ruce/kontrolery; tlumit jitter filtrem (One-Euro, Kalman).

Osvětlení a stíny v MR

  • Odhad osvětlení: přebírat barevnou teplotu a intenzitu z kamer/senzorů; sjednotit stínování s reálnou scénou.
  • Stíny: u standalone zařízení používat blob/planar stíny; zařízení třídy PC mohou využívat cascaded shadow maps s přiměřeným rozlišením.
  • Reflexe: využívat screen-space reflexe nebo reflection probes; vyhnout se odrazům v reálném čase na planárních plochách mimo klíčové scény.

UX a čitelnost v prostoru

  • Diegetické UI: upřednostňovat UI ukotvené v prostoru před 2D panely; pokud se používá panel, umístit jej 1–2 m od uživatele a zajistit minimální výšku písma odpovídající vizuálnímu úhlu 1.2–1.5°.
  • Bezpečné zóny: nevkládat obsah blíže než < 0.5 m (namáhá oči) ani dále než > 5 m bez LOD.
  • Interakce: ray + affordance, direct touch s haptickou odezvou (pokud je k dispozici), hlas a gesta jako doplňkové možnosti.

Audio a haptika

  • Prostorový zvuk: HRTF s occlusion/obstruction; dozvuk z volumetrických zón (místnost/chodba/venkovní prostředí).
  • Synchronizace: latence audia < 20 ms a synchronizace s hranicí video snímku; nesynchronizovaný zvuk a obraz zvyšují nevolnost.
  • Haptika: krátké nízkofrekvenční vzory pro potvrzení; vyvarovat se „trvalého bzučení“.

Streamování aktiv a správa paměti

  • Asynchronní načítání: asset bundles po zónách; vyhnout se alokacím během snímku (špičky GC).
  • Textury a komprese: ASTC/BC s vhodnou velikostí bloku; generovat mipmapy offline.
  • Paměť GPU: sledovat rezidentní paměťovou náročnost; uvolňovat nepoužívané rendertargety a persistentní mapování bufferů.

Energetická efektivita a termální management

  • Rezerva času snímku: zachovat rezervu 10–20 %; SoC pak méně často omezuje výkon kvůli přehřívání (thermal throttling).
  • Adaptivní kvalita: dynamicky měnit rozlišení, LOD bias a stíny podle telemetrie.
  • Batching: snižovat počet draw calls (GPU instancing), minimalizovat probouzení vláken CPU.

Bezpečnost, soukromí a etika

  • Citlivá data: hloubkové mapy, data o lidských postavách a sledování očí jsou biometrická data – ukládat je pouze anonymizovaně a lokálně, pokud jejich ukládání není nezbytné.
  • Bezpečná zóna: upozorňovat na překážky a respektovat hranice guardian/chaperone; nepoužívat „jump scares“ bez varování.
  • Přístupnost: nabízet alternativy ke gestům (hlas/UI) a volitelně omezit náročnost pohybu (teleport, rychlé přechody s vignette).

OpenXR a multiplatformní vrstvy

  • OpenXR: jednotné rozhraní pro head pose, input, composition, anchors a passthrough; minimalizuje závislost na konkrétním dodavateli.
  • XR kompozitor: využívat vrstvy (quad/layered) pro UI a video; dosáhnout ostrého textu bez opětovného vzorkování.
  • Rozšíření: foveace, hand tracking, haptika, scene understanding; detekovat jejich dostupnost a v případě potřeby použít náhradní řešení.

Telemetrie, testování a QA

  • Runtime metriky: čas snímku CPU/GPU, M2P, míra reprojekce, vynechané snímky, čas GC, teplota SoC.
  • Testovací matice: scénáře se slabým osvětlením, rovnoměrnými texturami (bílé stěny), ostrými odlesky a rychlými pohyby hlavy.
  • Uživatelské testy: SUS/UEQ, míra nevolnosti, doba dokončení úkolu, přesnost interakce a opětovné nalezení kotev.

Typické cíle výkonu (základní úroveň)

Parametr Standalone MR PC/konzolová MR Cíl
FPS 72–90 90–120 Stabilita > 99 % snímků v cílové hodnotě
Motion-to-Photon < 30 ms < 20 ms Minimalizovat závislost na reprojekci
Čas snímku CPU < 6–8 ms < 5–6 ms Hlavní vlákno bez blokujících operací I/O
Čas snímku GPU < 6–9 ms < 6–8 ms Foveace + LOD + culling
Míra reprojekce < 10 % < 5 % Vyšší hodnoty znamenají riziko artefaktů

Pipeline nasazení a správa buildů

  • Příprava aktiv: generování LOD, lightmap, impostorů a komprese textur a zvuku v CI.
  • Varianty buildů: různá rozlišení renderovacích targetů a kvalita shaderů podle třídy zařízení.
  • Automatické kontroly: spuštění, zámek sledování, relocalization, stav reprojekce, korekce passthrough.

Kontrolní seznam optimalizace MR obsahu

  • Jsou FPS a M2P stabilní a v cílových hodnotách? Je reprojekce pod stanoveným prahem?
  • Mají všechna 3D aktiva LOD? Jsou použity instancing a materiály uspořádané do atlasů?
  • Jsou zapojeny occlusion a environment depth a jsou vizuálně konzistentní?
  • Je UI čitelné (≥1.2°), má dostatečný kontrast a jsou dodrženy bezpečné zóny?
  • Je aktivní adaptivní kvalita a odesílají se údaje o výkonu?
  • Soukromí: neukládají se zbytečně biometrická data a probíhá místní zpracování, kde je to možné?
  • Byly úspěšné testy ve ztížených podmínkách (slabé osvětlení, monotónní textury, rychlé pohyby)?

Závěr

Špičkový MR zážitek je výsledkem koordinované práce napříč hardwarem, senzorikou, renderovacím řetězcem a disciplinovanou tvorbou obsahu. Přísné rozpočty latence, foveace, LOD a správná práce s passthrough a occlusion zásadně zvyšují věrohodnost a komfort. Multiplatformní vrstvy (OpenXR), telemetrie a automatizované build pipeline umožňují škálovat vývoj i údržbu. Dodržováním uvedených požadavků a optimalizačních technik získáte stabilní, srozumitelný a bezpečný MR produkt, který obstojí v reálných podmínkách nasazení.