
Coileanadh VR Render
Tunning agus Optimizations
Ro-ràdh
Tha a bhith a’ faighinn eòlas VR as fheàrr air bathar-cruaidh cuibhrichte le goireasan deatamach ann a bhith a’ lìbhrigeadh eòlas cleachdaiche rèidh agus comhfhurtail. Ma thuiteas ìre frèam de chuibhreann susbaint no ma tha e neo-sheasmhach fo ìre ùrachaidh an inneil, leanaidh e gu britheamh frèam agus stutting, tinneasan gluasad, msaa. mu dheireadh a 'toirt droch bhuaidh air eòlas an neach-cleachdaidh. Mar sin, tha e glè chudromach coileanadh susbaint a bharrachadh gus dèanamh cinnteach à eòlas tlachdmhor.
Mus tòisich thu air gleusadh coileanaidh, tha e cudromach tuigsinn far a bheil na botail coileanaidh gus gleusadh neo-èifeachdach a sheachnadh. Tha an sgrìobhainn seo air a dhealbhadh gus luchd-leasachaidh a chuideachadh gus cnapan-starra coileanaidh a chomharrachadh agus fuasglaidhean a thabhann gus fuasgladh fhaighinn air cùisean dèanadais tairgse.
Tha an sgrìobhainn air a roinn anns na roinnean a leanas:
- Caibideil 2: Comharraich a’ Chnap-starra – Tha an earrann seo a’ cuideachadh luchd-leasachaidh ann a bhith a’ comharrachadh far a bheil na botail.
- Caibideil 3 agus 4: Roghainnean VIVE Wave agus VIVE OpenXR - Tha na h-earrannan seo a’ mìneachadh shuidheachaidhean sònraichte a dh’ fhaodadh buaidh a thoirt air coileanadh CPU/GPU airson aplacaidean VIVE Wave agus OpenXR. Faodaidh luchd-leasachaidh deuchainn a dhèanamh air na feartan sin a chomasachadh no a dhì-chomasachadh stèidhichte air na botail coileanaidh a thachair gus faighinn a-mach a bheil leasachadh sam bith ann.
- Caibideil 5: Optimization Coitcheann - Tha an roinn seo a’ roinn cuid de chleachdaidhean agus eòlasan optimization cumanta.
Comharraich a’ Chnap-starra
Nuair a tha HMD a’ gluasad, ma tha jitter frèam no oir dhubh, msaa aig an app VR/MR, mar as trice bidh e air adhbhrachadh le cùis dèanadais dona. Mar as trice, faodar duilgheadasan dèanadais a roinn ann an 2 sheòrsa: ceangailte ri CPU no ceangailte ri GPU. Tuig dè na seòrsaichean ceangail airson an aplacaid agad a tha glè chudromach an toiseach gus gleusadh neo-èifeachdach a sheachnadh.
Anns a’ chaibideil seo, bheir sinn seachad ceumannan sìmplidh a leigeas leat comharrachadh gu sgiobalta far a bheil na cùisean coileanaidh.
2.1 Thoir sùil air toradh susbaint FPS
An toiseach, bidh sinn a’ tòiseachadh le bhith a’ sgrùdadh an t-susbaint FPS is e sin an àireamh de fhrèamaichean a bhios an susbaint a’ toirt seachad gach diog. Bu chòir a chumail suas chun fhrèam taisbeanaidh agus a chumail seasmhach. Rud eile, dh’ fhaodadh e bhith ag adhbhrachadh jitters frèam.
Ma tha an tagradh SDK agad a’ cleachdadh VIVE WAVE SDK 6.0.0 no nas fhaide air adhart, faodaidh tu an àithne adb a leanas a chleachdadh gus sùil a thoirt air an FPS. DK 6.0.0
$adb Logcat -s VRMetric
Chì thu an dàta loga a leanas.
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” Tha a ’chiad àireamh a’ riochdachadh an FPS susbaint, agus tha an dàrna àireamh a ’riochdachadh an fhrèam taisbeanaidh.
Ma tha an dreach Wave SDK agad nas ìsle na 6.0.0, thathas a’ moladh ùrachadh chun dreach as ùire gus coileanadh tairgse àrdachadh agus optimization cuid eile.
Ma thog an tagradh SDK agad le VIVE OpenXR. Faodaidh tu an àithne adb a leanas a chleachdadh gus sùil a thoirt air an FPS.
$adb Logcat -s RENDER_ATW
Chì thu an dàta loga a leanas
RENDER_ATW: [FPS] inneach ùr: 90.00
RENDER_ATW: [FPS] R an làthair: 90.00 sgiobadh: 0 317, -0.0155 0.805527, 0.006788)
RENDER_ATW: [FPS] L an làthair: 90.00 sgiobadh: 0 (0.592301, -0.015502, 0.805539, 0.006773)
Tha an àireamh às deidh “inneach ùr” a’ riochdachadh susbaint FPS an-dràsta. Tha an àireamh a leanas “R an làthair” agus “L an làthair” a’ riochdachadh frèam taisbeanaidh.
Aig amannan, is dòcha gu bheil beagan eadar-dhealachaidh anns an t-susbaint FPS agus am frèam taisbeanaidh.
Airson example, anns a’ chùis gu h-àrd, faodar 89.8 FPS a mheas mar 90 FPS.
Ma tha susbaint FPS na h-aplacaid gu cunbhalach nas ìsle na am frèam taisbeanaidh no ma tha e fhathast neo-sheasmhach, tha e a’ nochdadh cùis dèanadais tairgse. Mar sin, is e an ath cheum faighinn a-mach a bheil am botail a’ tighinn bhon CPU no bhon GPU.
2.2 Thoir sùil air cleachdadh CPU agus GPU
Ma tha an tagradh SDK agad a’ cleachdadh VIVE WAVE SDK 6.0.0 no nas fhaide air adhart, faodaidh tu an àithne adb a leanas a chleachdadh gus sùil a thoirt air an FPS.
$adb logcat -s VRMetric
Chì thu an dàta loga a leanas.
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
Mar a chì thu ann an toradh log gu h-àrd, is e cleachdadh CPU 27% agus is e cleachdadh GPU 72% Ma tha an dreach Wave SDK agad nas ìsle na 6.0.0, thathas a’ moladh ùrachadh chun dreach as ùire gus coileanadh tairgse àrdachadh agus optimization feadhainn eile.
Airson an app VIVE OpenXR, faodaidh tu an àithne a leanas a chleachdadh gus sgrùdadh a dhèanamh air cleachdadh CPU agus GPU.
# air linux/ubuntu
$ adb logcat | grep CPU_USAGE
# air slige chumhachdan
$ adb logcat | Tagh-String -Pattern CPU_USAGE
Chì thu an clàr a leanas
CPU Avg. 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 %
Ma bheir thu fa-near nach urrainn don FPS an ìre frèam taisbeanaidh a chumail suas agus gu bheil cleachdadh GPU cuideachd glè àrd, mar as trice nas àirde na 85%, faodaidh tu feuchainn ri rèiteachadh Eyebuffer (earrann 3.1.2, earrann 4.1.2) atharrachadh gus faicinn a bheil e ag adhartachadh FPS. Ma tha an t-atharrachadh seo a 'leantainn gu bhith nas fheàrr
coileanadh, faodaidh sinn a cho-dhùnadh gu bheil a’ chùis ceangailte ri GPU agus ar n-oidhirpean optimization a chuimseachadh a rèir sin.
Air an làimh eile, mura toir atharrachadh an Eyebuffer Resolution adhartas follaiseach ann an coileanadh, tha coltas ann gu bheil an cnap-starra ceangailte ri CPU, agus bu chòir dhuinn fòcas a chuir air coileanadh CPU as fheàrr.
Tha e comasach cuideachd gu bheil an aplacaid an dà chuid ceangailte ri CPU agus ceangailte ri GPU aig an aon àm. Ann an leithid de chùisean, bu chòir oidhirpean optimization a chuir an sàs an dà chuid air an CPU agus GPU gus leasachaidhean coileanaidh cothromach a choileanadh.
2.3 GPU-ceangailte
Nuair a tha app VR ceangailte ri GPU, tha e a’ ciallachadh gur e an GPU am prìomh bhotal, agus chan urrainn dha cumail suas ri iarrtasan tairgse an tagraidh. Gus cùisean ceangailte ri GPU a lasachadh, beachdaich air na molaidhean a leanas:
An toiseach, cleachd innealan pròifil mar RenderDoc no Game Engine profiler (Aonachd Profiler, Unreal Insights) gus sgrùdadh a dhèanamh air far a bheil an GPU a’ caitheamh a’ mhòr-chuid den ùine aige. Comharraich na h-obraichean as daoire agus cuir fòcas air a bhith gan dèanamh nas fheàrr.
Airson leasaiche dùthchasach, faodaidh tu RenderDoc a chleachdadh gus faighinn a-mach dè an gairm tarraing a tha ag adhbhrachadh cus luchd GPU.
Airson Unity Developer, faodaidh tu Unity an sgrìobhainn seo a leantainn no RenderDoc a chleachdadh gus cùis dèanadais tairgse a sgrùdadh, agus lean na sgrìobhainnean optimization grafaigs Unity airson stiùireadh gus an tagradh agad a bharrachadh.
Airson Unreal Developer, faodaidh tu GPU Visualizer a chleachdadh no RenderDoc a chleachdadh gus cùis dèanadais tairgse a sgrùdadh, agus lean an Stiùireadh Coileanaidh Unreal airson stiùireadh gus an tagradh agad a bharrachadh.
San dàrna àite, faodaidh tu cuideachd feuchainn ri cuid de fheartan no shuidheachaidhean Wave atharrachadh gus luchdachadh GPU a lughdachadh.
- Suidhich Ìre Ùrachaidh Taisbeanaidh nas slaodaiche (roinn 3.1.1, earrann 4.1.1)
- Atharraich Fuasgladh Eyebuffer (earrann 3.1.2, earrann 4.1.2), 14.1.1)
- Feuch ri Foveation a chomasachadh (roinn 3.1.4, earrann 4.1.4).
Ma tha an aplacaid agad cuideachd na app MR, faodaidh tu na roghainnean Passthrough atharrachadh cuideachd.
- Atharraich càileachd ìomhaigh Passthrough nas ìsle. (earrann 3.2.1)
- Atharraich Passthrough Framerate nas slaodaiche. (earrann 3.2.2).
Airson barrachd shuidheachaidhean eile mu choileanadh GPU, faodaidh tu iomradh a thoirt air Caibideil 2.6.
2.4 CPU-ceangailte
Nuair a tha app VR ceangailte ri CPU, tha e a’ ciallachadh gur e an CPU am prìomh bhotal, beachdaich air na molaidhean a leanas:
An toiseach, cleachd innealan pròifil mar Systrace no Game Engine profiler (Aonachd Profiler, Unreal Insights) gus mion-sgrùdadh agus comharrachadh dè na pàirtean den chòd agad a tha ag ithe na goireasan CPU as motha. Fòcas air na raointean sin a bharrachadh agus algoirmean dian coimpiutaireachd ath-mheudachadh gus luchd CPU a lughdachadh.
- Airson leasaiche dùthchasach, faodaidh tu Systrace a chleachdadh gu profiler am pròiseact agad.
- Airson Unity Developer, faodaidh tu CPU Usage Pro a chleachdadhfiler modal gus cùis dèanadais CPU a lorg.
- Airson Unreal Developer, faodaidh tu Unreal's Insights a chleachdadh gus cùis coileanaidh CPU a lorg.
San dàrna àite, faodaidh tu cuideachd feuchainn ri cuid de fheartan no shuidheachaidhean Wave atharrachadh gus luchdachadh GPU a lughdachadh.
- Suidhich Ìre Ùrachaidh Taisbeanaidh nas slaodaiche (roinn 3.1.1, earrann 4.1.1)
- Cleachd ioma-View Rendering (earrann 3.1.4, earrann 4.1.4)
Ma tha an aplacaid agad cuideachd na app MR, faodaidh tu na roghainnean Passthrough atharrachadh cuideachd.
- Atharraich Passthrough Framerate nas slaodaiche (roinn 3.2.2).
Airson barrachd shuidheachaidhean eile mu choileanadh CPU, faodaidh tu iomradh a thoirt air Caibideil 2.6.
2.5 Geàrr-chunntas
Mu dheireadh, tha sinn air an sruth-obrach sgrùdaidh coileanaidh gu h-àrd a chuir air dòigh ann am Figear 2-5-1. Tòisich le bhith a’ sgrùdadh FPS an t-susbaint. Ma tha e nas ìsle na am frèam taisbeanaidh no ma tha e fhathast neo-sheasmhach, dèan sgrùdadh air cleachdadh GPU / CPU gus faighinn a-mach a bheil e ceangailte ri GPU no CPU. Mu dheireadh, cleachd profiler gus cùisean coileanaidh a chomharrachadh no feartan Wave atharrachadh gus coileanadh CPU a bharrachadh.

