VIVE ലോഗോVR റെൻഡറിംഗ് പ്രകടനം
ട്യൂണിംഗും ഒപ്റ്റിമൈസേഷനുകളും

ആമുഖം

റിസോഴ്‌സ്-പരിമിതമായ ഹാർഡ്‌വെയറിൽ ഒപ്റ്റിമൽ VR അനുഭവം നേടുന്നത് സുഗമവും സുഖകരവുമായ ഉപയോക്തൃ അനുഭവം നൽകുന്നതിന് പ്രധാനമാണ്. ഉള്ളടക്ക റെൻഡറിംഗിന്റെ ഫ്രെയിം റേറ്റ് ഉപകരണത്തിന്റെ പുതുക്കൽ നിരക്കിനേക്കാൾ കുറയുകയോ അസ്ഥിരമാവുകയോ ചെയ്താൽ, അത് ഫ്രെയിം ജഡ്ഡർ, സ്റ്റട്ടിംഗ്, മോഷൻ സിക്ക്‌നെസ് മുതലായവയിലേക്ക് നയിക്കും. ഒടുവിൽ ഉപയോക്തൃ അനുഭവത്തെ പ്രതികൂലമായി ബാധിക്കും. അതിനാൽ, ആസ്വാദ്യകരമായ അനുഭവം ഉറപ്പാക്കുന്നതിന് ഉള്ളടക്ക പ്രകടനം ഒപ്റ്റിമൈസ് ചെയ്യുന്നത് വളരെ പ്രധാനമാണ്.
പ്രകടന ട്യൂണിംഗ് ആരംഭിക്കുന്നതിന് മുമ്പ്, കാര്യക്ഷമമല്ലാത്ത ട്യൂണിംഗ് ഒഴിവാക്കാൻ പ്രകടന തടസ്സങ്ങൾ എവിടെയാണെന്ന് മനസ്സിലാക്കേണ്ടത് പ്രധാനമാണ്. പ്രകടന തടസ്സങ്ങൾ തിരിച്ചറിയാനും റെൻഡറിംഗ് പ്രകടന പ്രശ്നങ്ങൾ പരിഹരിക്കുന്നതിനുള്ള പരിഹാരങ്ങൾ വാഗ്ദാനം ചെയ്യാനും ഡെവലപ്പർമാരെ സഹായിക്കുന്നതിനാണ് ഈ പ്രമാണം രൂപകൽപ്പന ചെയ്തിരിക്കുന്നത്.
ഈ പ്രമാണം ഇനിപ്പറയുന്ന വിഭാഗങ്ങളായി ക്രമീകരിച്ചിരിക്കുന്നു:

  • അധ്യായം 2: തടസ്സങ്ങൾ തിരിച്ചറിയുക – തടസ്സങ്ങൾ എവിടെയാണെന്ന് തിരിച്ചറിയാൻ ഈ വിഭാഗം ഡെവലപ്പർമാരെ സഹായിക്കുന്നു.
  • അദ്ധ്യായം 3 ഉം 4 ഉം: VIVE Wave, VIVE OpenXR ക്രമീകരണങ്ങൾ - VIVE Wave, OpenXR ആപ്പുകൾക്കുള്ള CPU/GPU പ്രകടനത്തെ ബാധിച്ചേക്കാവുന്ന നിർദ്ദിഷ്ട ക്രമീകരണങ്ങളെ ഈ വിഭാഗങ്ങൾ വിവരിക്കുന്നു. എന്തെങ്കിലും പുരോഗതിയുണ്ടോ എന്ന് നിർണ്ണയിക്കാൻ, നേരിടുന്ന പ്രകടന തടസ്സങ്ങളെ അടിസ്ഥാനമാക്കി ഡെവലപ്പർമാർക്ക് ഈ സവിശേഷതകൾ പ്രവർത്തനക്ഷമമാക്കുന്നതോ പ്രവർത്തനരഹിതമാക്കുന്നതോ പരീക്ഷിക്കാൻ കഴിയും.
  • അദ്ധ്യായം 5: പൊതുവായ ഒപ്റ്റിമൈസേഷൻ - ഈ വിഭാഗം ചില പൊതുവായ ഒപ്റ്റിമൈസേഷൻ രീതികളും അനുഭവങ്ങളും പങ്കിടുന്നു.

കുപ്പിക്കഴുത്ത് തിരിച്ചറിയുക

HMD നീങ്ങുമ്പോൾ, VR/MR ആപ്പിന് ഫ്രെയിം ജിറ്റർ അല്ലെങ്കിൽ ബ്ലാക്ക് എഡ്ജ് മുതലായവ ഉണ്ടെങ്കിൽ, അത് സാധാരണയായി മോശം റെൻഡറിംഗ് പ്രകടന പ്രശ്‌നം മൂലമാണ് സംഭവിക്കുന്നത്. സാധാരണയായി, റെൻഡറിംഗ് പ്രകടന പ്രശ്‌നങ്ങളെ 2 തരങ്ങളായി തിരിക്കാം: CPU-ബൗണ്ട് അല്ലെങ്കിൽ GPU-ബൗണ്ട്. കാര്യക്ഷമമല്ലാത്ത ട്യൂണിംഗ് ഒഴിവാക്കാൻ നിങ്ങളുടെ ആപ്പിന് ഏതൊക്കെ തരം ബൗണ്ടുകളാണ് തുടക്കത്തിൽ തന്നെ പ്രധാനമെന്ന് മനസ്സിലാക്കുക.
ഈ അധ്യായത്തിൽ, പ്രകടന പ്രശ്നങ്ങൾ എവിടെയാണെന്ന് വേഗത്തിൽ തിരിച്ചറിയാൻ നിങ്ങളെ അനുവദിക്കുന്ന ലളിതമായ ഘട്ടങ്ങൾ ഞങ്ങൾ നൽകുന്നു.

2.1 FPS റെൻഡറിംഗ് ഉള്ളടക്കം പരിശോധിക്കുക
ആദ്യം, നമ്മൾ കണ്ടന്റ് FPS പരിശോധിച്ചുകൊണ്ട് ആരംഭിക്കുന്നു, അതായത് കണ്ടന്റ് സെക്കൻഡിൽ റെൻഡർ ചെയ്യുന്ന ഫ്രെയിമുകളുടെ എണ്ണം. ഇത് ഡിസ്പ്ലേ ഫ്രെയിംറേറ്റിൽ നിലനിർത്തുകയും സ്ഥിരത നിലനിർത്തുകയും വേണം. അല്ലെങ്കിൽ, അത് ഫ്രെയിം വിറയലിന് കാരണമായേക്കാം.
നിങ്ങളുടെ ആപ്ലിക്കേഷൻ SDK VIVE WAVE SDK 6.0.0 അല്ലെങ്കിൽ അതിനുശേഷമുള്ളതാണ് ഉപയോഗിക്കുന്നതെങ്കിൽ, FPS പരിശോധിക്കാൻ നിങ്ങൾക്ക് ഇനിപ്പറയുന്ന adb കമാൻഡ് ഉപയോഗിക്കാം. DK 6.0.0
$adb ലോഗ്‌ക്യാറ്റ് -എസ് VRമെട്രിക്
നിങ്ങൾക്ക് ഇനിപ്പറയുന്ന ലോഗ് ഡാറ്റ കാണാൻ കഴിയും.
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” ആദ്യത്തെ നമ്പർ ഉള്ളടക്ക FPS-നെ പ്രതിനിധീകരിക്കുന്നു, രണ്ടാമത്തെ നമ്പർ ഡിസ്പ്ലേ ഫ്രെയിംറേറ്റിനെ പ്രതിനിധീകരിക്കുന്നു.
നിങ്ങളുടെ Wave SDK പതിപ്പ് 6.0.0-ൽ താഴെയാണെങ്കിൽ, റെൻഡറിംഗ് പ്രകടനവും മറ്റ് ഒപ്റ്റിമൈസേഷനും മെച്ചപ്പെടുത്തുന്നതിനായി ഏറ്റവും പുതിയ പതിപ്പിലേക്ക് അപ്‌ഗ്രേഡ് ചെയ്യാൻ ശുപാർശ ചെയ്യുന്നു.
നിങ്ങളുടെ ആപ്ലിക്കേഷൻ SDK VIVE OpenXR ഉപയോഗിച്ചാണ് നിർമ്മിച്ചിരിക്കുന്നതെങ്കിൽ, FPS പരിശോധിക്കാൻ നിങ്ങൾക്ക് ഇനിപ്പറയുന്ന adb കമാൻഡ് ഉപയോഗിക്കാം.
$adb ലോഗ്‌ക്യാറ്റ് -s RENDER_ATW
നിങ്ങൾക്ക് ഇനിപ്പറയുന്ന ലോഗ് ഡാറ്റ കാണാൻ കഴിയും
RENDER_ATW: [FPS] പുതിയ ടെക്സ്ചർ:90.00
RENDER_ATW: [FPS] R present:90.00 skip:0 317, -0.0155 0.805527, 0.006788)
RENDER_ATW: [FPS] L നിലവിലുണ്ട്:90.00 skip:0 (0.592301, -0.015502, 0.805539, 0.006773)

