Arụmọrụ VR
Ntughari na nkwalite
Okwu mmalite
Inweta ahụmịhe VR kachasị mma na ngwaike nwere oke akụrụngwa bụ isi ihe na-ebuga ahụmịhe onye ọrụ dị nro ma dịkwa mma. Ọ bụrụ na ọnụ ọgụgụ nke mmepụta ọdịnaya daa ma ọ bụ kwụsie ike n'okpuru ọnụego ume ọhụrụ nke ngwaọrụ ahụ, ọ ga-eduga n'ikpere ikpe na ịsụ nsụ, ọrịa ngagharị, wdg. n'ikpeazụ emetụta ahụmahụ onye ọrụ. Ya mere, ịkwalite arụmọrụ ọdịnaya dị ezigbo mkpa iji hụ na ahụmịhe na-atọ ụtọ.
Tupu ịmalite nlegharị anya arụmọrụ, ọ dị mkpa ịghọta ebe nkwụsị nke arụmọrụ bụ iji zere ngbanwe na-adịghị mma. Emebere akwụkwọ a iji nyere ndị mmepe aka ịchọpụta mkpọmkpọ ọrụ ma nye azịza iji dozie nsogbu nrụpụta ọrụ.
A haziri akwụkwọ a n'ime ngalaba ndị a:
- Isi nke 2: Chọpụta Bottleneck - Nkebi a na-enyere ndị mmepe aka ịchọpụta ebe ihe mgbochi dị.
- Isi nke 3 na 4: Ntọala VIVE Wave na VIVE OpenXR - Akụkụ ndị a na-akọwapụta ntọala akọwapụtara nke nwere ike imetụta arụmọrụ CPU/GPU maka ngwa VIVE Wave na OpenXR. Ndị nrụpụta nwere ike ịnwale iji nyere ma ọ bụ gbanyụọ njirimara ndị a dabere na mkpọmkpọ arụmọrụ zutere iji chọpụta ma enwere nkwalite ọ bụla.
- Isi nke 5: Njikarịcha nkịtị - Akụkụ a na-ekerịta ụfọdụ omume na ahụmịhe kachasị mma.
Chọpụta The Bottleneck
Mgbe HMD na-akpụ akpụ, ọ bụrụ na ngwa VR/MR nwere etiti jitter ma ọ bụ ihu ojii, wdg, ọ na-ebutekarị ya site na nrụpụta arụmọrụ ọjọọ. Dịka, enwere ike ịkewa nsogbu nrụpụta ọrụ n'ime ụdị abụọ: ejiri CPU ma ọ bụ ejikọta GPU. Ghọta ụdị njide maka ngwa gị dị ezigbo mkpa na mmalite ka ịzenarị ntugharị na-adịghị mma.
N'isiakwụkwọ a, anyị na-enye usoro dị mfe nke ga-eme ka ị mata ngwa ngwa ebe nsogbu arụmọrụ dị.
2.1 Lelee ọdịnaya na-enye FPS
Nke mbụ, anyị na-amalite site na ịlele ọdịnaya FPS nke bụ ọnụ ọgụgụ nke freelụ ọdịnaya con na-enye kwa sekọnd. Ekwesịrị idowe ya ka ọ dị n'ụdị ngosipụta ma kwụsie ike. Ma ọ bụghị ya, ọ nwere ike ịkpata ọgba aghara.
Ọ bụrụ na SDK ngwa gị na-eji VIVE WAVE SDK 6.0.0 ma ọ bụ karịa, ị nwere ike iji iwu adb na-esonụ iji lelee FPS. DK 6.0.0
$ adb Logcat -s VRMetric
Ị ga-ahụ ndekọ ndekọ na-esonụ.
VRMetric:FPS=89.8/89.8,CPU-27/1,GPU=72/3,GpuBd=0,LrCnt=1,2Stag=1,Pstat=2,AQ=1,FOVED=0/0, FSE=1,TWS-2,PT=0(0), RndrBK=0,GLTA=2D,EB=1720×1720
"FPS=89.8/89.8" Nọmba nke mbụ na-anọchi anya ọdịnaya FPS, ebe nọmba nke abụọ na-anọchite anya framerate ngosi.
Ọ bụrụ na ụdị Wave SDK gị dị n'okpuru 6.0.0, a na-atụ aro ka ịkwalite gaa na ụdị kachasị ọhụrụ iji kwalite arụmọrụ na nkwalite ndị ọzọ.
Ọ bụrụ na ejiri VIVE OpenXR rụọ SDK ngwa gị. Ị nwere ike iji iwu adb na-esonụ ka ịlele FPS.
$adb Logcat -s RENDER_ATW
Ị ga-ahụ ndekọ ndekọ na-esonụ
RENDER_ATW: [FPS] udidi ọhụrụ:90.00
RENDER_ATW: [FPS] R dị ugbu a:90.00 ịfe:0 317, -0.0155 0.805527, 0.006788)
RENDER_ATW: [FPS] L ugbu a:90.00 ịwụ:0 (0.592301, -0.015502, 0.805539, 0.006773)
Ọnụọgụ na-eso “ederede ọhụrụ” na-anọchi anya ọdịnaya FPS ugbu a. Ọnụọgụ na-eso “R ugbu a” na “L ugbu a” na-anọchi anya framerate ngosi.
Mgbe ụfọdụ, ọdịnaya FPS na ihe ngosipụta nwere ike inwe ntakịrị ndakọrịta.
Maka example, na ikpe dị n'elu, 89.8 FPS nwere ike iwere dị ka 90 FPS.
Ọ bụrụ na ọdịnaya FPS nke ngwa ahụ na-adị ala mgbe niile karịa ihe ngosi ngosi ma ọ bụ na-akwụghị ụgwọ, ọ na-egosi nsogbu nrụpụta. Ya mere, nzọụkwụ na-esote bụ ịchọpụta ma ọ bụ ihe mgbochi na-abịa site na CPU ma ọ bụ GPU.
2.2 Lelee ojiji CPU na GPU
Ọ bụrụ na SDK ngwa gị na-eji VIVE WAVE SDK 6.0.0 ma ọ bụ karịa, ị nwere ike iji iwu adb na-esonụ iji lelee FPS.
$ adb logcat -s VRMetric
Ị ga-ahụ ndekọ ndekọ na-esonụ.
VRMetric:FPS=89.8/89.8,CPU=27/1,GPU=72/3,GpuBd=0,LrCnt=1,2Stag=1,Pstat=2,AQ=1,FOVED=0 /0, FSE=1,TWS=2,PT=0(0),RndrBK=0,GLTA=2D,EB=1720×1720
Dị ka ị na-ahụ na nsonaazụ ndekọ dị n'elu, ojiji CPU bụ 27% yana ojiji GPU bụ 72% Ọ bụrụ na ụdị Wave SDK gị dị n'okpuru 6.0.0, a na-atụ aro ka ịkwalite gaa na ụdị kachasị ọhụrụ iji kwalite arụmọrụ na nkwalite ndị ọzọ.
Maka ngwa VIVE OpenXR, ị nwere ike iji iwu a ka ịlele ojiji CPU na GPU.
# na linux/ubuntu
$ adb logcat | grep CPU_USAGE
# na powershell
$ adb logcat | Họrọ-string -Ụkpụrụ CPU_USAGE
Ị ga-ahụ log na-esonụ
CPU Nkeji. CPU0 CPU1 CPU2 CPU3 CPU4 CPU5 CPU6 CPU7 GPU CPU_USAGE [LOAD] 25.67% 32.22% 25.29% 30.77% 29.35% 21.35% 22.09% 18.39% 24.14% 73 %
Ọ bụrụ n ’ịhụ na FPS enweghị ike idowe ọnụego etiti ngosi yana ojiji GPU dịkwa oke elu, na-adịkarị karịa 85%, ị nwere ike ịnwale ịhazigharị Mkpebi Eyebuffer (ngalaba 3.1.2, ngalaba 4.1.2) iji hụ ma ọ na-eme ka FPS dịkwuo mma. Ọ bụrụ na mgbanwe a na-eduga na mma
arụmọrụ, anyị nwere ike ikwubi na okwu a bụ GPU na-ejikọta ma lekwasị anya na mbọ anyị kachasị mma.
N'aka nke ọzọ, ọ bụrụ na ịhazigharị Mkpebi Eyebuffer anaghị ebute nkwalite arụmọrụ a na-ahụ anya, ọkpọ ahụ nwere ike jikọta CPU, anyị kwesịrị ilekwasị anya na ịkwalite arụmọrụ CPU.
Ọ ga-ekwe omume na ngwa a na-ejikọta CPU na GPU n'otu oge. N'ọnọdụ ndị dị otú ahụ, ekwesịrị itinye mgbalị njikarịcha na CPU na GPU iji nweta nkwalite arụmọrụ ziri ezi.
2.3 GPU na-ejikọta
Mgbe ngwa VR na-ejikọta GPU, ọ pụtara na GPU bụ akpa mkpọ, na ọ nweghị ike ịkwado ihe achọrọ maka ngwa ahụ. Iji belata okwu metụtara GPU, tụlee ndụmọdụ ndị a:
Nke mbụ, jiri ngwaọrụ profaịlụ dị ka RenderDoc ma ọ bụ Game Engine profiler (Unity Profiler, Unreal Insights) iji nyochaa ebe GPU na-etinye ọtụtụ oge ya. Chọpụta ọrụ ndị kachasị ọnụ ma lekwasị anya n'ịkwalite ha.
Maka Onye Mmepụta Ala, ị nwere ike iji RenderDoc chọpụta oku eserese na-ebute ibu GPU karịrị akarị.
Maka Onye Mmepụta Unitydị n'Otu, ị nwere ike soro Unity akwụkwọ a ma ọ bụ jiri RenderDoc iji nyochaa okwu arụrụ arụ, wee soro akwụkwọ njikarịcha eserese nke Unity maka ntụzịaka iji bulie ngwa gị.
Maka Onye Mmepụta na-adịghị adị, ị nwere ike iji GPU Visualizer ma ọ bụ jiri RenderDoc iji nyochaa okwu arụmọrụ na-arụ ọrụ, ma soro ntuziaka arụmọrụ adịghị adị maka ntuziaka iji bulie ngwa gị.
Nke abụọ, ị nwekwara ike ịnwa ịhazigharị ụfọdụ atụmatụ Wave ma ọ bụ ntọala iji belata nbudata GPU.
- Tọọ ọnụego ume ọhụrụ iji nwayọ (ngalaba 3.1.1, ngalaba 4.1.1)
- Gbanwee Mkpebi Eyebuffer (ngalaba 3.1.2, ngalaba 4.1.2), 14.1.1
- Gbalịa mee ka Foveation nwee ike (ngalaba 3.1.4, ngalaba 4.1.4).
Ọ bụrụ na ngwa gị bụkwa ngwa MR, ị nwekwara ike ịhazigharị ntọala Passthrough.
- Gbanwee ogo onyonyo ngafe dị ala. (Nkeji 3.2.1)
- Gbanwee Passthrough Framerate nwayọ nwayọ. (ngalaba 3.2.2).
Maka ntọala ndị ọzọ gbasara arụmọrụ GPU, ị nwere ike ịtu aka na Isi 2.6.
2.4 CPU jikọtara ya
Mgbe ngwa VR na-ejikọta CPU, ọ pụtara na CPU bụ ihe bụ isi, tụlee ndụmọdụ ndị a:
Nke mbụ, jiri ngwaọrụ profaịlụ dị ka Systrace ma ọ bụ Game Engine profiler (Unity Profiler, Unreal Insights) iji nyochaa ma chọpụta akụkụ nke koodu gị na-eri ọtụtụ ihe CPU. Lekwasị anya n'ịkwalite mpaghara ndị a yana megharịa algọridim na-akpa ike iji belata ibu CPU.
- Maka Onye Mmepụta Ala, ị nwere ike iji Systrace ka profiler oru ngo gi.
- Maka Onye Mmepụta Unity, ị nwere ike iji CPU Usage Profiler modul ịchọta okwu arụmọrụ CPU.
- Maka Onye Mmepụta Unreal, ị nwere ike iji Unreal's Insights chọta okwu arụmọrụ CPU.
Nke abụọ, ị nwekwara ike ịnwa ịhazigharị ụfọdụ atụmatụ Wave ma ọ bụ ntọala iji belata nbudata GPU.
- Tọọ ọnụego ume ọhụrụ iji nwayọ (ngalaba 3.1.1, ngalaba 4.1.1)
- Jiri Multi-View Ịsụgharị (ngalaba 3.1.4, ngalaba 4.1.4)
Ọ bụrụ na ngwa gị bụkwa ngwa MR, ị nwekwara ike ịhazigharị ntọala Passthrough.
- Gbanwee Passthrough Framerate nwayọ nwayọ (ngalaba 3.2.2).
Maka ntọala ndị ọzọ gbasara arụmọrụ CPU, ị nwere ike ịtu aka na Isi 2.6.
2.5 Nchịkọta
N'ikpeazụ, anyị ahazila usoro nlele arụmọrụ dị n'elu n'ime foto 2-5-1. Malite site na ịlele FPS nke ọdịnaya. Ọ bụrụ na ọ dị ala karịa framerate ngosi ma ọ bụ na-adịgide adịgide, wee nyochaa ojiji GPU/CPU iji chọpụta ma ọ bụ GPU-bounded ma ọ bụ CPUbound. N'ikpeazụ, jiri profiler iji chọpụta ihe nwere ike ịrụ ọrụ ma ọ bụ mezie atụmatụ Wave ma ọ bụ ntọala iji kwalite arụmọrụ CPU.