2.6 Iomradh sgiobalta Dè na roghainnean as urrainn luchdachadh CPU / GPU a leasachadh
Dèan liosta de na roghainnean aig SDK a bha co-cheangailte ris an luchdachadh CPU / GPU mar gu h-ìosal. Faodaidh tu a bhith stèidhichte air botail an aplacaid gus sùil a thoirt air na roghainnean optimization iomchaidh.
Co-cheangailte ri CPU:
- Suidheachadh VIVE Wave SDK
o Susbaint VR
▪ 3.1.1 Taisbeanadh Ìre Ùrachaidh
▪ 3.1.4 Ioma-View A' toirt seachad
▪ 3.1.6 Càileachd Freagarrach
▪ 3.1.7 Compositor Gluasad Freagarrach
o Susbaint MR
▪ 3.2.2 Atharraich an Ìre Frèam Passthrough - VIVE Suidheachadh OpenXR SDK
o Susbaint VR
▪ 4.1.1 Taisbeanadh Ìre Ùrachaidh
▪ 4.1.4 Ioma-View A' toirt seachad - Optimization cumanta
o 5.5 CPU Spike
Co-cheangailte ri GPU:
- Suidheachadh VIVE Wave SDK
o Susbaint VR
▪ 3.1.1 Taisbeanadh Ìre Ùrachaidh
▪ 3.1.2 Fuasgladh bufair sùla
▪ 3.1.3 Ioma-View A' toirt seachad
▪ 3.1.4 Fuireachas
▪ 3.1.5 Meudachadh geur ann an frèam (FSE)
▪ 3.1.6 Càileachd Freagarrach
▪ 3.1.7 Compositor Gluasad Freagarrach
▪ 3.1.8 Render Mask [Not Support Unreal]
o Susbaint MR
▪ 3.2.1 Atharraich Càileachd Passthrough
▪ 3.2.2 Atharraich an Ìre Frèam Passthrough - VIVE Suidheachadh OpenXR SDK
o Susbaint VR
▪ 4.1.1 Taisbeanadh Ìre Ùrachaidh
▪ 4.1.2 Fuasgladh bufair sùla
▪ 4.1.3 Ioma-View A' toirt seachad
▪ 4.1.4 Foveation [Not Support Unreal]
▪ 4.1.5 Render Mask [Not Support Unreal] - Optimization cumanta
o 5.1 Cuir dheth Modh Àrd Coileanaidh
o 5.2 Iomadanamplanga
o 5.3 Luchdaich/Stòr GMEM
o 5.4 Sreath sgrìobhaidh (Ioma Sreath)
Suidheachadh tonn VIVE
Tha VIVE Wave na àrd-ùrlar fosgailte agus inneal a leigeas leat susbaint VR a leasachadh gu furasta agus a bheir seachad optimization inneal àrd-choileanadh airson com-pàirtichean treas-phàrtaidh. Bidh VIVE Wave a’ toirt taic do einnseanan geama Unity agus Unreal.
Bidh sinn an-còmhnaidh ag ùrachadh agus a’ fuasgladh diofar bhiteagan, agus mar sin mhol sinn an SDK a chumail ùraichte.
An-dràsta, chan eil VIVE Wave a’ toirt taic ach do OpenGL ES. An seo tha liosta de na feartan air an òrdachadh le buaidh air coileanadh GPU. Roinnidh sinn seo ann an dà phàirt: susbaint VR agus susbaint MR.
3.1 susbaint VR
3.1.1 Taisbeanadh Ìre Ùrachaidh
Bidh ìrean ùrachaidh nas àirde a’ tabhann ìomhaighean nas rèidhe, ach bidh iad a’ ciallachadh barrachd luchd air an t-siostam. Air an làimh eile, bidh ìrean ùrachaidh nas ìsle a’ lughdachadh luchd an t-siostaim, ach bidh iad a’ ciallachadh nach bi ìomhaighean cho rèidh. Ma tha duilgheadas aig an aplacaid le CPU/GPU, faodaidh tu feuchainn ri lughdachadh.asing an ìre ùrachaidh taisbeanaidh gus an duilgheadas a lughdachadh.
- Airson leasaiche dùthchasach, thoir sùil air WVR_SetFrameRate.
- Airson leasaiche Unity, thoir sùil air an stiùireadh seo.
- Airson leasaiche Unreal, thoir sùil air an stiùireadh seo.
3.1.2 Fuasgladh bufair sùla
Is e fuasgladh eyebuffer am meud inneach a thèid an aplacaid susbaint a thoirt seachad, inneach air a thoirt seachad a chuir a-steach don ùine ruith airson pròiseas postachd a dhèanamh agus a thaisbeanadh air an taisbeanadh HMD.
Ged a dh’ fhaodadh meud bufair sùla nas motha leantainn gu seallaidhean nas soilleire agus nas mionaidiche, ach bidh e cuideachd a’ cur cuideam mòr air an GPU. Mar sin, tha e riatanach an cothromachadh ceart a lorg eadar càileachd lèirsinneach agus coileanadh.
Ma tha duilgheadas ceangailte ri GPU aig an aplacaid, faodaidh tu feuchainn ri decree.asinMeudaich meud a’ bhufair-sùla le bhith ag iomadachadh factar sgèile. Ach, tha sinn a’ moladh gun a bhith a’ lughdachadh an fhactar sgèile fo 0.7, oir dh’ fhaodadh seo càileachd lèirsinneach mì-iomchaidh adhbhrachadh.
- Airson leasaiche dùthchasach, thoir sùil air WVR_ObtainTextureQueue. Nuair a bhios tu ag atharrachadh meud, bu chòir dhut an leud agus an àirde iomadachadh le co-mheas.
- Airson leasaiche Unity, thoir sùil air WaveXRSettings.
Air neo, faodaidh tu atharrachaidhean a dhèanamh tro chòd mar belwoe.
XRSettings.eyeTextureResolutionScale = ResolutionScaleValue; // C# - Airson leasaiche Unreal, thoir sùil air SetPixelDensity.
3.1.3 Ioma-View A' toirt seachad
Ann an riochdachadh traidiseanta, bidh sinn a’ tarraing na sùilean clì is deas air leth, a dh’ fheumas dà ghairm tarraing airson an aon shealladh. Ioma-View Bidh tairgse a’ dèiligeadh ris a’ chùis seo le bhith a’ coileanadh dìreach aon ghairm tarraing.
Bidh an feart seo a’ lughdachadh luchd an CPU le bhith a’ lughdachadhasing an àireamh de ghairmean tarraing. Tha cuid de bhuannachdan aig an GPU cuideachd, tha luchd-obrach an sgàileadair vertex air a lughdachadh cuideachd leis nach fheum e sgàileadair a bharrachd a ruith airson na sùla eile, ach tha luchd-obrach an sgàileadair bloighdean fhathast gun atharrachadh leis gu bheil feum aige fhathast air gach piogsail a mheasadh airson an dà shùil. Tha sinn a’ moladh an gnìomh seo a chomasachadh.
- Airson leasaiche Dùthchasach, faodaidh tu iomradh a thoirt air wvr_native_hellovr sample.
- Airson leasaiche Unity, thoir sùil air a’ Modh Render, tha pas singilte ioma-view feart.
- Airson leasaiche Unreal, thoir sùil air an stiùireadh seo.
3.1.4 Foiseachd
Tha tairgse falaichte air a dhealbhadh gu sònraichte gus an luchd GPU a lughdachadh. Bidh e a’ lughdachadh mion-fhiosrachadh an fhrèam ann an iomall an taisbeanaidh agus a’ cumail suas mion-fhiosrachadh àrd-rèiteachaidh ann am meadhan an raoin view. Ma tha cùis ceangailte ri GPU aig App, faodaidh tu feuchainn ri toirt seachad Foveation a chomasachadh.