"പുതിയ ടെക്സ്ചർ" എന്നതിന് ശേഷമുള്ള സംഖ്യ നിലവിലുള്ള ഉള്ളടക്ക FPS നെ പ്രതിനിധീകരിക്കുന്നു. "R present" ഉം "L present" ഉം എന്നതിന് ശേഷമുള്ള സംഖ്യ ഡിസ്പ്ലേ ഫ്രെയിംറേറ്റിനെ പ്രതിനിധീകരിക്കുന്നു.
ചിലപ്പോൾ, ഉള്ളടക്ക FPS ഉം ഡിസ്പ്ലേ ഫ്രെയിംറേറ്റും തമ്മിൽ ചെറിയ വ്യത്യാസമുണ്ടാകാം.
ഉദാampഅതിനാൽ, മുകളിലുള്ള സാഹചര്യത്തിൽ, 89.8 FPS എന്നത് 90 FPS ആയി കണക്കാക്കാം.
ആപ്പിന്റെ ഉള്ളടക്ക FPS ഡിസ്പ്ലേ ഫ്രെയിംറേറ്റിനേക്കാൾ സ്ഥിരമായി കുറവാണെങ്കിൽ അല്ലെങ്കിൽ അസ്ഥിരമായി തുടരുകയാണെങ്കിൽ, അത് ഒരു റെൻഡറിംഗ് പ്രകടന പ്രശ്നത്തെ സൂചിപ്പിക്കുന്നു. അതിനാൽ, അടുത്ത ഘട്ടം തടസ്സം CPU-വിൽ നിന്നാണോ GPU-വിൽ നിന്നാണോ വരുന്നതെന്ന് തിരിച്ചറിയുക എന്നതാണ്.
2.2 സിപിയു, ജിപിയു ഉപയോഗം പരിശോധിക്കുക
നിങ്ങളുടെ SDK ആപ്ലിക്കേഷൻ VIVE WAVE SDK 6.0.0 അല്ലെങ്കിൽ അതിനുശേഷമുള്ളതാണ് ഉപയോഗിക്കുന്നതെങ്കിൽ, FPS പരിശോധിക്കാൻ നിങ്ങൾക്ക് ഇനിപ്പറയുന്ന adb കമാൻഡ് ഉപയോഗിക്കാം.
$adb ലോഗ്‌ക്യാറ്റ് -s VRMetric
നിങ്ങൾക്ക് ഇനിപ്പറയുന്ന ലോഗ് ഡാറ്റ കാണാൻ കഴിയും.
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
മുകളിലുള്ള ലോഗ് ഫലത്തിൽ നിങ്ങൾക്ക് കാണാൻ കഴിയുന്നതുപോലെ, CPU ഉപയോഗം 27% ഉം GPU ഉപയോഗം 72% ഉം ആണ്. നിങ്ങളുടെ Wave SDK പതിപ്പ് 6.0.0 ൽ താഴെയാണെങ്കിൽ, റെൻഡറിംഗ് പ്രകടനവും മറ്റ് ഒപ്റ്റിമൈസേഷനും മെച്ചപ്പെടുത്തുന്നതിന് ഏറ്റവും പുതിയ പതിപ്പിലേക്ക് അപ്‌ഗ്രേഡ് ചെയ്യാൻ ശുപാർശ ചെയ്യുന്നു.
VIVE OpenXR ആപ്പിനായി, CPU, GPU ഉപയോഗം പരിശോധിക്കാൻ നിങ്ങൾക്ക് ഇനിപ്പറയുന്ന കമാൻഡ് ഉപയോഗിക്കാം.
# ലിനക്സ്/ഉബുണ്ടുവിൽ
$ adb ലോഗ്‌ക്യാറ്റ് | grep CPU_USAGE
പവർഷെല്ലിൽ #
$ adb logcat | സെലക്ട്-സ്ട്രിംഗ് -പാറ്റേൺ CPU_USAGE
നിങ്ങൾക്ക് താഴെ കാണുന്ന ലോഗ് കാണാം
സിപിയു ശരാശരി സിപിയു0 സിപിയു1 സിപിയു2 സിപിയു3 സിപിയു4 സിപിയു5 സിപിയു6 സിപിയു7 ജിപിയു സിപിയു_ഉപയോഗം [ലോഡ്] 25.67% 32.22% 25.29% 30.77% 29.35% 21.35% 22.09% 18.39% 24.14% 73 %
FPS-ന് ഡിസ്‌പ്ലേ ഫ്രെയിം റേറ്റ് നിലനിർത്താൻ കഴിയുന്നില്ലെന്നും GPU ഉപയോഗം വളരെ ഉയർന്നതാണെന്നും, സാധാരണയായി 85% കവിയുന്നുണ്ടെന്നും നിങ്ങൾ നിരീക്ഷിക്കുകയാണെങ്കിൽ, FPS മെച്ചപ്പെടുത്തുന്നുണ്ടോ എന്ന് കാണാൻ നിങ്ങൾക്ക് ഐബഫർ റെസല്യൂഷൻ (വിഭാഗം 3.1.2, വിഭാഗം 4.1.2) ക്രമീകരിക്കാൻ ശ്രമിക്കാം. ഈ ക്രമീകരണം മികച്ചതിലേക്ക് നയിക്കുമോ?
പ്രകടനം പരിശോധിക്കുമ്പോൾ, പ്രശ്നം GPU-ബന്ധിതമാണെന്ന് നമുക്ക് നിഗമനം ചെയ്യാം, അതിനനുസരിച്ച് ഞങ്ങളുടെ ഒപ്റ്റിമൈസേഷൻ ശ്രമങ്ങൾ കേന്ദ്രീകരിക്കാം.
മറുവശത്ത്, ഐബഫർ റെസല്യൂഷൻ ക്രമീകരിക്കുന്നത് ശ്രദ്ധേയമായ പ്രകടന പുരോഗതിക്ക് കാരണമാകുന്നില്ലെങ്കിൽ, തടസ്സം സിപിയു-ബന്ധിതമായിരിക്കും, അതിനാൽ സിപിയു പ്രകടനം ഒപ്റ്റിമൈസ് ചെയ്യുന്നതിൽ നാം ശ്രദ്ധ കേന്ദ്രീകരിക്കണം.
ആപ്ലിക്കേഷൻ ഒരേസമയം സിപിയു-ബൗണ്ടും ജിപിയു-ബൗണ്ടും ആയിരിക്കാനും സാധ്യതയുണ്ട്. അത്തരം സന്ദർഭങ്ങളിൽ, സമതുലിതമായ പ്രകടന മെച്ചപ്പെടുത്തലുകൾ കൈവരിക്കുന്നതിന് സിപിയുവിലും ജിപിയുവിലും ഒപ്റ്റിമൈസേഷൻ ശ്രമങ്ങൾ പ്രയോഗിക്കണം.
2.3 GPU-ബൗണ്ട്
ഒരു VR ആപ്പ് GPU-ബൗണ്ട് ആയിരിക്കുമ്പോൾ, അതിനർത്ഥം GPU ആണ് പ്രാഥമിക തടസ്സം എന്നും ആപ്ലിക്കേഷന്റെ റെൻഡറിംഗ് ആവശ്യങ്ങൾ നിറവേറ്റാൻ അതിന് കഴിയില്ല എന്നുമാണ്. GPU-ബൗണ്ട് പ്രശ്നങ്ങൾ ലഘൂകരിക്കുന്നതിന്, ഇനിപ്പറയുന്ന ശുപാർശകൾ പരിഗണിക്കുക:
ആദ്യം, RenderDoc അല്ലെങ്കിൽ Game Engine pro പോലുള്ള പ്രൊഫൈലിംഗ് ഉപകരണങ്ങൾ ഉപയോഗിക്കുക.filer (യൂണിറ്റിപ്രോ)filer, അൺറിയൽ ഇൻസൈറ്റുകൾ) GPU ഏറ്റവും കൂടുതൽ സമയം ചെലവഴിക്കുന്നത് എവിടെയാണെന്ന് വിശകലനം ചെയ്യാൻ. ഏറ്റവും ചെലവേറിയ പ്രവർത്തനങ്ങൾ തിരിച്ചറിഞ്ഞ് അവ ഒപ്റ്റിമൈസ് ചെയ്യുന്നതിൽ ശ്രദ്ധ കേന്ദ്രീകരിക്കുക.
നേറ്റീവ് ഡെവലപ്പർമാർക്ക്, ഏത് ഡ്രോ കോൾ ആണ് അമിതമായ GPU ലോഡിന് കാരണമാകുന്നതെന്ന് തിരിച്ചറിയാൻ നിങ്ങൾക്ക് RenderDoc ഉപയോഗിക്കാം.
യൂണിറ്റി ഡെവലപ്പർക്ക്, നിങ്ങൾക്ക് യൂണിറ്റി ദിസ് ഡോക്യുമെന്റ് പിന്തുടരാം അല്ലെങ്കിൽ റെൻഡറിംഗ് പ്രകടന പ്രശ്നം വിശകലനം ചെയ്യാൻ RenderDoc ഉപയോഗിക്കാം, കൂടാതെ നിങ്ങളുടെ ആപ്ലിക്കേഷൻ ഒപ്റ്റിമൈസ് ചെയ്യുന്നതിനുള്ള മാർഗ്ഗനിർദ്ദേശത്തിനായി യൂണിറ്റി ഗ്രാഫിക്സ് ഒപ്റ്റിമൈസേഷൻ ഡോക്യുമെന്റേഷൻ പിന്തുടരുക.
അൺറിയൽ ഡെവലപ്പർക്ക്, റെൻഡറിംഗ് പ്രകടന പ്രശ്നം വിശകലനം ചെയ്യാൻ നിങ്ങൾക്ക് GPU വിഷ്വലൈസർ ഉപയോഗിക്കാം അല്ലെങ്കിൽ RenderDoc ഉപയോഗിക്കാം, കൂടാതെ നിങ്ങളുടെ ആപ്ലിക്കേഷൻ ഒപ്റ്റിമൈസ് ചെയ്യുന്നതിനുള്ള മാർഗ്ഗനിർദ്ദേശത്തിനായി അൺറിയൽ പെർഫോമൻസ് മാർഗ്ഗനിർദ്ദേശങ്ങൾ പാലിക്കുക.
രണ്ടാമതായി, GPU ലോഡിംഗ് കുറയ്ക്കുന്നതിന് നിങ്ങൾക്ക് ചില Wave സവിശേഷതകളോ ക്രമീകരണങ്ങളോ ക്രമീകരിക്കാൻ ശ്രമിക്കാവുന്നതാണ്.

  1. ഡിസ്പ്ലേ പുതുക്കൽ നിരക്ക് പതുക്കെ സജ്ജമാക്കുക (വിഭാഗം 3.1.1, വിഭാഗം 4.1.1)
  2.  ഐബഫർ റെസല്യൂഷൻ ക്രമീകരിക്കുക (വിഭാഗം 3.1.2, വിഭാഗം 4.1.2), 14.1.1)
  3.  ഫോവിയേഷൻ പ്രാപ്തമാക്കാൻ ശ്രമിക്കുക (വിഭാഗം 3.1.4, വിഭാഗം 4.1.4).