2.6 Ndenye nrụtụ aka nke Ntọala nwere ike melite nbudata CPU/GPU
Depụta ntọala SDK nke metụtara nbudata CPU/GPU dị ka n'okpuru. Ị nwere ike dabere na mkpọmkpọ ngwa ngwa iji lelee ntọala njikarịcha dị mkpa.
metụtara CPU:
- Ntọala VIVE Wave SDK
o ọdịnaya VR
▪ 3.1.1 Ngosipụta ọnụego ume ọhụrụ
▪ 3.1.4 Ọtụtụ-View Ịsụgharị
▪ 3.1.6 Àgwà Nkwekọrịta
▪ 3.1.7 Onye na-emepụta ihe na-eme mgbanwe
o MR ọdịnaya
▪ 3.2.2 Gbanwee Ọnụego Frame ngafe - Ntọala VIVE OpenXR SDK
o ọdịnaya VR
▪ 4.1.1 Ngosipụta ọnụego ume ọhụrụ
▪ 4.1.4 Ọtụtụ-View Ịsụgharị - Njikarịcha nkịtị
ma ọ bụ 5.5 CPU Spike
Ejikọtara na GPU:
- Ntọala VIVE Wave SDK
o ọdịnaya VR
▪ 3.1.1 Ngosipụta ọnụego ume ọhụrụ
▪ 3.1.2 Mkpebi Nhụjuanya
▪ 3.1.3 Ọtụtụ-View Ịsụgharị
▪ 3.1.4 Nri
▪ 3.1.5 Nkwalite ịdị mma Frame (FSE)
▪ 3.1.6 Àgwà Nkwekọrịta
▪ 3.1.7 Onye na-emepụta ihe na-eme mgbanwe
▪ 3.1.8 Mkpuchi Mkpuchi [Ọ bụghị Nkwado Na-adịghị adị] ma Ọdịnaya MR
▪ 3.2.1 Gbanwee Ogo ngafe
▪ 3.2.2 Gbanwee Ọnụego Frame ngafe - Ntọala VIVE OpenXR SDK
o ọdịnaya VR
▪ 4.1.1 Ngosipụta ọnụego ume ọhụrụ
▪ 4.1.2 Mkpebi Nhụjuanya
▪ 4.1.3 Ọtụtụ-View Ịsụgharị
▪ 4.1.4 Mkpuchi [Ọ bụghị Nkwado Ihe Na-adịghị Agbanwe] ▪ 4.1.5 Ihe Nkpuchi - Njikarịcha nkịtị
o 5.1 Gbanyụọ Ụdị arụmọrụ dị elu
o 5.2 Multisampling
o 5.3 GMEM Ibu/ Store
o 5.4 Ihe mejupụtara Layer (Otutu oyi akwa)
Ntọala ebili mmiri VIVE
VIVE Wave bụ ikpo okwu mepere emepe na akụrụngwa na-enye gị ohere ịmepụta ọdịnaya VR ngwa ngwa ma na-enye njikarịcha ngwaọrụ dị elu maka ndị mmekọ nke atọ. VIVE Wave na-akwado ịdị n'otu na igwe egwuregwu na-adịghị adị.
Anyị na-ebuli ma dozie ahụhụ dị iche iche, yabụ anyị tụrụ aro idobe SDK ọhụrụ.
Ugbu a, VIVE Wave na-akwado naanị OpenGL ES. Ebe a depụtara atụmatụ ndị mmetụta nyere iwu maka ịrụ ọrụ GPU. Anyị ga-ekewa nke a ụzọ abụọ: ọdịnaya VR na MR ọdịnaya.
3.1 VR ọdịnaya
3.1.1 Ngosipụta ọnụego ume ọhụrụ
Ọnụego ume ọhụrụ dị elu na-enye ọhụhụ dị nro, mana na-abịa na ọnụ ahịa ibu sistemu. N'aka nke ọzọ, ọnụ ọgụgụ ume ọhụrụ dị ala na-ebelata ibu sistemu, mana na-eme ka ọhụhụhụ dị obere. Ọ bụrụ na ngwa nwere nsogbu CPU/GPU, ị nwere ike ịgbalị ibelata ọnụego ume ọhụrụ ngosi iji belata okwu ahụ.
- Maka onye nrụpụta obodo, rụtụ aka na WVR_SetFrameRate.
- Maka onye nrụpụta Unity, rụtụ aka na ntuziaka a.
- Maka onye nrụpụta na-adịghị adị, rụtụ aka na ntuziaka a.
3.1.2 Mkpebi ihe nkpuchi anya
Mkpebi Eyebuffer bụ nha udidi nke ngwa ọdịnaya a ga-atụgharị, a ga-edobe udidi a ga-edobe n'oge oge iji mee usoro ikenye wee gosipụta na ngosi HMD.
Ọ bụ ezie na nha anya buru ibu nwere ike ime ka ọ pụta ìhè na nkọwa zuru ezu, mana ọ na-etinyekwa nnukwu ibu na GPU. Ya mere, ịchọta nguzozi ziri ezi n'etiti àgwà anya na arụmọrụ dị mkpa.
Ọ bụrụ na ngwa nwere okwu agbakwunyere GPU, ị nwere ike ịnwa ibelata nha anya na-ebufe site n'ịba ụba ihe nha. Otú ọ dị, anyị na-akwado ka ị ghara ibelata ihe ọ̀tụ̀tụ̀ dị n'okpuru 0.7, n'ihi na nke a nwere ike ịkpata àgwà a na-adịghị anabata.
- Maka onye nrụpụta obodo, rụtụ aka na WVR_ObtainTextureQueue. Mgbe ị na-edozi nha, ị kwesịrị ịmụba obosara na ịdị elu site na oke.
- Maka onye nrụpụta otu, rụtụ aka na WaveXRSettings.
N'aka nke ọzọ, ịnwere ike ịme mgbanwe site na koodu dị ka belwoe.
XRSettings.eyeTextureResolutionScale = ResolutionScaleValue; // C# - Maka onye nrụpụta na-adịghị adị, rụtụ aka na SetPixelDensity.
3.1.3 ọtụtụView Ịsụgharị
Na nsụgharị ọdịnala, anyị na-esepụta anya aka ekpe na aka nri iche iche, nke chọrọ oku abụọ maka otu ọnọdụ. Multi-View Rendering na-edozi okwu a site n'ịkpọ naanị otu oku.
Njirimara a na-ebelata ibu CPU site na ibelata ọnụ ọgụgụ oku ịbịaru. GPU nwekwara uru ụfọdụ, ọrụ vertex shader na-ebelatakwa n'ihi na ọ dịghị mkpa ka ọ na-agba ọsọ shader maka anya nke ọzọ, mana ọrụ shader nke mpempe akwụkwọ na-anọgide na-agbanweghị ebe ọ bụ na ọ ka kwesịrị ịtụle pixel ọ bụla maka anya abụọ. Anyị na-akwado ime ka atụmatụ a nwee ike.
- Maka onye nrụpụta obodo, ị nwere ike ịtu aka na wvr_native_hellovr sample.
- Maka onye nrụpụta Unity, rụtụ aka na Render Mode, otu ngafe bụ ọtụtụ.view atụmatụ.
- Maka onye nrụpụta na-adịghị adị, rụtụ aka na ntuziaka a.
3.1.4 Mgbochi
Emebere nrụgharị n'ụzọ bụ isi iji belata ibu GPU. Ọ na-ebelata etiti nkọwa na mpụta nke ngosi na ịnọgide na-enwe elu mkpebi zuru ezu n'etiti ubi nke view. Ọ bụrụ na ngwa nwere ihe gbasara GPU, ị nwere ike ịnwale ịmegharị Foveation.