Tha rudeigin ri fhaicinn nuair a bhios tu a’ cleachdadh foveation:
➢ Mar as trice chan eil luchd-cleachdaidh a’ mothachadh don mhion-fhiosrachadh nas lugha ann an sgìrean iomaill a’ cleachdadh am modh foveation àbhaisteach. Ach ma tha càileachd iomaill foveation air a shuidheachadh ro ìosal, dh’ fhaodadh e a bhith follaiseach don neach-cleachdaidh.
➢ Dh'fhaodadh buaidh foveation a bhith nas follaisiche le stuthan sònraichte de dh'inneach, a dh'fhaodadh aire an neach-cleachdaidh a ghlacadh. Bu chòir do luchd-leasachaidh a bhith mothachail air seo agus measadh a dhèanamh air a rèir sin.
➢ Le bhith a’ comasachadh feart tairgse foveated thig cosgais coileanaidh GPU stèidhichte, a dh’ fhaodadh a bhith eadar 1% gu 6% a rèir meud bufair sùla. Nuair a bhios tu a’ cleachdadh shader sìmplidh san t-sealladh, dh’ fhaodadh buannachd dèanadais bho bhith a’ sàbhaladh ghoireasan a bhith nas ìsle na cosgais coileanaidh stèidhichte GPU, a’ leantainn gu lùghdachadh ann an coileanadh.
- Airson leasaiche dùthchasach, thoir sùil air an stiùireadh seo.
- Airson leasaiche Unity, thoir sùil air an stiùireadh seo. Gu sònraichte, nuair a chuireas tu comas air post-giollachd no HDR, chan urrainnear foveation a chleachdadh gu h-iomlan. Leis gun toir Unity nithean air an inneach tairgse fhèin, seach an inneach tairgse an làthair a tha air a ghineadh le ùine ruith a bheir taic dha foveation.
- Airson leasaiche Unreal, thoir sùil air an stiùireadh seo. Gu sònraichte, chan urrainnear foveation a chleachdadh gu h-iomlan air Ioma-View A’ toirt seachad, leis nach urrainn dha Unreal nithean a thoirt seachad gu dìreach air an inneach tairgse a chaidh a ghineadh le ùine ruith a bheir taic do fhoveation.
3.1.5 Meudachadh Sharpness Frame (FSE)
Bidh an FSE a’ toirt seachad toradh tairgse geur tro bhith a’ toirt a-steach sìoltachan biorach, faodaidh e susbaint a dhèanamh nas soilleire agus a bhith gu math cuideachail airson soilleireachd an teacsa san t-sealladh a leasachadh. Ma tha cùis ceangailte ri GPU aig App, faodaidh tu beachdachadh air FSE a chuir dheth mura h-eil e riatanach.