നിങ്ങളുടെ ആപ്പും ഒരു MR ആപ്പ് ആണെങ്കിൽ, നിങ്ങൾക്ക് പാസ്‌ത്രൂ ക്രമീകരണങ്ങളും ക്രമീകരിക്കാവുന്നതാണ്.

  1. പാസ്‌ത്രൂ ഇമേജ് നിലവാരം താഴ്ത്തി ക്രമീകരിക്കുക. (വിഭാഗം 3.2.1)
  2. പാസ്‌ത്രൂ ഫ്രെയിംറേറ്റ് സാവധാനത്തിൽ ക്രമീകരിക്കുക. (വിഭാഗം 3.2.2).

GPU പ്രകടനത്തെക്കുറിച്ചുള്ള കൂടുതൽ ക്രമീകരണങ്ങൾക്ക്, നിങ്ങൾക്ക് അധ്യായം 2.6 പരിശോധിക്കാവുന്നതാണ്.

2.4 സിപിയു-ബൗണ്ട്
ഒരു VR ആപ്പ് CPU-ബൗണ്ട് ആയിരിക്കുമ്പോൾ, CPU ആണ് പ്രാഥമിക തടസ്സം എന്ന് അർത്ഥമാക്കുന്നു, ഇനിപ്പറയുന്ന ശുപാർശകൾ പരിഗണിക്കുക:
ആദ്യം, സിസ്ട്രേസ് അല്ലെങ്കിൽ ഗെയിം എഞ്ചിൻ പ്രോ പോലുള്ള പ്രൊഫൈലിംഗ് ഉപകരണങ്ങൾ ഉപയോഗിക്കുക.filer (യൂണിറ്റിപ്രോ)filer, അൺറിയൽ ഇൻസൈറ്റുകൾ) ഉപയോഗിച്ച് നിങ്ങളുടെ കോഡിന്റെ ഏതൊക്കെ ഭാഗങ്ങളാണ് ഏറ്റവും കൂടുതൽ CPU ഉറവിടങ്ങൾ ഉപയോഗിക്കുന്നതെന്ന് വിശകലനം ചെയ്യാനും തിരിച്ചറിയാനും കഴിയും. ഈ മേഖലകൾ ഒപ്റ്റിമൈസ് ചെയ്യുന്നതിലും CPU ലോഡ് കുറയ്ക്കുന്നതിന് കമ്പ്യൂട്ടേഷണലി ഇന്റൻസീവ് അൽഗോരിതങ്ങൾ റീഫാക്ടർ ചെയ്യുന്നതിലും ശ്രദ്ധ കേന്ദ്രീകരിക്കുക.

  • നേറ്റീവ് ഡെവലപ്പർക്ക്, നിങ്ങൾക്ക് സിസ്‌ട്രേസ് ഉപയോഗിച്ച് പ്രോ ചെയ്യാംfileനിങ്ങളുടെ പ്രോജക്റ്റ് എന്താണ്?
  • യൂണിറ്റി ഡെവലപ്പർക്ക്, നിങ്ങൾക്ക് സിപിയു യൂസേജ് പ്രോ ഉപയോഗിക്കാംfileസിപിയു പ്രകടന പ്രശ്നം കണ്ടെത്തുന്നതിനുള്ള ആർ മൊഡ്യൂൾ.
  • അൺറിയൽ ഡെവലപ്പർക്ക്, സിപിയു പ്രകടന പ്രശ്നം കണ്ടെത്താൻ നിങ്ങൾക്ക് അൺറിയലിന്റെ സ്ഥിതിവിവരക്കണക്കുകൾ ഉപയോഗിക്കാം.

രണ്ടാമതായി, GPU ലോഡിംഗ് കുറയ്ക്കുന്നതിന് നിങ്ങൾക്ക് ചില Wave സവിശേഷതകളോ ക്രമീകരണങ്ങളോ ക്രമീകരിക്കാൻ ശ്രമിക്കാവുന്നതാണ്.

  1. ഡിസ്പ്ലേ പുതുക്കൽ നിരക്ക് പതുക്കെ സജ്ജമാക്കുക (വിഭാഗം 3.1.1, വിഭാഗം 4.1.1)
  2.  മൾട്ടി- ഉപയോഗിക്കുകView റെൻഡറിംഗ് (വിഭാഗം 3.1.4, വിഭാഗം 4.1.4)

നിങ്ങളുടെ ആപ്പും ഒരു MR ആപ്പ് ആണെങ്കിൽ, നിങ്ങൾക്ക് പാസ്‌ത്രൂ ക്രമീകരണങ്ങളും ക്രമീകരിക്കാവുന്നതാണ്.

  1. പാസ്‌ത്രൂ ഫ്രെയിംറേറ്റ് സാവധാനത്തിൽ ക്രമീകരിക്കുക (വിഭാഗം 3.2.2).

സിപിയു പ്രകടനത്തെക്കുറിച്ചുള്ള കൂടുതൽ ക്രമീകരണങ്ങൾക്കായി, നിങ്ങൾക്ക് പാഠം 2.6 പരിശോധിക്കാവുന്നതാണ്.

2.5 സംഗ്രഹം
അവസാനമായി, മുകളിലുള്ള പ്രകടന പരിശോധന വർക്ക്ഫ്ലോ ചിത്രം 2-5-1 ൽ ക്രമീകരിച്ചിരിക്കുന്നു. ഉള്ളടക്കത്തിന്റെ FPS പരിശോധിച്ചുകൊണ്ട് ആരംഭിക്കുക. അത് ഡിസ്പ്ലേ ഫ്രെയിംറേറ്റിനേക്കാൾ കുറവാണെങ്കിൽ അല്ലെങ്കിൽ അസ്ഥിരമായി തുടരുകയാണെങ്കിൽ, അത് GPU-ബൗണ്ടാണോ അതോ CPUബൗണ്ടാണോ എന്ന് നിർണ്ണയിക്കാൻ GPU/CPU ഉപയോഗം വിശകലനം ചെയ്യുക. അവസാനമായി, ഒരു പ്രോ ഉപയോഗിക്കുക.fileസാധ്യമായ പ്രകടന പ്രശ്നങ്ങൾ തിരിച്ചറിയുന്നതിനോ CPU പ്രകടനം ഒപ്റ്റിമൈസ് ചെയ്യുന്നതിന് Wave സവിശേഷതകളോ ക്രമീകരണങ്ങളോ ക്രമീകരിക്കുന്നതിനോ r.

VIVE VR റെൻഡറിംഗ് പ്രകടനം - ചിത്രം 1

2.6 സിപിയു/ജിപിയു ലോഡിംഗ് മെച്ചപ്പെടുത്താൻ കഴിയുന്ന ക്രമീകരണങ്ങൾക്കുള്ള ദ്രുത റഫറൻസ്

CPU/GPU ലോഡിംഗുമായി ബന്ധപ്പെട്ട SDK ക്രമീകരണങ്ങൾ താഴെ കൊടുത്തിരിക്കുന്നു. ആപ്പിന്റെ തടസ്സത്തെ അടിസ്ഥാനമാക്കി നിങ്ങൾക്ക് പ്രസക്തമായ ഒപ്റ്റിമൈസേഷൻ ക്രമീകരണങ്ങൾ പരിശോധിക്കാൻ കഴിയും.

സിപിയുവുമായി ബന്ധപ്പെട്ടത്:

  • VIVE Wave SDK ക്രമീകരണം
    വിആർ ഉള്ളടക്കം
    ▪ 3.1.1 ഡിസ്പ്ലേ പുതുക്കൽ നിരക്ക്
    ▪ 3.1.4 മൾട്ടി-View റെൻഡറിംഗ്
    ▪ 3.1.6 അഡാപ്റ്റീവ് ഗുണനിലവാരം
    ▪ 3.1.7 അഡാപ്റ്റീവ് മോഷൻ കമ്പോസിറ്റർ
    എംആർ ഉള്ളടക്കം
    ▪ 3.2.2 പാസ്‌ത്രൂ ഫ്രെയിം റേറ്റ് ക്രമീകരിക്കുക
  • VIVE OpenXR SDK ക്രമീകരണം
    വിആർ ഉള്ളടക്കം
    ▪ 4.1.1 ഡിസ്പ്ലേ പുതുക്കൽ നിരക്ക്
    ▪ 4.1.4 മൾട്ടി-View റെൻഡറിംഗ്
  • പൊതുവായ ഒപ്റ്റിമൈസേഷൻ
    o 5.5 സിപിയു സ്പൈക്ക്

GPU-മായി ബന്ധപ്പെട്ടത്:

  • VIVE Wave SDK ക്രമീകരണം
    വിആർ ഉള്ളടക്കം
    ▪ 3.1.1 ഡിസ്പ്ലേ പുതുക്കൽ നിരക്ക്
    ▪ 3.1.2 ഐബഫർ റെസല്യൂഷൻ
    ▪ 3.1.3 മൾട്ടി-View റെൻഡറിംഗ്
    ▪ 3.1.4 ഫോവിയേഷൻ
    ▪ 3.1.5 ഫ്രെയിം ഷാർപ്‌നെസ് എൻഹാൻസ്‌മെന്റ് (FSE)
    ▪ 3.1.6 അഡാപ്റ്റീവ് ഗുണനിലവാരം
    ▪ 3.1.7 അഡാപ്റ്റീവ് മോഷൻ കമ്പോസിറ്റർ
    ▪ 3.1.8 റെൻഡർ മാസ്ക് [അൺറിയലിനെ പിന്തുണയ്ക്കുന്നില്ല] o MR ഉള്ളടക്കം
    ▪ 3.2.1 പാസ്‌ത്രൂ ഗുണനിലവാരം ക്രമീകരിക്കുക
    ▪ 3.2.2 പാസ്‌ത്രൂ ഫ്രെയിം റേറ്റ് ക്രമീകരിക്കുക
  • VIVE OpenXR SDK ക്രമീകരണം
    വിആർ ഉള്ളടക്കം
    ▪ 4.1.1 ഡിസ്പ്ലേ പുതുക്കൽ നിരക്ക്
    ▪ 4.1.2 ഐബഫർ റെസല്യൂഷൻ
    ▪ 4.1.3 മൾട്ടി-View റെൻഡറിംഗ്
    ▪ 4.1.4 ഫോവിയേഷൻ [അൺറിയലിനെ പിന്തുണയ്ക്കുന്നില്ല] ▪ 4.1.5 റെൻഡർ മാസ്ക് [അൺറിയലിനെ പിന്തുണയ്ക്കുന്നില്ല]
  • പൊതുവായ ഒപ്റ്റിമൈസേഷൻ
    o 5.1 ഉയർന്ന പ്രകടന മോഡ് ഓഫാക്കുക
    o 5.2 മൾട്ടിസ്ampലിംഗം
    o 5.3 GMEM ലോഡ്/സ്റ്റോർ
    o 5.4 കോമ്പോസിഷൻ ലെയർ (മൾട്ടി ലെയർ)