Ọ nwere ihe dị mkpa ịmara mgbe ị na-eji foveation:
➢ Ndị ọrụ anaghị achọpụta obere nkọwa na mpaghara mpụta na-etinye ọnọdụ foveation ndabara. Mana ọ bụrụ na edobere ogo foveation dị ala karịa, onye ọrụ nwere ike ịhụ ya.
➢ Mmetụta nke foveation nwere ike ịpụta nke ọma site na ụfọdụ ihe textures, nke nwere ike ịdọta uche onye ọrụ. Ndị mmepe kwesịrị ịma nke a ma nyochaa ya nke ọma.
➢ Inye nrụpụta nrụpụta ihe na-ebute ụgwọ ọrụ GPU etinyere, nke nwere ike ịdịgasị iche n'etiti 1% ruo 6% dabere na nha anya nkpuchi. Mgbe ị na-eji ndò dị mfe na ọnọdụ ahụ, uru arụmọrụ sitere na ịchekwa akụrụngwa nwere ike ịdị ala karịa ọnụ ahịa arụmọrụ GPU etinyere, na-ebute ọdịda arụmọrụ.
- Maka onye nrụpụta obodo, rụtụ aka na ntuziaka a.
- Maka onye nrụpụta Unity, rụtụ aka na ntuziaka a. Karịsịa, mgbe ị na-eme ka nhazi post-processing ma ọ bụ HDR, enweghị ike iji ihe eji eme ihe n'ụzọ zuru ezu. N'ihi na ịdị n'otu ga-eme ka ihe dịrị n'ụdị nrụpụta nke aka ya, karịa udiri ihe ngosi nke oge a na-eme ugbu a nke na-akwado foveation.
- Maka onye nrụpụta na-adịghị adị, rụtụ aka na ntuziaka a. N'ụzọ doro anya, enweghị ike iji foveation n'ụzọ zuru ezu na Multi-View Ịmepụta, n'ihi na ihe na-adịghị adị n'ezie enweghị ike ịnye ihe ozugbo n'ụdị ihe na-eme ka oge na-aga nke na-akwado foveation.
3.1.5 Nkwalite ịdị mma Frame (FSE)
FSE na-enye nsonaazụ ntụgharị dị nkọ site na iwebata nzacha dị nkọ, ọ nwere ike ime ka ọdịnaya dokwuo anya ma bụrụ ihe na-enye aka maka imeziwanye ederede doro anya na ọnọdụ ahụ. Ọ bụrụ na ngwa nwere ihe gbasara GPU, ị nwere ike ịtụle gbanyụọ FSE ma ọ bụrụ na ọ dịghị mkpa.