- Airson leasaiche dùthchasach, thoir sùil air an stiùireadh seo.
- Airson leasaiche Unity, thoir sùil air an stiùireadh seo.
- Airson leasaiche Unreal, thoir sùil air an stiùireadh seo.
3.1.6 Càileachd freagarrach
Gus bataraidh a ghleidheadh agus coileanadh tairgse an inneal a chumail suas, bidh am feart seo gu fèin-ghluasadach ag atharrachadh ìrean coileanaidh a ’ghleoc CPU / GPU stèidhichte air an cleachdadh. A bharrachd air an sin, faodar ro-innleachdan eile a chuir an gnìomh gus coileanadh àrdachadh, leithid Foveation a chomasachadh / a dhì-chomasachadh gu fèin-ghluasadach no faodaidh susbaint e fhèin atharrachadh ma gheibh e tachartasan luchdan àrd / ìosal.
- Airson leasaiche dùthchasach, thoir sùil air an stiùireadh seo.
- Airson leasaiche Unity, thoir sùil air an stiùireadh seo. Anns a ’plugan Unity againn, faodar meud bufair sùla atharrachadh gu fèin-ghluasadach stèidhichte air coileanadh gnàthach; Bidh meud teacsa a’ sìoladh a-mach luachan sgèile a tha ro bheag air an liosta Fuasgladh. Tha sinn a’ moladh teacsa de mheud co-dhiù 20 dmm no nas motha.
- Airson leasaiche Unreal, thoir sùil air an stiùireadh seo.
3.1.7 Compositor Gluasad Freagarrach
Tha am feart seo na fheart deuchainneach a tha a’ toirt a-steach UMC agus PMC. Lùghdaichidh UMC an Ìre Frame le leth agus cuiridh e frèam ùr a-mach ann an àm fìor gus rèidh lèirsinneach a chumail. Ach, thig e le beagan latency, artifacts agus luchdachadh GPU.
Bidh PMC gu sònraichte a’ cleachdadh an Doimhneachd Bufair gus leigeil le ATW cunntas a thoirt air eadar-theangachadh HMD, leudachadh gu airgead-dìolaidh 6-dof. Faodaidh am feart seo latency eadar-theangachaidh a lughdachadh le 1 ~ frèamaichean 2, ach àrdachadh air luchdachadh GPU.
- Airson leasaiche dùthchasach, thoir sùil air an stiùireadh seo.
- Airson leasaiche Unity, thoir sùil air an stiùireadh seo.
- Airson leasaiche Unreal, thoir sùil air an stiùireadh seo.
3.1.8 Measg Render [Gun taic a thoirt do neo-fhìor]
Bidh piogsail aig na h-oirean cha mhòr do-fhaicsinneach às deidh saobhadh, bidh am masg render ag atharrachadh luachan bufair doimhneachd nam piogsail do-fhaicsinneach sin. Ma bheir thu comas deuchainn doimhneachd, mar thoradh air tràth-z, cha tèid na piogsail neo-fhaicsinneach sin a thoirt seachad, agus mar sin lughdaichidh sin an luchd GPU. Tha am feart seo feumail ma tha nithean trom-luchdachadh anns na raointean neo-fhaicsinneach sin; air dhòigh eile, mura h-eil nithean tairgse anns na raointean sin, thathas a’ moladh a chuir dheth oir ithidh e cleachdadh GPU beag.
- Airson leasaiche dùthchasach, thoir sùil air an stiùireadh seo. Feumaidh tu am bufair doimhneachd a cheangal mus cuir thu fios gu RenderMask; air dhòigh eile, bidh e neo-èifeachdach.
- Airson leasaiche Unity, thoir sùil air an stiùireadh seo.
- Airson leasaiche Unreal, chan eil e an-dràsta a’ toirt taic don fheart Render Mask.
3.2 MR Susbaint
3.2.1 Atharraich Càileachd Passthrough
Tha 3 ìrean ann airson càileachd ìomhaigh passthrough:
➢ WVR_PassthroughImageQuality_DefaultMode - freagarrach airson susbaint MR às aonais iarrtas sònraichte.
➢ WVR_PassthroughImageQuality_PerformanceMode - freagarrach airson susbaint MR a dh’ fheumas barrachd ghoireasan GPU airson sealladh brìgheil a thoirt seachad.
➢ WVR_PassthroughImageQuality_QualityMode - freagarrach airson susbaint MR a leigeas le luchd-cleachdaidh an àrainneachd mun cuairt fhaicinn gu soilleir, ach feumaidh an sealladh brìgheil de shusbaint a bhith nas fheàrr airson coileanadh.
Faodaidh tu càileachd Passthrough atharrachadh gu PerformanceMode gus cleachdadh GPU a lughdachadh.
- Airson leasaiche Dùthchasach, Uunity no Unreal, thoir sùil air an stiùireadh seo.
3.2.2 Atharraich ìre frèam passthrough
Coltach ris an ìre ùrachaidh Taisbeanaidh, tha frèam Passthrough nas àirde a ’tabhann seallaidhean nas soilleire, ach thig iad aig cosgais barrachd eallach siostaim. Air an làimh eile, bidh ìrean ùrachaidh nas ìsle a’ lughdachadh eallach an t-siostaim, ach a’ leantainn gu ìomhaighean nach eil cho rèidh. Tha dà dhòigh air frèam passthrough: àrdachadh agus àbhaisteach.
- Airson leasaiche Dùthchasach, is urrainn dhaibh càileachd pas troimhe atharrachadh a’ cleachdadh an WVR_SetPassthroughImageRate.
- Airson leasaiche Unity, faodaidh e atharrachadh tro chòd, example roghainnean mar a leanas // C#
Interop.WVR_SetPassthroughImageQuality(WVR_PassthroughImageQuality.PerformanceMode); - Airson leasaiche Unreal, an dòigh suidheachaidh faic an nòta plana anns an Fhigear 3-2-2.