VIVE വേവ് സെറ്റിംഗ്

VR ഉള്ളടക്കം എളുപ്പത്തിൽ വികസിപ്പിക്കാൻ നിങ്ങളെ അനുവദിക്കുകയും മൂന്നാം കക്ഷി പങ്കാളികൾക്ക് ഉയർന്ന പ്രകടനമുള്ള ഉപകരണ ഒപ്റ്റിമൈസേഷൻ നൽകുകയും ചെയ്യുന്ന ഒരു ഓപ്പൺ പ്ലാറ്റ്‌ഫോമും ടൂൾസെറ്റുമാണ് VIVE Wave. VIVE Wave യൂണിറ്റിയെയും അൺറിയൽ ഗെയിം എഞ്ചിനുകളെയും പിന്തുണയ്ക്കുന്നു.
ഞങ്ങൾ തുടർച്ചയായി വിവിധ ബഗുകൾ ഒപ്റ്റിമൈസ് ചെയ്യുകയും പരിഹരിക്കുകയും ചെയ്യുന്നു, അതിനാൽ SDK കാലികമായി നിലനിർത്താൻ ഞങ്ങൾ ശുപാർശ ചെയ്യുന്നു.
നിലവിൽ, VIVE Wave OpenGL ES മാത്രമേ പിന്തുണയ്ക്കുന്നുള്ളൂ. GPU പ്രകടനത്തിലെ സ്വാധീനം അനുസരിച്ച് സവിശേഷതകൾ ക്രമീകരിച്ചിരിക്കുന്നത് ഇവിടെ പട്ടികപ്പെടുത്തിയിരിക്കുന്നു. ഇതിനെ ഞങ്ങൾ രണ്ട് ഭാഗങ്ങളായി വിഭജിക്കും: VR ഉള്ളടക്കവും MR ഉള്ളടക്കവും.
3.1 VR ഉള്ളടക്കം
3.1.1 ഡിസ്പ്ലേ പുതുക്കൽ നിരക്ക്

ഉയർന്ന പുതുക്കൽ നിരക്കുകൾ സുഗമമായ ദൃശ്യങ്ങൾ വാഗ്ദാനം ചെയ്യുന്നു, പക്ഷേ സിസ്റ്റം ലോഡ് വർദ്ധിക്കുന്നതിന്റെ ചെലവിൽ ഇത് സംഭവിക്കുന്നു. നേരെമറിച്ച്, കുറഞ്ഞ പുതുക്കൽ നിരക്കുകൾ സിസ്റ്റം ലോഡ് കുറയ്ക്കുന്നു, പക്ഷേ സുഗമമായ ദൃശ്യങ്ങൾ കുറയുന്നതിന് കാരണമാകുന്നു. ആപ്പിന് CPU/GPU ബന്ധിത പ്രശ്‌നമുണ്ടെങ്കിൽ, പ്രശ്‌നം പരിഹരിക്കുന്നതിന് നിങ്ങൾക്ക് ഡിസ്‌പ്ലേ പുതുക്കൽ നിരക്ക് കുറയ്ക്കാൻ ശ്രമിക്കാം.

  • നേറ്റീവ് ഡെവലപ്പർക്ക്, WVR_SetFrameRate കാണുക.
  • യൂണിറ്റി ഡെവലപ്പർക്ക്, ഈ ഗൈഡ് കാണുക.
  • അൺറിയൽ ഡെവലപ്പർക്ക്, ഈ ഗൈഡ് കാണുക.

3.1.2 ഐബഫർ റെസല്യൂഷൻ
ഐബഫർ റിസോൾഷൻ എന്നത് കണ്ടന്റ് ആപ്പ് റെൻഡർ ചെയ്യേണ്ട ടെക്സ്ചർ വലുപ്പമാണ്, റെൻഡർ ചെയ്ത ടെക്സ്ചർ റൺടൈമിന് സമർപ്പിക്കുകയും പോസ്റ്റിംഗ് പ്രക്രിയ നടത്തുകയും HMD ഡിസ്പ്ലേയിൽ പ്രദർശിപ്പിക്കുകയും ചെയ്യും.
വലിയ ഐ ബഫർ വലുപ്പം വ്യക്തവും കൂടുതൽ വിശദവുമായ ദൃശ്യങ്ങൾക്ക് കാരണമാകുമെങ്കിലും, അത് ജിപിയുവിൽ ഗണ്യമായ ലോഡ് അടിച്ചേൽപ്പിക്കുന്നു. അതിനാൽ, ദൃശ്യ നിലവാരത്തിനും പ്രകടനത്തിനും ഇടയിൽ ശരിയായ സന്തുലിതാവസ്ഥ കണ്ടെത്തേണ്ടത് അത്യാവശ്യമാണ്.
ആപ്പിന് GPU ബൗണ്ട് പ്രശ്‌നമുണ്ടെങ്കിൽ, ഒരു സ്കെയിൽ ഘടകം ഗുണിച്ച് ഐബഫർ വലുപ്പം കുറയ്ക്കാൻ നിങ്ങൾക്ക് ശ്രമിക്കാം. എന്നിരുന്നാലും, സ്കെയിൽ ഘടകം 0.7 ൽ താഴെ കുറയ്ക്കരുതെന്ന് ഞങ്ങൾ ശുപാർശ ചെയ്യുന്നു, കാരണം ഇത് അസ്വീകാര്യമായ ദൃശ്യ നിലവാരത്തിന് കാരണമായേക്കാം.

  • നേറ്റീവ് ഡെവലപ്പർമാർക്ക്, WVR_ObtainTextureQueue കാണുക. വലുപ്പം ക്രമീകരിക്കുമ്പോൾ, വീതിയും ഉയരവും ഒരു അനുപാതം കൊണ്ട് ഗുണിക്കണം.
  • യൂണിറ്റി ഡെവലപ്പർക്ക്, WaveXRSettings കാണുക.
    പകരമായി, നിങ്ങൾക്ക് belwoe എന്ന കോഡ് വഴി മാറ്റങ്ങൾ വരുത്താനും കഴിയും.
    XRSettings.eyeTextureResolutionScale = ResolutionScaleValue; // C#
  • അൺറിയൽ ഡെവലപ്പർക്ക്, SetPixelDensity കാണുക.

3.1.3 മൾട്ടി-View റെൻഡറിംഗ്
പരമ്പരാഗത റെൻഡറിംഗിൽ, ഞങ്ങൾ ഇടത്, വലത് കണ്ണുകൾ വെവ്വേറെ വരയ്ക്കുന്നു, ഇതിന് ഒരേ രംഗത്തിന് രണ്ട് ഡ്രോ കോളുകൾ ആവശ്യമാണ്. മൾട്ടി-View ഒരു ഡ്രോ കോൾ മാത്രം നടത്തിക്കൊണ്ടാണ് റെൻഡറിംഗ് ഈ പ്രശ്നം പരിഹരിക്കുന്നത്.
ഈ സവിശേഷത ഡ്രോ കോളുകളുടെ എണ്ണം കുറച്ചുകൊണ്ട് സിപിയു ലോഡ് കുറയ്ക്കുന്നു. ജിപിയുവിന് ചില ഗുണങ്ങളുമുണ്ട്, വെർട്ടെക്സ് ഷേഡറിന്റെ വർക്ക്ലോഡും കുറയുന്നു, കാരണം മറ്റേ കണ്ണിനായി ഒരു അധിക ഷേഡർ പ്രവർത്തിപ്പിക്കേണ്ടതില്ല, എന്നാൽ ഫ്രാഗ്മെന്റ് ഷേഡറിന്റെ വർക്ക്ലോഡ് മാറ്റമില്ലാതെ തുടരുന്നു, കാരണം രണ്ട് കണ്ണുകൾക്കുമുള്ള ഓരോ പിക്സലും ഇപ്പോഴും വിലയിരുത്തേണ്ടതുണ്ട്. ഈ സവിശേഷത പ്രവർത്തനക്ഷമമാക്കാൻ ഞങ്ങൾ ശുപാർശ ചെയ്യുന്നു.

  • നേറ്റീവ് ഡെവലപ്പർക്ക്, നിങ്ങൾക്ക് wvr_native_hellovr s റഫർ ചെയ്യാം.ample.
  • യൂണിറ്റി ഡെവലപ്പർക്ക്, റെൻഡർ മോഡ് റഫർ ചെയ്യുക, സിംഗിൾ പാസ് മൾട്ടി-view സവിശേഷത.
  • അൺറിയൽ ഡെവലപ്പർക്ക്, ഈ ഗൈഡ് കാണുക.