- Maka onye nrụpụta obodo, rụtụ aka na ntuziaka a.
- Maka onye nrụpụta Unity, rụtụ aka na ntuziaka a.
- Maka onye nrụpụta na-adịghị adị, rụtụ aka na ntuziaka a.
3.1.6 Ọdịmma Ngbanwe
Iji chekwaa batrị ma nọgide na-arụ ọrụ nke ngwaọrụ ahụ, njirimara a na-edozi ọkwa arụmọrụ nke elekere CPU/GPU dabere na ojiji ha. Ọzọkwa, enwere ike itinye usoro ndị ọzọ iji kwalite arụmọrụ, dị ka na-akpaghị aka / gbanyụọ Foveation ma ọ bụ ọdịnaya nwere ike ịhazi onwe ya ma ọ bụrụ na ịnweta ihe omume dị elu / dị ala.
- Maka onye nrụpụta obodo, rụtụ aka na ntuziaka a.
- Maka onye nrụpụta Unity, rụtụ aka na ntuziaka a. Na ngwa mgbakwunye ịdị n'otu anyị, enwere ike gbanwee nha anya na-ekpuchi anya dabere na arụmọrụ dị ugbu a; Nha ederede ga-enyocha ụkpụrụ ọnụ ọgụgụ dị ntakịrị na ndepụta Mkpebi. Anyị na-akwado ederede nha ma ọ dịkarịa ala 20 dmm ma ọ bụ karịa.
- Maka onye nrụpụta na-adịghị adị, rụtụ aka na ntuziaka a.
3.1.7 Onye na-eme ihe na-eme mgbanwe
Njirimara a bụ ihe nnwale nke gụnyere UMC na PMC. UMC ga-ebelata ọnụego Frame na ọkara ma wepụta etiti ọhụrụ ozugbo iji mee ka ọ dị nro. Otú ọ dị, ọ na-abịa na ụfọdụ latency, artifacts na GPU loading.
PMC na-eji ihe nchekwa omimi mee ka ATW nwee akaụntụ maka ntụgharị asụsụ HMD, gbatịa ruo nkwụghachi ụgwọ 6-dof. Njirimara a nwere ike ibelata nkwụsịtụ ntụgharị site na okpokolo agba 1 ~ 2, mana bulie ibu GPU.
- Maka onye nrụpụta obodo, rụtụ aka na ntuziaka a.
- Maka onye nrụpụta Unity, rụtụ aka na ntuziaka a.
- Maka onye nrụpụta na-adịghị adị, rụtụ aka na ntuziaka a.
3.1.8 Ihe mkpuchi (anaghị akwado adịchaghị)
Pikselụ dị n'akụkụ na-aghọ ihe fọrọ nke nta ka ọ bụrụ ihe a na-apụghị ịhụ anya ka agbagọ agbagọ, ihe nkpuchi na-agbanwe ụkpụrụ nchekwa omimi nke pikselụ ndị a na-adịghị ahụ anya. Ọ bụrụ na ị mee ka nnwale omimi, n'ihi mmalite-z, a gaghị emepụta pikselụ ndị a na-adịghị ahụ anya, si otú ahụ belata ibu GPU. Njirimara a bara uru ma ọ bụrụ na enwere ihe na-ebu ibu na mpaghara ndị a na-adịghị ahụ anya; ma ọ bụghị ya, ọ bụrụ na enweghị ihe na-atụgharị na mpaghara ndị a, akwadoro ka gbanyụọ ya n'ihi na ọ ga-eri obere GPU.
- Maka onye nrụpụta obodo, rụtụ aka na ntuziaka a. Ị ga-ejikọta ihe nchekwa omimi tupu ịkpọọ RenderMask; ma ọ bụghị ya, ọ gaghị adị irè.
- Maka onye nrụpụta Unity, rụtụ aka na ntuziaka a.
- Maka onye nrụpụta Unreal, ugbu a anaghị akwado atụmatụ Render Mask.
3.2 MR ọdịnaya
3.2.1 Gbanwee Ogo ngafe
Enwere ọkwa 3 maka ogo onyonyo ngafe:
WVR_PassthroughImageQuality_DefaultMode - dabara maka ọdịnaya MR na-enweghị ihe achọrọ.
➢ WVR_PassthroughImageQuality_PerformanceMode - dabara maka ọdịnaya MR nke chọrọ akụrụngwa GPU karịa maka ntụgharị ihe ngosi.
WVR_PassthroughImageQuality_QualityMode - dabara maka ọdịnaya MR nke na-enye ndị ọrụ ohere ịhụ gburugburu gburugburu n'ụzọ doro anya, mana ihe ngosi ọdịnaya nke ọdịnaya ga-enwerịrị nlegharị anya dị mma maka arụmọrụ.
Ị nwere ike ịhazigharị àgwà ngafe na PerformanceMode iji belata ojiji GPU.
- Maka nwa amaala, Unity ma ọ bụ onye nrụpụta na-adịghị adị, rụtụ aka na ntuziaka a.
3.2.2 Gbanwee ọnụego Frame ngafe
Dị ka Ngosipụta ume ọhụrụ ọnụego, elu Passthrough framerate na-enye ire ụtọ visuals, ma na-abịa na-eri nke ụba usoro ibu ibu. N'aka nke ọzọ, ọnụ ọgụgụ ume ọhụrụ dị ala na-ebelata ibu sistemu, mana na-eme ka ọhụhụhụ dị obere. Enwere ụdị ụzọ abụọ nke passthrough framerate: Boost na Normal.
- Maka onye nrụpụta obodo, nwere ike ịhazigharị ogo ngafe site na iji WVR_SetPassthroughImageRate.
- Maka onye nrụpụta otu, nwere ike ịgbanwe site na koodu, example settings dị ka ndị a // C #
Interop.WVR_SetPassthroughImageQuality(WVR_PassthroughImageQuality.PerformanceMode); - Maka onye nrụpụta na-adịghị adị, usoro ntọala hụ ọnụ ụkpụrụ ụkpụrụ dị na eserese 3-2-2.