Suidheachadh VIVE OpenXR
Tha OpenXR na inbhe fosgailte a bheir seachad seata cumanta de APIan airson a bhith a’ leasachadh thagraidhean XR a bhios a’ ruith thairis air raon farsaing de dh’ innealan VR, air an leasachadh le Buidheann Khronos. Bidh an VIVE Focus 3 agus VIVE XR Elite cuideachd a ’toirt taic do OpenXR, tha VIVE OpenXR SDK a’ toirt seachad taic coileanta airson innealan HTC VR, a ’leigeil le luchd-leasachaidh Allin-One a thogail agus susbaint le einnsean Unity agus Unreal air innealan HTC VR. Bidh sinn an-còmhnaidh a’ dèanamh an fheum as fheàrr agus a’ fuasgladh diofar bhiteagan, agus mar sin thathas a’ moladh gun ùraich luchd-leasachaidh dreach FOTA an inneal aca gus a chumail ùraichte. An-dràsta, tha VIVE OpenXR SDK a’ toirt taic do OpenGL ES agus Vulkan.
4.1 susbaint VR
4.1.1 Taisbeanadh Ìre Ùrachaidh
Tha am bun-bheachd an seo coltach ri 3.1.1 Ìre Ùrachaidh Taisbeanaidh.
- Airson leasaiche dùthchasach, thoir sùil air XrEventDataDisplayRefreshRateChangedFB.
- Airson leasaiche Unity, thoir sùil air an stiùireadh seo.
- Airson leasaiche Unreal, thoir sùil air an stiùireadh seo.
4.1.2 Fuasgladh bufair sùla
Tha am bun-bheachd an seo coltach ri 3.1.2 Fuasgladh Eyebuffer. tha sinn a’ moladh gun a bhith a’ lughdachadh a’ bhàillidh sgèile fo 0.7, oir dh’ fhaodadh seo leantainn gu càileachd lèirsinneach neo-iomchaidh.
- Airson leasaiche dùthchasach, thoir sùil air xrCreateSwapchain. Nuair a bhios tu ag atharrachadh meud, bu chòir dhut an leud agus an àirde iomadachadh le co-mheas. ,
- Airson leasaiche Unity, thoir sùil air na leanas example // C#
XRSettings.eyeTextureResolutionScale = 0.7f; // air a mholadh 1.0f~0.7f - Airson roghainnean Unreal, thoir sùil air an stiùireadh seo.
4.1.3 Ioma-View A' toirt seachad
Tha am bun-bheachd an seo coltach ri 3.1.3 Ioma-View A' toirt seachad. Bidh am feart seo a ’lughdachadh an luchd air an CPU, tha cuid de bhuannachdan aig GPU cuideachd. Tha sinn a’ moladh am feart seo a chomasachadh.
- Airson leasaiche dùthchasach, tha KhronosGroup a’ toirt seachad OpenXR Multi-View example, thoir sùil air an stiùireadh seo.
- Airson leasaiche Unity, thoir sùil air a’ Modh Render, tha pas singilte ioma-view feart.
- Airson leasaiche Unreal, mar le suidheachaidhean VIVE Wave, thoir sùil air an stiùireadh seo.
4.1.4 Foveation [Gun taic a thoirt do Unreal]
Tha am bun-bheachd an seo coltach ri 3.1.4 Foveation. Tha tairgse falaichte air a dhealbhadh gu sònraichte gus an luchd GPU a lughdachadh ach le bhith ga dhèanamh bidh cosgais coileanaidh GPU stèidhichte ann agus ma tha foveation air a shuidheachadh ro ìosal agus cuid de stuthan no inneach air an cleachdadh, faodaidh e fàs gu math
follaiseach don neach-cleachdaidh. Mar sin, tha e ciallach am feart a chomasachadh no a dhì-cheadachadh stèidhichte air na riatanasan sònraichte agad agus na cùisean coileanaidh agad An-dràsta, chan eil gnìomhachd Foveated a’ faighinn taic ach ann an OpenGL ES air VIVE OpenXR SDK.
- Airson leasaiche dùthchasach, tha am feart seo ri fhaighinn, ach an-dràsta, chan eil examples air an toirt seachad.
- Airson leasaiche Unity, thoir sùil air an stiùireadh seo.
- Airson leasaiche Unreal, chan eil e a’ toirt taic don fheart seo an-dràsta.
4.1.5 Measg Render [Gun taic a thoirt do neo-fhìor]
Tha am bun-bheachd an seo coltach ri 3.1.8 Render Mask.
- Airson leasaiche dùthchasach, cleachd XrVisibilityMaskKHR gus am mogal fhaighinn. Mus cuir thu an sealladh seachad, cleachd am mogal seo gus luachan bufair doimhneachd a lìonadh mus cuir thu an sealladh air adhart.
- Airson leasaiche Unity, tha am feart Render Mask air a chomasachadh gu bunaiteach airson OpenGL ES, agus faodar a chiorramachadh leis a’ chòd a leanas; Chan eil Vulkan a’ toirt taic don fheart seo an-dràsta. //C# UnityEngine.XR.XRSettings.occlusionMaskScale = 0.0f;
- Airson leasaiche Unreal, chan eil e an-dràsta a’ toirt taic don fheart Render Mask.
4.2 MR Susbaint
Chan eil OpenXR an-dràsta a’ toirt taic do shuidheachadh Càileachd Passthrough agus Ìre Frèam. Leanaidh sinn oirnn a’ leasachadh agus a’ càradh am feart Passthrough, agus mar sin mholamaid gun ùraich luchd-leasachaidh dreach FOTA an inneal gus a chumail ùraichte.
Optimization cumanta
5.1 Cuir dheth am modh àrd-choileanadh
Le bhith a’ tionndadh “modh àrd-choileanadh” faodaidh e meud taisbeanaidh an inneil a lughdachadh, agus mar sin a’ lughdachadh cleachdadh GPU. Is e an tarraing air ais lùghdachadh ann an rùn sgrion. Faodaidh tu càileachd agus coileanadh a chothromachadh gus co-dhùnadh am bu chòir dhut a chomasachadh.
Tha an suidheachadh suidheachadh airson VIVE Focus 3 ri fhaicinn Figear 5-1-1:

Tha an suidheachadh suidheachadh airson VIVE XR Elite air a shealltainn Figear 5-1-2:

5.2 Iomadanampling Anti-Aliasing
IomadanampTha ling na anti-aliasinMar as trice, bidh an dòigh-obrach g a thathar a’ cleachdadh gus oirean biorach a dhèanamh rèidh, air a luathachadh tro bhathar-chruaidh, agus mar sin bidh cosgais coileanaidh GPU ann. Tha sinn a’ moladh gun a bhith a’ suidheachadh MSAA nas àirde na 2x oir bidh luach àirde nas àirde a’ cleachdadh barrachd GPU.
- Airson leasaiche dùthchasach, MSAA OpenGL ES exsampis urrainn dhomh iomradh a thoirt air seo; MSAA Vulkan exampfaodaidh ler iomradh a thoirt air seo.
Tha an Adreno GPU a’ toirt seachad leudachadh a nì an fheum as fheàrr de MSAA. - Airson leasaiche Unity, thoir sùil air a’ chomann seo.
- Airson luchd-leasachaidh Unreal, thoir sùil air a’ chomann seo. Tha solarachadh iar-phròiseasadh anti-ali aig Unreal cuideachd.asing, thoir iomradh air a’ chomann seo.
5.3 Luchdaich / Stòr GMEM
Ann an ailtireachd Adreno GPU, tha feart ann far am bi, nuair a bhios e a’ ceangal Targaid Render, mura bi an Targaid Render soilleir no neo-dhligheach, gach uair a thachras tairgse, tha na luachan anns an Targaid Render air an luchdachadh a-steach gu Cuimhne Grafaigean, ris an canar GMEM Load. Mura h-eil feum air na luachan a bh’ ann roimhe, faodaidh Render Target a bhith soilleir no neo-dhligheach, an suidheachadh seo a sheachnadh gus coileanadh GPU a leasachadh.
Faodaidh tu luchdachadh GMEM a sheachnadh a’ cleachdadh na dòighean a leanas. Ann an OpenGL ES, às deidh dhut an FBO a cheangal, faodaidh tu glClear agus glClearDepth a ghairm gus bufair Dath, Doimhneachd, agus Stencil a ghlanadh, no cuir fios gu glInvalidateFramebuffer gus an Targaid Render ainmichte a dhì-dhligheachadh. Ann an Vulkan, chan eil feum air stiùireadh a bharrachd; faodaidh tu suidheachadh gu soilleir am bu chòir dhut an ceangal a ghlanadh mus cleachd thu ann an VkAttachmentDescription.loadOp.
Mar an ceudna, a 'stòradh toradh Tile Render air ais gu Prìomh Memory bho Graphics Memory canar GMEM Store; tha an obrachadh seo cuideachd daor airson an GPU. Gus seo a sheachnadh, tha sinn a’ moladh a bhith a’ ceangal dìreach na Targaidean Render a tha a dhìth gus casg a chuir air gnìomhachd stòr neo-riatanach.
5.4 Sreath sgrìobhaidh (Ioma Sreath)
Tha càileachd lèirsinneach nas fheàrr aig inneach a tha air a thaisbeanadh a’ cleachdadh Multi-Layer. Ach, tha am feart seo ag àrdachadh coileanadh GPU gu mòr leis an àireamh de shreathan agus meud nan inneach. Tha sinn a 'moladh gun a bhith nas fhaide na trì sreathan.
- Airson leasaiche dùthchasach,
o Bidh VIVE Wave SDK a’ cleachdadh WVR_SubmitFrameLayers gus dàta a chuir a-steach airson gach ìre.
o Bidh VIVE OpenXR SDK a’ cur dàta còmhdach a-steach do XrFrameEndInfo agus ga chuir a-steach tro xrEndFrame. - Airson leasaiche Unity,
o Roghainnean VIVE Wave SDK, thoir sùil air an stiùireadh seo,
o VIVE roghainnean OpenXR, thoir sùil air an stiùireadh seo. - Airson leasaiche Unreal,
o Suidhichidhean VIVE Wave SDK, thoir sùil air an stiùireadh seo.
o VIVE roghainnean OpenXR, thoir sùil air an stiùireadh seo.
5.5 CPU Spike
Nuair a tha an luchdachadh CPU nas truime, tha prìomhachas àrd aig cuid de phròiseasan cùl-fhiosrachaidh, is dòcha gun cuir e bacadh air coileanadh dùthchasach. Chan urrainn dhuinn gealltainn nach cuir snàithlean eile bacadh air an Iarrtas Susbaint.
Ma thig cùisean mar sin am bàrr, faodaidh tu feuchainn ri barrachd a dhèanamhasinThoir sùil air prìomhachas an t-snàthainn gus faicinn an rèitich e an duilgheadas. Ach ma dh’atharraicheas tu rèiteachadh an t-snàthainn gus a dhèanamh freagarrach airson innealan, feumaidh tu sgrùdadh a dhèanamh a bheil buaidh àicheil sam bith aig seo.
- Airson Unity Developer, thoir sùil air feart rèiteachaidh snàithlean Android. Ma tha thu a’ cleachdadh an VIVE Wave SDK, tha feart againn ann an roghainnean WaveXRS a leigeas leat am prìomhachas atharrachadh, mar a chithear san Figear 5-5-2. Tha an luach nas lugha a’ riochdachadh prìomhachas nas àirde.

- Unreal chan eil dòigh ann airson snàithlean geam atharrachadh, snàithlean a thoirt seachad agus prìomhachas snàithlean RHI tro shuidheachaidhean taobh a-muigh mura atharraich thu còd an einnsein.
Dlighe-sgrìobhaidh © 2024 HTC Corporation. Gach còir glèidhte
Sgrìobhainnean/Goireasan
![]() | Coileanadh VR Render |
Iomraidhean
- Leabhar-làimhe cleachdaichemanual.tools