3.1.4 ഫോവിയേഷൻ
ഫോവേറ്റഡ് റെൻഡറിംഗ് പ്രധാനമായും രൂപകൽപ്പന ചെയ്തിരിക്കുന്നത് GPU ലോഡ് കുറയ്ക്കുന്നതിനാണ്. ഇത് ഡിസ്പ്ലേയുടെ പെരിഫെറലിലെ ഫ്രെയിം വിശദാംശങ്ങൾ കുറയ്ക്കുകയും ഫീൽഡിന്റെ മധ്യഭാഗത്ത് ഉയർന്ന റെസല്യൂഷൻ വിശദാംശങ്ങൾ നിലനിർത്തുകയും ചെയ്യുന്നു. view. ആപ്പിന് GPU ബന്ധിത പ്രശ്‌നമുണ്ടെങ്കിൽ, നിങ്ങൾക്ക് Foveation റെൻഡറിംഗ് ഇൻബ്ലിംഗ് ചെയ്യാൻ ശ്രമിക്കാം.

VIVE VR റെൻഡറിംഗ് പ്രകടനം - ചിത്രം 2

ഫോവിയേഷൻ ഉപയോഗിക്കുമ്പോൾ ശ്രദ്ധിക്കേണ്ട ചില കാര്യങ്ങളുണ്ട്:

➢ ഡിഫോൾട്ട് ഫോവിയേഷൻ മോഡ് പ്രയോഗിക്കുന്ന പെരിഫറൽ മേഖലകളിലെ കുറഞ്ഞ വിശദാംശങ്ങൾ ഉപയോക്താക്കൾ സാധാരണയായി ശ്രദ്ധിക്കാറില്ല. എന്നാൽ ഫോവിയേഷന്റെ പെരിഫറൽ ഗുണനിലവാരം വളരെ കുറവാണെങ്കിൽ, അത് ഉപയോക്താവിന് ശ്രദ്ധയിൽപ്പെട്ടേക്കാം.
➢ ഉപയോക്താവിന്റെ ശ്രദ്ധ പിടിച്ചുപറ്റാൻ സാധ്യതയുള്ള ചില ടെക്സ്ചർ മെറ്റീരിയലുകളിൽ ഫോവിയേഷന്റെ ഫലങ്ങൾ കൂടുതൽ ശ്രദ്ധേയമായേക്കാം. ഡെവലപ്പർമാർ ഇതിനെക്കുറിച്ച് ബോധവാന്മാരായിരിക്കുകയും അതിനനുസരിച്ച് വിലയിരുത്തുകയും വേണം.
➢ ഫോവേറ്റഡ് റെൻഡറിംഗ് സവിശേഷത പ്രവർത്തനക്ഷമമാക്കുന്നത് ഒരു നിശ്ചിത GPU പ്രകടന ചെലവിന് കാരണമാകുന്നു, ഇത് ഐ ബഫറിന്റെ വലുപ്പത്തെ ആശ്രയിച്ച് 1% മുതൽ 6% വരെ വ്യത്യാസപ്പെടാം. സീനിൽ ഒരു ലളിതമായ ഷേഡർ ഉപയോഗിക്കുമ്പോൾ, ഉറവിടങ്ങൾ സംരക്ഷിക്കുന്നതിൽ നിന്നുള്ള പ്രകടന നേട്ടം നിശ്ചിത GPU പ്രകടന ചെലവിനേക്കാൾ കുറവായിരിക്കാം, അതിന്റെ ഫലമായി പ്രകടനത്തിൽ ഇടിവ് സംഭവിക്കാം.

  • നേറ്റീവ് ഡെവലപ്പർമാർക്ക്, ഈ ഗൈഡ് കാണുക.
  • യൂണിറ്റി ഡെവലപ്പർമാർക്ക്, ഈ ഗൈഡ് കാണുക. പോസ്റ്റ്-പ്രോസസ്സിംഗ് അല്ലെങ്കിൽ HDR പ്രാപ്തമാക്കുമ്പോൾ, ഫോവിയേഷൻ പൂർണ്ണമായി ഉപയോഗിക്കാൻ കഴിയില്ല എന്നത് ശ്രദ്ധേയമാണ്. കാരണം, റൺടൈം-ജനറേറ്റഡ് പ്രസന്റ്സിന്റെ ഫോവിയേഷനെ പിന്തുണയ്ക്കുന്ന റെൻഡർ ടെക്സ്ചറിനുപകരം, യൂണിറ്റി വസ്തുക്കളെ സ്വന്തം ജനറേറ്റഡ് റെൻഡർ ടെക്സ്ചറിലേക്ക് റെൻഡർ ചെയ്യും.
  • അൺറിയൽ ഡെവലപ്പർക്ക്, ഈ ഗൈഡ് പരിശോധിക്കുക. പ്രത്യേകിച്ച്, മൾട്ടി-യിൽ ഫോവിയേഷൻ പൂർണ്ണമായി ഉപയോഗിക്കാൻ കഴിയില്ല.View റെൻഡറിംഗ്, കാരണം ഫോവിയേഷനെ പിന്തുണയ്ക്കുന്ന റൺടൈം-ജനറേറ്റഡ് റെൻഡർ ടെക്സ്ചറിലേക്ക് അൺറിയലിന് ഒബ്ജക്റ്റുകൾ നേരിട്ട് റെൻഡർ ചെയ്യാൻ കഴിയില്ല.

3.1.5 ഫ്രെയിം ഷാർപ്‌നെസ് എൻഹാൻസ്‌മെന്റ് (FSE)
ഷാർപ്പൻ ഫിൽറ്റർ അവതരിപ്പിക്കുന്നതിലൂടെ ഷാർപ്പൻ റെൻഡറിംഗ് ഫലം നൽകുന്ന എഫ്എസ്ഇ, ഉള്ളടക്കം കൂടുതൽ വ്യക്തമാക്കുകയും സീനിലെ ടെക്സ്റ്റിന്റെ വ്യക്തത മെച്ചപ്പെടുത്തുന്നതിന് വളരെയധികം സഹായകരമാവുകയും ചെയ്യും. ആപ്പിന് ജിപിയു ബന്ധിത പ്രശ്നമുണ്ടെങ്കിൽ, അത്യാവശ്യമല്ലെങ്കിൽ എഫ്എസ്ഇ പ്രവർത്തനരഹിതമാക്കുന്നത് പരിഗണിക്കാവുന്നതാണ്.

VIVE VR റെൻഡറിംഗ് പ്രകടനം - ചിത്രം 3

  • നേറ്റീവ് ഡെവലപ്പർമാർക്ക്, ഈ ഗൈഡ് കാണുക.
  • യൂണിറ്റി ഡെവലപ്പർക്ക്, ഈ ഗൈഡ് കാണുക.
  • അൺറിയൽ ഡെവലപ്പർക്ക്, ഈ ഗൈഡ് കാണുക.

3.1.6 അഡാപ്റ്റീവ് ഗുണനിലവാരം
ബാറ്ററി ലാഭിക്കുന്നതിനും ഉപകരണത്തിന്റെ റെൻഡറിംഗ് പ്രകടനം നിലനിർത്തുന്നതിനും, ഈ സവിശേഷത CPU/GPU ക്ലോക്കിന്റെ പ്രകടന നിലകൾ അവയുടെ ഉപയോഗത്തെ അടിസ്ഥാനമാക്കി യാന്ത്രികമായി ക്രമീകരിക്കുന്നു. കൂടാതെ, പ്രകടനം മെച്ചപ്പെടുത്തുന്നതിന് മറ്റ് തന്ത്രങ്ങൾ നടപ്പിലാക്കാൻ കഴിയും, ഉദാഹരണത്തിന് ഫോവിയേഷൻ യാന്ത്രികമായി പ്രവർത്തനക്ഷമമാക്കുക/പ്രവർത്തനരഹിതമാക്കുക അല്ലെങ്കിൽ ഉയർന്ന/കുറഞ്ഞ ലോഡ് ഇവന്റുകൾ ലഭിക്കുമ്പോൾ ഉള്ളടക്കത്തിന് സ്വയം ക്രമീകരിക്കാൻ കഴിയും.

  • നേറ്റീവ് ഡെവലപ്പർമാർക്ക്, ഈ ഗൈഡ് കാണുക.
  • യൂണിറ്റി ഡെവലപ്പർമാർക്ക്, ഈ ഗൈഡ് കാണുക. ഞങ്ങളുടെ യൂണിറ്റി പ്ലഗിനിൽ, നിലവിലെ പ്രകടനത്തെ അടിസ്ഥാനമാക്കി ഐ ബഫർ വലുപ്പം സ്വയമേവ ക്രമീകരിക്കാൻ കഴിയും; റെസല്യൂഷൻ ലിസ്റ്റിൽ വളരെ ചെറുതായ സ്കെയിൽ മൂല്യങ്ങളെ ടെക്സ്റ്റ് വലുപ്പം ഫിൽട്ടർ ചെയ്യും. കുറഞ്ഞത് 20 dmm അല്ലെങ്കിൽ അതിൽ കൂടുതൽ വലുപ്പമുള്ള ടെക്സ്റ്റ് ഞങ്ങൾ ശുപാർശ ചെയ്യുന്നു.
  • അൺറിയൽ ഡെവലപ്പർക്ക്, ഈ ഗൈഡ് കാണുക.

3.1.7 അഡാപ്റ്റീവ് മോഷൻ കമ്പോസിറ്റർ
ഈ സവിശേഷത UMC, PMC എന്നിവ ഉൾപ്പെടുന്ന ഒരു പരീക്ഷണാത്മക സവിശേഷതയാണ്. UMC ഫ്രെയിം റേറ്റ് പകുതിയായി കുറയ്ക്കുകയും ദൃശ്യ സുഗമത നിലനിർത്തുന്നതിന് തത്സമയം പുതിയ ഫ്രെയിമിനെ എക്സ്ട്രാപോളേറ്റ് ചെയ്യുകയും ചെയ്യും. എന്നിരുന്നാലും, ഇത് കുറച്ച് ലേറ്റൻസി, ആർട്ടിഫാക്റ്റുകൾ, GPU ലോഡിംഗ് എന്നിവയുമായി വരുന്നു.
എച്ച്എംഡി വിവർത്തനത്തിനായി എടിഡബ്ല്യുവിനെ അനുവദിക്കുന്നതിന് പിഎംസി പ്രധാനമായും ഡെപ്ത് ബഫർ ഉപയോഗിക്കുന്നു, ഇത് 6-ഡോഫ് നഷ്ടപരിഹാരം വരെ നീട്ടുന്നു. ഈ സവിശേഷതയ്ക്ക് വിവർത്തന ലേറ്റൻസി 1~2 ഫ്രെയിമുകൾ കുറയ്ക്കാൻ കഴിയും, പക്ഷേ ജിപിയു ലോഡിംഗ് വർദ്ധിപ്പിക്കും.

  • നേറ്റീവ് ഡെവലപ്പർമാർക്ക്, ഈ ഗൈഡ് കാണുക.
  • യൂണിറ്റി ഡെവലപ്പർക്ക്, ഈ ഗൈഡ് കാണുക.
  • അൺറിയൽ ഡെവലപ്പർക്ക്, ഈ ഗൈഡ് കാണുക.