Ntọala VIVE OpenXR
OpenXR bụ ọkọlọtọ mepere emepe nke na-enye ọtụtụ API maka ịmepụta ngwa XR na-agafe n'ọtụtụ ngwaọrụ VR, nke Khronos Group mepụtara. VIVE Focus 3 na VIVE XR Elite na-akwadokwa OpenXR, VIVE OpenXR SDK na-enye nkwado zuru oke maka ngwaọrụ HTC VR, na-enye ndị mmepe ohere ịmepụta Allin-One na ọdịnaya na Unity na Unreal engine na ngwaọrụ HTC VR. Anyị na-ebuli ma na-edozi ahụhụ dị iche iche, yabụ a na-atụ aro ka ndị mmepe melite ụdị FOTA nke ngwaọrụ ha iji mee ka ọ dị ọhụrụ. Ugbu a, VIVE OpenXR SDK na-akwado OpenGL ES na Vulkan.
4.1 VR ọdịnaya
4.1.1 Ngosipụta ọnụego ume ọhụrụ
Echiche ebe a yiri 3.1.1 Ngosipụta ume ọhụrụ.
- Maka onye nrụpụta obodo, rụtụ aka na XrEventDataDisplayRefreshRateChangedFB.
- Maka onye nrụpụta Unity, rụtụ aka na ntuziaka a.
- Maka onye nrụpụta na-adịghị adị, rụtụ aka na ntuziaka a.
4.1.2 Mkpebi ihe nkpuchi anya
Echiche ebe a yiri 3.1.2 Eyebuffer Resolution. anyị na-akwado ka ị ghara ibelata ihe ọ̀tụ̀tụ̀ dị n'okpuru 0.7, n'ihi na nke a nwere ike ịkpata àgwà a na-adịghị anabata.
- Maka onye nrụpụta obodo, rụtụ aka na xrCreateSwapchain. Mgbe ị na-edozi nha, ị kwesịrị ịmụba obosara na ịdị elu site na oke. ,
- Maka onye nrụpụta Unity, rụtụ aka na example // C#
XRSettings.eyeTextureResolutionScale = 0.7f; // tụrụ aro 1.0f~0.7f - Maka ntọala adịchaghị adị, rụtụ aka na ntuziaka a.
4.1.3 ọtụtụView Ịsụgharị
Echiche ebe a yiri 3.1.3 Multi-View Ịsụgharị. Njirimara a na-ebelata ibu na CPU, GPU nwekwara ụfọdụ uru. Anyị na-akwado ime ka atụmatụ a nwee ike.
- Maka onye nrụpụta obodo, KhronosGroup na-enye OpenXR Multi-View example, rụtụ aka na ntuziaka a.
- Maka onye nrụpụta Unity, rụtụ aka na Render Mode, otu ngafe bụ ọtụtụ.view atụmatụ.
- Maka onye nrụpụta adịchaghị adị, dịka ọ dị na ntọala VIVE Wave, rụtụ aka na ntuziaka a.
4.1.4 Foveation [Ọ bụghị Nkwado na-adịghị adị]
Echiche ebe a yiri 3.1.4 Foveation. Emebere nrụgharị emegharị emegharị iji belata ibu GPU mana na-enyere ya aka iweta ọnụ ahịa arụmọrụ GPU a kapịrị ọnụ ma ọ bụrụ na etinyere nrụgharị dị oke ala yana ejiri ụfọdụ ihe ma ọ bụ textures mee ihe, ọ nwere ike ịdị oke.
mara onye ọrụ. Ya mere, ọ bụ ihe amamihe dị na ya ime ma ọ bụ gbanyụọ njirimara ahụ dabere na ihe ị chọrọ na nlebara anya arụmọrụ ugbu a, a na-akwado ọrụ arụ ọrụ naanị na OpenGL ES na VIVE OpenXR SDK.
- Maka onye nrụpụta obodo, njirimara a dị, mana ugbu a, ọ nweghị exampa na-enye les.
- Maka onye nrụpụta Unity, rụtụ aka na ntuziaka a.
- Maka onye nrụpụta Unreal, anaghị akwado atụmatụ a ugbu a.
4.1.5 Ihe mkpuchi (anaghị akwado adịchaghị)
Echiche ebe a yiri 3.1.8 Render mask.
- Maka onye nrụpụta obodo, jiri XrVisibilityMaskKHR nweta ntupu. Tupu ịme ihe nkiri ahụ, jiri ntupu a mejupụta ụkpụrụ nchekwa dị omimi tupu ịme ihe nkiri ahụ.
- Maka onye nrụpụta Unitydị n'otu, a na-akwado njirimara Render Mask site na ndabara maka OpenGL ES, yana enwere ike gbanyụọ ya site na iji koodu a; Vulkan anaghị akwado atụmatụ a ugbu a. //C# UnityEngine.XR.XRSettings.occlusionMaskScale = 0.0f;
- Maka onye nrụpụta Unreal, ugbu a anaghị akwado atụmatụ Render Mask.
4.2 MR ọdịnaya
OpenXR ugbu a anaghị akwado ịtọ Ọdịmma Ngafe na Frame Rate. Anyị ga-aga n'ihu na-ebuli ma na-edozi njirimara Passthrough, yabụ akwadoro ka ndị nrụpụta kwalite ụdị FOTA nke ngwaọrụ iji mee ka ọ dị ọhụrụ.
Njikarịcha nkịtị
5.1 Gbanyụọ Ụdị arụmọrụ dị elu
Ịgbanyụ "Ụdị arụmọrụ dị elu" nwere ike ibelata nha ngosi nke ngwaọrụ ahụ, si otú ahụ belata ojiji GPU. Ihe ndọghachi azụ bụ mbelata mkpebi ihuenyo. Ị nwere ike ịhazi ogo na arụmọrụ iji kpebie ma ị ga-eme ya.
E gosipụtara ebe ntọala maka VIVE Focus 3 foto 5-1-1:

Egosiri ebe ntọala maka VIVE XR Elite foto 5-1-2:

5.2 ọtụtụampling Anti-Aliasing
Ọtụtụampling bụ usoro mgbochi mgbochi nke a na-eji eme ka akụkụ ndị dị n'akụkụ dị nro, na-emekarị ngwa ngwa site na ngwaike, nke na-ebute ụgwọ ọrụ GPU. Anyị na-akwado ka ị ghara ịtọ MSAA elu karịa 2x n'ihi na uru dị elu ga-eri karịa ojiji gpu.
- Maka onye nrụpụta obodo, MSAA OpenGL ES exsample nwere ike na-ezo aka na nke a; MSAA Vulkan exampler nwere ike na-ezo aka na nke a.
Adreno GPU na-enye ndọtị na-ebuli MSAA. - Maka onye nrụpụta Unity, rụtụ aka na guild a.
- Maka onye nrụpụta na-adịghị adị, rụtụ aka na guild a. Unreal ewepụtala mgbochi nhazi nhazi post, rụtụ aka na guild a.
5.3 GMEM Ibu/ Store
N'ime ihe owuwu Adreno GPU, enwere njiri mara ebe, mgbe ị na-ejikọ Target Render, ma ọ bụrụ na Render Target ewepụghị ma ọ bụ mebie ya, oge ọ bụla nsụgharị na-eme, a na-etinye ụkpụrụ dị na Render Target n'ime ebe nchekwa eserese, nke a na-akpọ GMEM Load. Ọ bụrụ na ụkpụrụ ndị gara aga adịghị mkpa, doro anya ma ọ bụ mebie Render Target befaure, nwere ike zere ọnọdụ a iji melite arụmọrụ GPU.
Ị nwere ike izere ibu GMEM site na iji ụzọ ndị a. Na OpenGL ES, mgbe ejikọtachara FBO, ị nwere ike ịkpọ glClear na glClearDepth iji kpochapụ Agba, Omimi na ihe nchekwa Stencil, ma ọ bụ kpọọ glInvalidateFramebuffer iji mebie nkọwapụta Render Target. Na Vulkan, ntụziaka ndị ọzọ adịghị mkpa; Ị nwere ike ịtọ nke ọma ma ị ga-ehichapụ ihe mgbakwunye tupu iji ya na VkAttachmentDescription.loadOp.
N'otu aka ahụ, ịchekwa nsonaazụ nke Tile Render laghachi na Main Memory site na ebe nchekwa eserese ka a na-akpọ Ụlọ Ahịa GMEM; ọrụ a dịkwa oke ọnụ maka GPU. Iji zere nke a, anyị na-akwado ijikọ naanị ihe ndị a na-atụ anya ihe a chọrọ iji gbochie ọrụ ụlọ ahịa na-enweghị isi.
5.4 Njikere mejupụtara (Otutu oyi akwa)
Ederede egosipụtara site na iji Multi-Layer nwere mma anya ka mma. Agbanyeghị, njirimara a na-abawanye arụmọrụ GPU yana ọnụ ọgụgụ nke akwa na nha nke textures. Anyị na-akwado ọ bụghị ihe karịrị atọ n'ígwé.
- Maka onye nrụpụta obodo,
o VIVE Wave SDK na-eji WVR_SubmitFrameLayers nyefee data maka oyi akwa ọ bụla.
o VIVE OpenXR SDK tinye data oyi akwa n'ime XrFrameEndInfo wee nyefee ya site na xrEndFrame. - Maka onye nrụpụta Unity,
o Ntọala VIVE Wave SDK, rụtụ aka na ntuziaka a,
o VIVE OpenXR ntọala, rụtụ aka na ntuziaka a. - Maka onye nrụpụta na-adịghị adị,
o Ntọala SDK VIVE Wave, rụtụ aka na ntuziaka a.
o VIVE OpenXR ntọala, rụtụ aka na ntuziaka a.
5.5 CPU igwe
Mgbe nbudata CPU dị arọ karị, ụfọdụ eriri usoro ndabere na-ebute oke mkpa, ọ nwere ike ịkwụsị ogbugbu nke ala. Anyị enweghị ike ikwe nkwa na ngwa ọdịnaya agaghị akwụsị site na eriri ọzọ.
Ọ bụrụ na nsogbu ndị dị otú ahụ ebilite, ị nwere ike ịgbalị ịbawanye eriri mkpa iji hụ ma ọ na-edozi nsogbu ahụ. Mana ọ bụrụ n'ịgbanwe nhazi eri ka ọ kachasị maka ngwaọrụ, ịkwesịrị ịlele ma nke a nwere mmetụta ọjọọ ọ bụla.
- Maka Onye Mmepụta Unitydị n'Otu, rụtụ aka na atụmatụ nhazi eriri gam akporo. Ọ bụrụ na ị na-eji VIVE Wave SDK, anyị nwere atụmatụ dị na WaveXRSettings nke na-enye gị ohere ịgbanwe ihe kacha mkpa, dị ka egosiri na eserese 5-5-2. Ọnụ ahịa dị ntakịrị na-anọchite anya mkpa dị elu.

- Unreal mba usoro ịgbanwe egwuregwu eri, na-enye eri na RHI eri mkpa site mpụga ntọala ma ọ bụrụ na ị gbanwee engine koodu.
Nwebiisinka © 2024 HTC Corporation. Ikike niile echekwabara
Akwụkwọ / akụrụngwa
![]() |
Arụmọrụ VIVE VR [pdf] Ntuziaka onye ọrụ Ịrụ ọrụ VR, Ịrụ ọrụ, Ịrụ ọrụ |
