VJEŽBA V5 · MODUL 2 · TEORIJSKE OSNOVE I PRIPREME ZA KORIŠTENJE VIRTUALNE STVARNOSTI
Vježba V5 · 2 sata
Proračun vremena okvira, kašnjenja i gustoće piksela
Računska vježba o granicama udobnosti u virtualnoj stvarnosti: vrijeme okvira pri 72, 90 i 120 Hz, udio budžeta koji troši iscrtavanje, piksela po stupnju, kašnjenje od pokreta do fotona po fazama i memorija tekstura. Svi podaci su iz laboratorija VR-1 i njegovih uređaja A i B.
- izračunati vrijeme okvira i dopušteni budžet CPU-a i GPU-a za zadanu frekvenciju osvježavanja
- procijeniti piksela po stupnju i najmanju čitljivu veličinu natpisa
- zbrojiti kašnjenje od pokreta do fotona po fazama i ocijeniti učinak reprojekcije
- izračunati protok piksela i memoriju tekstura te ih usporediti s mogućnostima opreme
- obrazložiti zašto pad broja slika u VR-u nije samo estetski problem
O vježbi
Prije vježbe proći gradivo: 2.3 Percepcija, prisutnost i udobnost korisnika, 2.7 Izlazne tehnologije: zasloni, optika, zvuk i haptika.
Pitanja i zadaci na ovoj stranici su bez odgovora. Rješenje s postupkom otvara se gumbom Prikaži rješenje ispod svakog pitanja, a upute za nastavnika nalaze se na dnu stranice.
Zadatak
Prije ispitivanja laboratorija VR-1 treba provjeriti drže li uređaji granice udobnosti. Uređaj A (PC-VR) ima 2 × 2448 × 2448 px, oko 116° vodoravno i radi na 90 Hz (do 120 Hz); izmjereno je GPU 7,8 ms. Uređaj B (samostalne naočale) ima 2 × 2064 × 2208 px, oko 110° i 90 Hz; prije optimizacije postizao je 72 sl/s, a nakon nje drži 90 sl/s; u ispitivanju je ipak pri pogledu na cijeli laboratorij pao na 76 sl/s, što je ispravljeno razinama detalja. Ciljevi: stabilnih 90 sl/s, CPU i GPU ≤ 9,0 ms, od pokreta do fotona ≤ 20 ms.
Za proračun kašnjenja koristite ove pretpostavljene faze (model za vježbu, stvarne vrijednosti mjere se alatima pokretača): (1) očitanje senzora i spajanje podataka 1,0 ms, (2) aplikacija na CPU-u 3,5 ms, (3) iscrtavanje stereo para na GPU-u 7,8 ms, (4) kompozitor i ispravak izobličenja leća 1,2 ms, (5) prijenos i osvježavanje zaslona do sredine slike, pola vremena okvira, (6) odziv piksela 0,4 ms.
Oprema i pribor
- kalkulator ili računalo s tablicom ili kratkim programom za proračun
- podaci laboratorija VR-1 (ovaj zadatak) i obrazac za rezultate
- ako je dostupno: uređaj A ili B sa scenom VR-1 i uključenim prikazom vremena okvira
Pravila koja se primjenjuju
Vrijeme okvira t = 1000 / f (ms). Za rezervu se CPU i GPU drže ispod oko 81 % okvira (9,0 od 11,1 ms pri 90 Hz), jer sustav troši dio vremena na kompoziciju, a scena nije uvijek jednako zahtjevna.
Piksela po stupnju gruba je procjena: vodoravni broj piksela jednog oka podijeljen s vodoravnim vidnim poljem. Stvarna gustoća veća je u sredini leće i manja na rubu.
Od pokreta do fotona je vrijeme od pokreta glave do svjetla na zaslonu koje ga prikazuje. Iznad oko 20 ms slika „kasni“ za glavom, što pogoduje kinetozi.
Pažnja
Ne miješajte prosjek i najgori okvir. Prosjek od 90 sl/s uz povremene okvire od 14 ms znači trzaje koje korisnik osjeti. Vrijeme okvira ocjenjuje se po najsporijim okvirima, a ne po prosjeku.
Crtež
Postupak
- Pripremite tablicu s ulazima: frekvencije 72, 90 i 120 Hz, razlučivosti i vidna polja uređaja A i B, faze kašnjenja.
- Izračunajte vremena okvira i granice od 81 % za sve tri frekvencije.
- Izračunajte udio GPU-a od 7,8 ms u svakom okviru i označite gdje je granica prekoračena.
- Izračunajte piksela po stupnju za A i B i veličinu natpisa točke interesa.
- Zbrojite faze kašnjenja za tri frekvencije, zatim ponovite zbroj za slučaj reprojekcije.
- Izračunajte protok piksela i memoriju tekstura robota.
- Ako je uređaj dostupan, uključite prikaz vremena okvira, pogledajte cijeli laboratorij i usporedite izmjereno s proračunom.
Pitanja i zadaci
1. Računski. Koliko je vrijeme okvira pri 72, 90 i 120 Hz i kolika je granica od 81 % za CPU i GPU?
Prikaži rješenje
t = 1000 / f: 13,9 ms, 11,1 ms i 8,3 ms. Granica 0,81 · t: 11,25 ms, 9,0 ms i 6,75 ms.
2. Računski. Koliki udio okvira troši GPU od 7,8 ms pri svakoj frekvenciji? Smije li uređaj A prijeći na 120 Hz bez optimizacije?
Prikaži rješenje
7,8 / 13,9 = 56 %, 7,8 / 11,1 = 70 %, 7,8 / 8,33 = 94 %. Pri 120 Hz granica je 6,75 ms, a GPU troši 7,8 ms, pa ne smije: treba uštedjeti bar 1,05 ms (oko 13,5 %).
3. Računski. Procijenite piksela po stupnju za uređaje A i B.
Prikaži rješenje
A: 2448 / 116 ≈ 21,1. B: 2064 / 110 ≈ 18,8. Uređaj A daje oko 12 % oštriju sliku; obje su vrijednosti znatno ispod oštrine zdravog oka (oko 60 po stupnju).
4. Računski. Slovo na ploči točke interesa treba biti visoko barem 10 piksela. Kolika mu je najmanja visina na 1 m za A i za B?
Prikaži rješenje
Kut: 10 / 21,1 = 0,47° (A) i 10 / 18,8 = 0,53° (B). Visina h = 2 · 1000 · tg(α / 2): 8,3 mm za A i 9,3 mm za B. Ploča se projektira za slabiji uređaj, dakle slova barem oko 10 mm na 1 m. To je donja granica čitljivosti; za udobno dulje čitanje preporučuje se oko 1° vidnog kuta, tj. oko 17 mm na 1 m (jedinica 1.6).
5. Računski. Zbrojite faze kašnjenja pri 72, 90 i 120 Hz. Koje frekvencije drže cilj od 20 ms?
Prikaži rješenje
Stalni dio: 1,0 + 3,5 + 7,8 + 1,2 + 0,4 = 13,9 ms. Pola okvira: 6,94, 5,56 i 4,17 ms. Ukupno 20,8 ms (72 Hz), 19,5 ms (90 Hz) i 18,1 ms (120 Hz). Cilj drže 90 i 120 Hz; pri 72 Hz prekoračenje je 0,8 ms.
6. Računski. Uz predviđanje položaja kompozitor neposredno prije prikaza ponovno očita položaj glave i preslika gotovu sliku (reprojekcija). Za okretanje glave tada vrijede samo faze 1, 4, 5 i 6. Koliko je kašnjenje?
Prikaži rješenje
1,0 + 1,2 + 0,4 = 2,6 ms plus pola okvira: 9,5 ms (72 Hz), 8,2 ms (90 Hz), 6,8 ms (120 Hz). Reprojekcija dobro ispravlja okretanje, a slabije pomak glave i gibanje predmeta, pa ne zamjenjuje stabilan broj slika.
7. Računski. Koliko piksela u sekundi iscrtava uređaj A pri 90 i 120 Hz, a koliko B pri 90 Hz?
Prikaži rješenje
A: 2 · 2448 · 2448 = 11,99 milijuna po okviru; pri 90 Hz 1,08 milijarde u sekundi, pri 120 Hz 1,44 milijarde (33 % više). B: 2 · 2064 · 2208 = 9,11 milijuna, pri 90 Hz 0,82 milijarde u sekundi.
8. Računski. Na uređaju B pri pogledu na cijeli laboratorij izmjereno je 76 sl/s. Koliko je vrijeme okvira i za koliko prekoračuje okvir od 90 Hz?
Prikaži rješenje
1000 / 76 = 13,2 ms, što je 2,05 ms (18 %) više od 11,1 ms. Pogreška je ispravljena razinama detalja za okoliš i pribor (jedinica 1.7, vježba V02).
9. Računski. Teksture robota u najgorem slučaju iz vježbe V03 (svih 12 materijala s po tri teksture) zauzimaju 192 MB bez kompresije (1024 px) i 768 MB pri 2048 px, a uz kompresiju pri 1024 px 48 MB. Koji je to udio memorije grafičke kartice od 8 GB (8192 MB)?
Prikaži rješenje
48 / 8192 = 0,6 %, 192 / 8192 = 2,3 %, 768 / 8192 = 9,4 %. Na uređaju A to nije usko grlo, ali za jedan predmet od dvanaest dijelova 9 % memorije je rasipanje, a samostalne naočale imaju višestruko manje memorije koju dijele sa sustavom.
10. Zašto pad s 90 na 76 sl/s u VR-u nije samo „slabija slika“?
Prikaži rješenje
Zaslon se osvježava stalnom frekvencijom. Okvir koji ne stigne na vrijeme pokretač ponavlja ili sintetizira reprojekcijom, pa pokretni predmeti drhte, a kašnjenje raste. Neslaganje vida i osjeta ravnoteže pogoduje kinetozi, a kod osjetljivijih korisnika mučnina može nastupiti već nakon nekoliko minuta.
Za nastavnika
Otvori upute za nastavnika
Priprema
Pripremite obrazac s ulazima i praznim stupcima rezultata. Ako je uređaj dostupan, uključite prikaz vremena okvira u pokretaču ili razvojnom okruženju i provjerite scenu VR-1.
Tijek sata
- 10 min: vrijeme okvira, piksela po stupnju, faze kašnjenja (slika V5.1).
- 20 min: pitanja 1–4.
- 25 min: pitanja 5–7, kašnjenje i reprojekcija.
- 15 min: pitanja 8–9.
- 10 min: mjerenje na uređaju i usporedba.
- 10 min: pitanje 10 i zaključak.
Očekivani rezultati
Tablica rezultata s postupkom, zaključak koji uređaj i frekvencija drže ciljeve te kratko obrazloženje zašto 72 Hz na uređaju B nije prihvatljivo.
Česte pogreške
- protok piksela izračunat za jedno oko
- vidno polje u radijanima umjesto u stupnjevima
- granica od 81 % primijenjena na zbroj CPU-a i GPU-a umjesto na svaki zasebno
- MB i MiB pomiješani bez napomene
Vrednovanje
| Kriterij | Bodovi |
|---|---|
| vrijeme okvira i udio budžeta (1, 2, 8) | 5 |
| piksela po stupnju i natpis (3, 4) | 4 |
| kašnjenje i reprojekcija (5, 6) | 5 |
| protok i memorija (7, 9) | 3 |
| obrazloženje (10) i zaključak | 3 |
| Ukupno | 20 |