3.1.8 റെൻഡർ മാസ്ക് [അൺറിയലിനെ പിന്തുണയ്ക്കുന്നില്ല]
അരികുകളിലെ പിക്സലുകൾ വികലമായതിനുശേഷം ഏതാണ്ട് അദൃശ്യമാകും, റെൻഡർ മാസ്ക് ഈ അദൃശ്യ പിക്സലുകളുടെ ഡെപ്ത് ബഫർ മൂല്യങ്ങളെ പരിഷ്കരിക്കുന്നു. നിങ്ങൾ ഡെപ്ത് ടെസ്റ്റിംഗ് പ്രാപ്തമാക്കിയാൽ, ആദ്യകാല-z കാരണം, ഈ അദൃശ്യ പിക്സലുകൾ റെൻഡർ ചെയ്യില്ല, അതുവഴി GPU ലോഡ് കുറയ്ക്കും. ഈ അദൃശ്യ മേഖലകളിൽ ഹെവി-ലോഡിംഗ് റെൻഡറിംഗ് വസ്തുക്കൾ ഉണ്ടെങ്കിൽ ഈ സവിശേഷത ഉപയോഗപ്രദമാണ്; അല്ലാത്തപക്ഷം, ഈ മേഖലകളിൽ റെൻഡറിംഗ് വസ്തുക്കൾ ഇല്ലെങ്കിൽ, അത് പ്രവർത്തനരഹിതമാക്കാൻ ശുപാർശ ചെയ്യുന്നു, കാരണം ഇത് ഒരു ചെറിയ GPU ഉപയോഗം ഉപയോഗിക്കും.

  • നേറ്റീവ് ഡെവലപ്പർമാർക്ക്, ഈ ഗൈഡ് പരിശോധിക്കുക. RenderMask വിളിക്കുന്നതിന് മുമ്പ് നിങ്ങൾ ഡെപ്ത് ബഫർ ബൈൻഡ് ചെയ്യണം; അല്ലെങ്കിൽ, അത് ഫലപ്രദമല്ലാതാകും.
  • യൂണിറ്റി ഡെവലപ്പർക്ക്, ഈ ഗൈഡ് കാണുക.
  • അൺറിയൽ ഡെവലപ്പർമാർക്ക്, നിലവിൽ റെൻഡർ മാസ്ക് സവിശേഷതയെ പിന്തുണയ്ക്കുന്നില്ല.

3.2 എംആർ ഉള്ളടക്കം
3.2.1 പാസ്‌ത്രൂ ഗുണനിലവാരം ക്രമീകരിക്കുക
പാസ്‌ത്രൂ ഇമേജ് ഗുണനിലവാരത്തിന് 3 ലെവലുകൾ ഉണ്ട്:
➢ WVR_PassthroughImageQuality_DefaultMode – പ്രത്യേക ആവശ്യകതയില്ലാതെ MR ഉള്ളടക്കത്തിന് അനുയോജ്യം.
➢ WVR_PassthroughImageQuality_PerformanceMode – വെർച്വൽ സീൻ റെൻഡറിംഗിനായി കൂടുതൽ GPU റിസോഴ്‌സ് ആവശ്യമുള്ള MR ഉള്ളടക്കത്തിന് അനുയോജ്യം.
➢ WVR_PassthroughImageQuality_QualityMode – ഉപയോക്താക്കൾക്ക് ചുറ്റുമുള്ള പരിസ്ഥിതി വ്യക്തമായി കാണാൻ അനുവദിക്കുന്ന MR ഉള്ളടക്കത്തിന് അനുയോജ്യം, എന്നാൽ ഉള്ളടക്കത്തിന്റെ വെർച്വൽ രംഗം പ്രകടനത്തിനായി കൂടുതൽ മികച്ച ട്യൂണിംഗ് ഉണ്ടായിരിക്കണം.
GPU ഉപയോഗം കുറയ്ക്കുന്നതിന് നിങ്ങൾക്ക് പാസ്‌ത്രൂ ഗുണനിലവാരം പെർഫോമൻസ് മോഡിലേക്ക് ക്രമീകരിക്കാൻ കഴിയും.

  • നേറ്റീവ്, യുനിറ്റി അല്ലെങ്കിൽ അൺറിയൽ ഡെവലപ്പർമാർക്ക്, ഈ ഗൈഡ് പരിശോധിക്കുക.

3.2.2 പാസ്‌ത്രൂ ഫ്രെയിം റേറ്റ് ക്രമീകരിക്കുക
ഡിസ്‌പ്ലേ പുതുക്കൽ നിരക്ക് പോലെ, ഉയർന്ന പാസ്‌ത്രൂ ഫ്രെയിംറേറ്റ് സുഗമമായ ദൃശ്യങ്ങൾ വാഗ്ദാനം ചെയ്യുന്നു, പക്ഷേ സിസ്റ്റം ലോഡ് വർദ്ധിക്കുന്നതിന്റെ ചെലവിൽ ഇത് വരുന്നു. നേരെമറിച്ച്, കുറഞ്ഞ പുതുക്കൽ നിരക്കുകൾ സിസ്റ്റം ലോഡ് കുറയ്ക്കുന്നു, പക്ഷേ സുഗമമായ ദൃശ്യങ്ങൾ കുറയുന്നതിന് കാരണമാകുന്നു. പാസ്‌ത്രൂ ഫ്രെയിംറേറ്റിന് രണ്ട് മോഡുകൾ ഉണ്ട്: ബൂസ്റ്റ്, നോർമൽ.

  • നേറ്റീവ് ഡെവലപ്പർക്ക്, WVR_SetPassthroughImageRate ഉപയോഗിച്ച് പാസ്‌ത്രൂ നിലവാരം ക്രമീകരിക്കാൻ കഴിയും.
  • യൂണിറ്റി ഡെവലപ്പർക്ക്, കോഡ് വഴി മാറ്റാൻ കഴിയും, ഉദാ.ampസെറ്റിംഗ്‌സ് ഇപ്രകാരമാണ് // C#
    ഇന്ററോപ്പ്.WVR_SetPassthroughImageQuality(WVR_PassthroughImageQuality.PerformanceMode);
  • അൺറിയൽ ഡെവലപ്പർക്ക്, സെറ്റിംഗ് രീതി ചിത്രം 3-2-2 ലെ ബ്ലൂപ്രിന്റ് നോഡ് കാണുക.

VIVE VR റെൻഡറിംഗ് പ്രകടനം - ചിത്രം 4

VIVE OpenXR ക്രമീകരണം

ക്രോണോസ് ഗ്രൂപ്പ് വികസിപ്പിച്ചെടുത്ത വിവിധ തരം VR ഉപകരണങ്ങളിൽ പ്രവർത്തിക്കുന്ന XR ആപ്ലിക്കേഷനുകൾ വികസിപ്പിക്കുന്നതിനുള്ള പൊതുവായ API-കളുടെ ഒരു സെറ്റ് നൽകുന്ന ഒരു ഓപ്പൺ സ്റ്റാൻഡേർഡാണ് OpenXR. VIVE ഫോക്കസ് 3 ഉം VIVE XR എലൈറ്റും OpenXR-നെ പിന്തുണയ്ക്കുന്നു, VIVE OpenXR SDK HTC VR ഉപകരണങ്ങൾക്ക് സമഗ്രമായ പിന്തുണ നൽകുന്നു, ഇത് ഡെവലപ്പർമാർക്ക് HTC VR ഉപകരണങ്ങളിൽ Allin-One, Unity, Unreal എഞ്ചിൻ എന്നിവ ഉപയോഗിച്ച് ഉള്ളടക്കം നിർമ്മിക്കാൻ അനുവദിക്കുന്നു. ഞങ്ങൾ തുടർച്ചയായി വിവിധ ബഗുകൾ ഒപ്റ്റിമൈസ് ചെയ്യുകയും പരിഹരിക്കുകയും ചെയ്യുന്നു, അതിനാൽ ഡെവലപ്പർമാർ അവരുടെ ഉപകരണത്തിന്റെ FOTA പതിപ്പ് കാലികമായി നിലനിർത്താൻ അത് അപ്ഡേറ്റ് ചെയ്യാൻ ശുപാർശ ചെയ്യുന്നു. നിലവിൽ, VIVE OpenXR SDK OpenGL ES, Vulkan എന്നിവയെ പിന്തുണയ്ക്കുന്നു.

4.1 VR ഉള്ളടക്കം
4.1.1 ഡിസ്പ്ലേ പുതുക്കൽ നിരക്ക്
ഇവിടുത്തെ ആശയം 3.1.1 ഡിസ്പ്ലേ പുതുക്കൽ നിരക്കിന് സമാനമാണ്.

  • നേറ്റീവ് ഡെവലപ്പർക്ക്, XrEventDataDisplayRefreshRateChangedFB കാണുക.
  • യൂണിറ്റി ഡെവലപ്പർക്ക്, ഈ ഗൈഡ് കാണുക.
  • അൺറിയൽ ഡെവലപ്പർക്ക്, ഈ ഗൈഡ് കാണുക.

4.1.2 ഐബഫർ റെസല്യൂഷൻ
ഇവിടുത്തെ ആശയം 3.1.2 ഐബഫർ റെസല്യൂഷനു സമാനമാണ്. സ്കെയിൽ ഫാക്ടർ 0.7 ൽ താഴെയാക്കരുതെന്ന് ഞങ്ങൾ ശുപാർശ ചെയ്യുന്നു, കാരണം ഇത് അസ്വീകാര്യമായ ദൃശ്യ നിലവാരത്തിന് കാരണമായേക്കാം.

  • നേറ്റീവ് ഡെവലപ്പർമാർക്ക്, xrCreateSwapchain കാണുക. വലുപ്പം ക്രമീകരിക്കുമ്പോൾ, വീതിയും ഉയരവും ഒരു അനുപാതം കൊണ്ട് ഗുണിക്കണം. ,
  • യൂണിറ്റി ഡെവലപ്പർക്ക്, ഇനിപ്പറയുന്ന ഉദാഹരണങ്ങൾ കാണുക:ampലെ // സി#
    XRSettings.eyeTextureResolutionScale = 0.7f; //ശുപാർശ ചെയ്യുന്നത് 1.0f~0.7f
  • അൺറിയൽ ക്രമീകരണങ്ങൾക്ക്, ഈ ഗൈഡ് കാണുക.

4.1.3 മൾട്ടി-View റെൻഡറിംഗ്
ഇവിടുത്തെ ആശയം 3.1.3 മൾട്ടി-View റെൻഡറിംഗ്. ഈ സവിശേഷത സിപിയുവിലെ ലോഡ് കുറയ്ക്കുന്നു, ജിപിയുവിന് ചില ഗുണങ്ങളുമുണ്ട്. ഈ സവിശേഷത പ്രവർത്തനക്ഷമമാക്കാൻ ഞങ്ങൾ ശുപാർശ ചെയ്യുന്നു.

  • നേറ്റീവ് ഡെവലപ്പർമാർക്ക്, ക്രോണോസ് ഗ്രൂപ്പ് ഒരു ഓപ്പൺഎക്സ്ആർ മൾട്ടി-View exampലെ, ഈ ഗൈഡ് കാണുക.
  • യൂണിറ്റി ഡെവലപ്പർക്ക്, റെൻഡർ മോഡ് റഫർ ചെയ്യുക, സിംഗിൾ പാസ് മൾട്ടി-view സവിശേഷത.
  • VIVE Wave ക്രമീകരണങ്ങളിലെന്നപോലെ, അൺറിയൽ ഡെവലപ്പർക്കും, ഈ ഗൈഡ് കാണുക.

4.1.4 ഫോവിയേഷൻ [അൺറിയലിനെ പിന്തുണയ്ക്കുന്നില്ല]
ഇവിടെയുള്ള ആശയം 3.1.4 ഫോവിയേഷനു സമാനമാണ്. ഫോവിയേറ്റഡ് റെൻഡറിംഗ് പ്രധാനമായും ജിപിയു ലോഡ് കുറയ്ക്കുന്നതിനാണ് രൂപകൽപ്പന ചെയ്തിരിക്കുന്നത്, പക്ഷേ ഇത് പ്രവർത്തനക്ഷമമാക്കുന്നത് ഒരു നിശ്ചിത ജിപിയു പ്രകടന ചെലവ് വഹിക്കും. ഫോവിയേഷൻ വളരെ കുറവാണെങ്കിൽ ചില മെറ്റീരിയലുകളോ ടെക്സ്ചറുകളോ ഉപയോഗിക്കുകയാണെങ്കിൽ, അത് വളരെ
ഉപയോക്താവിന് ഇത് ശ്രദ്ധേയമാണ്. അതിനാൽ, നിങ്ങളുടെ നിർദ്ദിഷ്ട ആവശ്യകതകളെയും പ്രകടന പരിഗണനകളെയും അടിസ്ഥാനമാക്കി സവിശേഷത പ്രാപ്തമാക്കുകയോ അപ്രാപ്തമാക്കുകയോ ചെയ്യുന്നതാണ് ഉചിതം. നിലവിൽ, VIVE OpenXR SDK-യിലെ OpenGL ES-ൽ മാത്രമേ Foveated പ്രവർത്തനം പിന്തുണയ്ക്കുന്നുള്ളൂ.

  • നേറ്റീവ് ഡെവലപ്പർമാർക്ക്, ഈ സവിശേഷത ലഭ്യമാണ്, എന്നാൽ നിലവിൽ, മുൻ ഇല്ലampലെസ് നൽകിയിരിക്കുന്നു.
  • യൂണിറ്റി ഡെവലപ്പർക്ക്, ഈ ഗൈഡ് കാണുക.
  • അൺറിയൽ ഡെവലപ്പർമാർക്ക്, ഇപ്പോൾ ഈ സവിശേഷത പിന്തുണയ്ക്കുന്നില്ല.

4.1.5 റെൻഡർ മാസ്ക് [അൺറിയലിനെ പിന്തുണയ്ക്കുന്നില്ല]
ഇവിടുത്തെ ആശയം 3.1.8 റെൻഡർ മാസ്കിന് സമാനമാണ്.

  • നേറ്റീവ് ഡെവലപ്പർമാർക്ക്, മെഷ് ലഭിക്കാൻ XrVisibilityMaskKHR ഉപയോഗിക്കുക. രംഗം റെൻഡർ ചെയ്യുന്നതിന് മുമ്പ്, രംഗം റെൻഡർ ചെയ്യുന്നതിന് മുമ്പ് ഡെപ്ത് ബഫർ മൂല്യങ്ങൾ പോപ്പുലേറ്റ് ചെയ്യാൻ ഈ മെഷ് ഉപയോഗിക്കുക.
  • യൂണിറ്റി ഡെവലപ്പർക്ക്, ഓപ്പൺജിഎൽ ഇഎസിനായി റെൻഡർ മാസ്ക് സവിശേഷത സ്ഥിരസ്ഥിതിയായി പ്രാപ്തമാക്കിയിരിക്കുന്നു, കൂടാതെ ഇനിപ്പറയുന്ന കോഡ് ഉപയോഗിച്ച് ഇത് പ്രവർത്തനരഹിതമാക്കാനും കഴിയും; വൾക്കൻ നിലവിൽ ഈ സവിശേഷതയെ പിന്തുണയ്ക്കുന്നില്ല. //C# UnityEngine.XR.XRSettings.occlusionMaskScale = 0.0f;
  • അൺറിയൽ ഡെവലപ്പർമാർക്ക്, നിലവിൽ റെൻഡർ മാസ്ക് സവിശേഷതയെ പിന്തുണയ്ക്കുന്നില്ല.

4.2 എംആർ ഉള്ളടക്കം
പാസ്‌ത്രൂ ഗുണനിലവാരവും ഫ്രെയിം റേറ്റും സജ്ജീകരിക്കുന്നതിനെ OpenXR നിലവിൽ പിന്തുണയ്ക്കുന്നില്ല. പാസ്‌ത്രൂ സവിശേഷത ഒപ്റ്റിമൈസ് ചെയ്യുന്നതും പരിഹരിക്കുന്നതും ഞങ്ങൾ തുടരും, അതിനാൽ ഉപകരണത്തിന്റെ FOTA പതിപ്പ് കാലികമായി നിലനിർത്താൻ ഡെവലപ്പർമാർ അപ്‌ഡേറ്റ് ചെയ്യാൻ ഞങ്ങൾ ശുപാർശ ചെയ്യുന്നു.

പൊതുവായ ഒപ്റ്റിമൈസേഷൻ

5.1 ഹൈ പെർഫോമൻസ് മോഡ് ഓഫാക്കുക
"ഹൈ പെർഫോമൻസ് മോഡ്" ഓഫാക്കുന്നത് ഉപകരണത്തിന്റെ ഡിസ്പ്ലേ വലുപ്പം കുറയ്ക്കുകയും അതുവഴി ജിപിയു ഉപയോഗം കുറയ്ക്കുകയും ചെയ്യും. സ്ക്രീൻ റെസല്യൂഷനിലെ കുറവാണു പോരായ്മ. അത് പ്രവർത്തനക്ഷമമാക്കണോ വേണ്ടയോ എന്ന് തീരുമാനിക്കാൻ നിങ്ങൾക്ക് ഗുണനിലവാരവും പ്രകടനവും സന്തുലിതമാക്കാം.
VIVE ഫോക്കസ് 3-ന്റെ സജ്ജീകരണ സ്ഥാനം ചിത്രം 5-1-1-ൽ കാണിച്ചിരിക്കുന്നു:

VIVE VR റെൻഡറിംഗ് പ്രകടനം - ചിത്രം 5

VIVE XR എലൈറ്റിന്റെ ക്രമീകരണ സ്ഥാനം ചിത്രം 5-1-2 ൽ കാണിച്ചിരിക്കുന്നു:

VIVE VR റെൻഡറിംഗ് പ്രകടനം - ചിത്രം 6

5.2 മൾട്ടിസ്ampലിംഗ ആന്റി-അലിയാസിംഗ്
മൾട്ടിസ്ampമുനപ്പില്ലാത്ത അരികുകൾ മിനുസപ്പെടുത്താൻ ഉപയോഗിക്കുന്ന ഒരു ആന്റി-അലിയാസിംഗ് ടെക്നിക്കാണ് ലിംഗ്, സാധാരണയായി ഹാർഡ്‌വെയർ വഴിയാണ് ഇത് ത്വരിതപ്പെടുത്തുന്നത്, ഇത് GPU പ്രകടന ചെലവ് വർദ്ധിപ്പിക്കുന്നു. കൂടുതൽ ഉയർന്ന മൂല്യം കൂടുതൽ gpu ഉപയോഗം ഉപയോഗിക്കുമെന്നതിനാൽ MSAA 2x-ൽ കൂടുതൽ സജ്ജീകരിക്കരുതെന്ന് ഞങ്ങൾ ശുപാർശ ചെയ്യുന്നു.

  • നേറ്റീവ് ഡെവലപ്പർക്ക്, MSAA OpenGL ES exsampഎനിക്ക് ഇത് പരാമർശിക്കാം; MSAA Vulkan മുൻampലെറിന് ഇത് പരാമർശിക്കാൻ കഴിയും.
    അഡ്രിനോ ജിപിയു MSAA ഒപ്റ്റിമൈസ് ചെയ്യുന്ന ഒരു എക്സ്റ്റൻഷൻ നൽകുന്നു.
  • യൂണിറ്റി ഡെവലപ്പർക്ക്, ഈ ഗിൽഡ് റഫർ ചെയ്യുക.
  • അൺറിയൽ ഡെവലപ്പർമാർക്ക് ഈ ഗിൽഡ് റഫർ ചെയ്യുക. അൺറിയൽ പോസ്റ്റ് പ്രോസസ്സിംഗ് ആന്റി-അലിയാസിംഗ് സൗകര്യവും നൽകുന്നു, ഈ ഗിൽഡിനെ റഫർ ചെയ്യുക.

5.3 GMEM ലോഡ്/സ്റ്റോർ
അഡ്രിനോ ജിപിയു ആർക്കിടെക്ചറിൽ, ഒരു റെൻഡർ ടാർഗെറ്റ് ബൈൻഡ് ചെയ്യുമ്പോൾ, റെൻഡർ ടാർഗെറ്റ് ക്ലിയർ ചെയ്യുകയോ അസാധുവാക്കുകയോ ചെയ്യുന്നില്ലെങ്കിൽ, ഓരോ തവണയും റെൻഡറിംഗ് സംഭവിക്കുമ്പോൾ, റെൻഡർ ടാർഗെറ്റിലെ മൂല്യങ്ങൾ ഗ്രാഫിക്സ് മെമ്മറിയിലേക്ക് ലോഡ് ചെയ്യുന്നു, ഇതിനെ GMEM ലോഡ് എന്ന് വിളിക്കുന്നു. മുൻ മൂല്യങ്ങൾ ആവശ്യമില്ലെങ്കിൽ, റെൻഡറിംഗിന് മുമ്പ് റെൻഡർ ടാർഗെറ്റ് മായ്ക്കുകയോ അസാധുവാക്കുകയോ ചെയ്താൽ, GPU പ്രകടനം മെച്ചപ്പെടുത്തുന്നതിന് ഈ സാഹചര്യം ഒഴിവാക്കാനാകും.
താഴെ പറയുന്ന രീതികൾ ഉപയോഗിച്ച് നിങ്ങൾക്ക് GMEM ലോഡ് ഒഴിവാക്കാൻ കഴിയും. OpenGL ES-ൽ, FBO ബൈൻഡ് ചെയ്ത ശേഷം, കളർ, ഡെപ്ത്, സ്റ്റെൻസിൽ ബഫർ എന്നിവ മായ്‌ക്കാൻ നിങ്ങൾക്ക് glClear, glClearDepth എന്നിവ വിളിക്കാം, അല്ലെങ്കിൽ നിർദ്ദിഷ്ട റെൻഡർ ടാർഗെറ്റ് അസാധുവാക്കാൻ glInvalidateFramebuffer എന്ന് വിളിക്കാം. Vulkan-ൽ, അധിക നിർദ്ദേശങ്ങൾ ആവശ്യമില്ല; VkAttachmentDescription.loadOp-ൽ ഉപയോഗിക്കുന്നതിന് മുമ്പ് അറ്റാച്ച്‌മെന്റ് മായ്‌ക്കണോ എന്ന് നിങ്ങൾക്ക് വ്യക്തമായി സജ്ജമാക്കാൻ കഴിയും.
അതുപോലെ, ഗ്രാഫിക്സ് മെമ്മറിയിൽ നിന്ന് മെയിൻ മെമ്മറിയിലേക്ക് ടൈൽ റെൻഡറിന്റെ ഫലം തിരികെ സംഭരിക്കുന്നതിനെ GMEM സ്റ്റോർ എന്ന് വിളിക്കുന്നു; ഈ പ്രവർത്തനം GPU-യ്ക്കും ചെലവേറിയതാണ്. ഇത് ഒഴിവാക്കാൻ, അനാവശ്യമായ സ്റ്റോർ പ്രവർത്തനങ്ങൾ തടയുന്നതിന് ആവശ്യമായ റെൻഡർ ടാർഗെറ്റുകൾ മാത്രം ബന്ധിപ്പിക്കാൻ ഞങ്ങൾ ശുപാർശ ചെയ്യുന്നു.

5.4 കോമ്പോസിഷൻ ലെയർ (മൾട്ടി ലെയർ)
മൾട്ടി-ലെയർ ഉപയോഗിച്ച് പ്രദർശിപ്പിക്കുന്ന ടെക്സ്ചറുകൾക്ക് മികച്ച ദൃശ്യ നിലവാരമുണ്ട്. എന്നിരുന്നാലും, ലെയറുകളുടെ എണ്ണവും ടെക്സ്ചറുകളുടെ വലുപ്പവും കൂടുന്നതിനനുസരിച്ച് ഈ സവിശേഷത GPU പ്രകടനം ഗണ്യമായി വർദ്ധിപ്പിക്കുന്നു. മൂന്ന് ലെയറുകളിൽ കൂടരുതെന്ന് ഞങ്ങൾ ശുപാർശ ചെയ്യുന്നു.

  • നേറ്റീവ് ഡെവലപ്പർക്ക്,
    ഓരോ ലെയറിനും ഡാറ്റ കൈമാറാൻ VIVE Wave SDK WVR_SubmitFrameLayers ഉപയോഗിക്കുന്നു.
    VIVE OpenXR SDK, ലെയർ ഡാറ്റ XrFrameEndInfo-യിൽ സ്ഥാപിക്കുകയും xrEndFrame വഴി സമർപ്പിക്കുകയും ചെയ്യുന്നു.
  • യൂണിറ്റി ഡെവലപ്പർക്ക്,
    o VIVE Wave SDK ക്രമീകരണങ്ങൾ, ഈ ഗൈഡ് കാണുക,
    o VIVE OpenXR ക്രമീകരണങ്ങൾ, ഈ ഗൈഡ് കാണുക.
  • അൺറിയൽ ഡെവലപ്പർക്ക്,
    o VIVE Wave SDK ക്രമീകരണങ്ങൾ, ഈ ഗൈഡ് കാണുക.
    o VIVE OpenXR ക്രമീകരണങ്ങൾ, ഈ ഗൈഡ് കാണുക.

5.5 സിപിയു സ്പൈക്ക്
CPU ലോഡിംഗ് കൂടുതലായിരിക്കുമ്പോൾ, ചില പശ്ചാത്തല പ്രോസസ്സ് ത്രെഡുകൾക്ക് ഉയർന്ന മുൻഗണന നൽകുമ്പോൾ, അത് നേറ്റീവ് എക്സിക്യൂഷനെ തടസ്സപ്പെടുത്തിയേക്കാം. മറ്റ് ത്രെഡുകൾ ഉള്ളടക്ക ആപ്ലിക്കേഷനെ തടസ്സപ്പെടുത്തില്ലെന്ന് ഞങ്ങൾക്ക് ഉറപ്പ് നൽകാൻ കഴിയില്ല.
അത്തരം പ്രശ്നങ്ങൾ ഉണ്ടായാൽ, പ്രശ്നം പരിഹരിക്കപ്പെടുമോ എന്ന് കാണാൻ നിങ്ങൾക്ക് ത്രെഡ് മുൻഗണന വർദ്ധിപ്പിക്കാൻ ശ്രമിക്കാം. എന്നാൽ ഉപകരണങ്ങൾക്കായി ഒപ്റ്റിമൈസ് ചെയ്യുന്നതിനായി നിങ്ങൾ ത്രെഡ് കോൺഫിഗറേഷൻ മാറ്റുകയാണെങ്കിൽ, ഇതിന് എന്തെങ്കിലും പ്രതികൂല ഫലങ്ങൾ ഉണ്ടോ എന്ന് നിങ്ങൾ പരിശോധിക്കേണ്ടതുണ്ട്.

  • യൂണിറ്റി ഡെവലപ്പറിനായി, ആൻഡ്രോയിഡ് ത്രെഡ് കോൺഫിഗറേഷൻ സവിശേഷത കാണുക. നിങ്ങൾ VIVE Wave SDK ഉപയോഗിക്കുകയാണെങ്കിൽ, ചിത്രം 5-5-2 ൽ കാണിച്ചിരിക്കുന്നതുപോലെ, മുൻഗണന ക്രമീകരിക്കാൻ നിങ്ങളെ അനുവദിക്കുന്ന ഒരു സവിശേഷത WaveXRSettings-ൽ ഞങ്ങൾക്കുണ്ട്. ചെറിയ മൂല്യം ഉയർന്ന മുൻഗണനയെ പ്രതിനിധീകരിക്കുന്നു.

VIVE VR റെൻഡറിംഗ് പ്രകടനം - ചിത്രം 7

  • എഞ്ചിൻ കോഡ് പരിഷ്‌ക്കരിച്ചില്ലെങ്കിൽ, ഗെയിം ത്രെഡ്, റെൻഡറിംഗ് ത്രെഡ്, RHI ത്രെഡ് മുൻഗണന എന്നിവ ബാഹ്യ ക്രമീകരണങ്ങളിലൂടെ മാറ്റാൻ ഒരു രീതിയും ഇല്ല.

പകർപ്പവകാശം © 2024 HTC കോർപ്പറേഷൻ. എല്ലാ അവകാശങ്ങളും നിക്ഷിപ്തം.VIVE ലോഗോ

പ്രമാണങ്ങൾ / വിഭവങ്ങൾ

VIVE VR റെൻഡറിംഗ് പ്രകടനം [pdf] ഉപയോക്തൃ ഗൈഡ്
VR റെൻഡറിംഗ് പ്രകടനം, റെൻഡറിംഗ് പ്രകടനം, പ്രകടനം

റഫറൻസുകൾ

ഒരു അഭിപ്രായം ഇടൂ

നിങ്ങളുടെ ഇമെയിൽ വിലാസം പ്രസിദ്ധീകരിക്കില്ല. ആവശ്യമായ ഫീൽഡുകൾ അടയാളപ്പെടുത്തി *