VIVE लोगोVR रेन्डरिङ प्रदर्शन
ट्युनिङ र अप्टिमाइजेसनहरू

परिचय

स्रोत-सीमित हार्डवेयरमा इष्टतम VR अनुभव प्राप्त गर्नु सहज र आरामदायी प्रयोगकर्ता अनुभव प्रदान गर्ने महत्वपूर्ण कुरा हो। यदि सामग्री रेन्डरिङको फ्रेम दर उपकरणको रिफ्रेस दरभन्दा कम वा अस्थिर भयो भने, यसले फ्रेम जडर र स्टटिंग, मोशन सिकनेस, आदि निम्त्याउँछ। अन्ततः प्रयोगकर्ता अनुभवमा नकारात्मक असर पार्छ। त्यसकारण, रमाइलो अनुभव सुनिश्चित गर्न सामग्री प्रदर्शनलाई अनुकूलन गर्नु धेरै महत्त्वपूर्ण छ।
कार्यसम्पादन ट्युनिङ सुरु गर्नु अघि, अकुशल ट्युनिङबाट बच्नको लागि कार्यसम्पादन अवरोधहरू कहाँ छन् भनेर बुझ्नु महत्त्वपूर्ण छ। यो कागजात विकासकर्ताहरूलाई कार्यसम्पादन अवरोधहरू पहिचान गर्न र रेन्डरिङ कार्यसम्पादन समस्याहरू समाधान गर्न समाधानहरू प्रस्ताव गर्न मद्दत गर्न डिजाइन गरिएको हो।
कागजातलाई निम्न खण्डहरूमा व्यवस्थित गरिएको छ:

  • अध्याय २: बाधाहरू पहिचान गर्नुहोस् - यो खण्डले विकासकर्ताहरूलाई बाधाहरू कहाँ छन् भनेर पहिचान गर्न मद्दत गर्दछ।
  • अध्याय ३ र ४: VIVE Wave र VIVE OpenXR सेटिङहरू - यी खण्डहरूले VIVE Wave र OpenXR एपहरूको लागि CPU/GPU कार्यसम्पादनलाई असर गर्न सक्ने विशिष्ट सेटिङहरूको रूपरेखा प्रस्तुत गर्दछ। विकासकर्ताहरूले कुनै सुधार छ कि छैन भनेर निर्धारण गर्न सामना गरिएका कार्यसम्पादन अवरोधहरूको आधारमा यी सुविधाहरू सक्षम वा असक्षम गर्ने प्रयोग गर्न सक्छन्।
  • अध्याय ५: साझा अनुकूलन - यस खण्डले केही सामान्य अनुकूलन अभ्यासहरू र अनुभवहरू साझा गर्दछ।

बाधा पहिचान गर्नुहोस्

HMD चलिरहेको बेला, यदि VR/MR एपमा फ्रेम जिटर वा कालो किनारा, आदि छ भने, यो सामान्यतया खराब रेन्डरिङ कार्यसम्पादन समस्याको कारणले हुन्छ। सामान्यतया, रेन्डरिङ कार्यसम्पादन समस्याहरूलाई २ प्रकारमा वर्गीकृत गर्न सकिन्छ: CPU-बाउन्ड वा GPU-बाउन्ड। अकुशल ट्युनिङबाट बच्नको लागि सुरुमा तपाईंको एपको लागि कुन प्रकारको बाउन्ड धेरै महत्त्वपूर्ण छ भनेर बुझ्नुहोस्।
यस अध्यायमा, हामी तपाईंलाई कार्यसम्पादन समस्याहरू कहाँ छन् भनेर द्रुत रूपमा पहिचान गर्न मद्दत गर्ने सरल चरणहरू प्रदान गर्दछौं।

२.१ सामग्री रेन्डरिङ FPS जाँच गर्नुहोस्
पहिला, हामी सामग्री FPS जाँच गरेर सुरु गर्छौं जुन प्रति सेकेन्ड सामग्रीले रेन्डर गर्ने फ्रेमहरूको संख्या हो। यसलाई डिस्प्ले फ्रेमरेटमा कायम राख्नुपर्छ र स्थिर राख्नुपर्छ। अन्यथा, यसले फ्रेम झट्का निम्त्याउन सक्छ।
यदि तपाईंको एप्लिकेसन SDK ले VIVE WAVE SDK 6.0.0 वा पछिको संस्करण प्रयोग गरिरहेको छ भने, तपाईंले FPS जाँच गर्न निम्न adb आदेश प्रयोग गर्न सक्नुहुन्छ। DK 6.0.0
$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
“FPS=89.8/89.8” पहिलो नम्बरले सामग्री FPS लाई प्रतिनिधित्व गर्दछ, जबकि दोस्रो नम्बरले प्रदर्शन फ्रेमरेटलाई प्रतिनिधित्व गर्दछ।
यदि तपाईंको Wave SDK संस्करण ६.०.० भन्दा कम छ भने, रेन्डरिङ कार्यसम्पादन र अन्य अप्टिमाइजेसन बढाउनको लागि नवीनतम संस्करणमा स्तरोन्नति गर्न सिफारिस गरिन्छ।
यदि तपाईंको एप्लिकेसन SDK VIVE OpenXR बाट बनेको छ भने। FPS जाँच गर्न तपाईं निम्न adb आदेश प्रयोग गर्न सक्नुहुन्छ।
$adb लगक्याट -s RENDER_ATW
तपाईंले निम्न लग डेटा देख्नुहुनेछ।
RENDER_ATW: [FPS] नयाँ बनावट: ९०.००
RENDER_ATW: [FPS] R वर्तमान: ९०.०० छोड्नुहोस्: ० ३१७, -०.०१५५ ०.८०५५२७, ०.००६७८८)
RENDER_ATW: [FPS] L वर्तमान: 90.00 स्किप: 0 (0.592301, -0.015502, 0.805539, 0.006773)

"नयाँ बनावट" पछिको संख्याले हालको सामग्री FPS लाई जनाउँछ। "R उपस्थित" र "L उपस्थित" पछिको संख्याले प्रदर्शन फ्रेमरेटलाई जनाउँछ।
कहिलेकाहीँ, सामग्री FPS र डिस्प्ले फ्रेमरेटमा थोरै भिन्नता हुन सक्छ।
पूर्वका लागिampमाथिको अवस्थामा, ८९.८ FPS लाई ९० FPS मान्न सकिन्छ।
यदि एपको सामग्री FPS डिस्प्ले फ्रेमरेट भन्दा लगातार कम छ वा अस्थिर रहन्छ भने, यसले रेन्डरिङ कार्यसम्पादन समस्यालाई संकेत गर्दछ। त्यसकारण, अर्को चरण भनेको अवरोध CPU बाट आउँदैछ वा GPU बाट।
२.२ CPU र GPU को उपयोग जाँच गर्नुहोस्
यदि तपाईंको एप्लिकेसन 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 प्रयोग २७% छ र GPU प्रयोग ७२% छ। यदि तपाईंको Wave SDK संस्करण ६.०.० भन्दा कम छ भने, रेन्डरिङ कार्यसम्पादन र अन्य अप्टिमाइजेसन बढाउनको लागि नवीनतम संस्करणमा स्तरोन्नति गर्न सिफारिस गरिन्छ।
VIVE OpenXR एपको लागि, तपाईंले CPU र GPU प्रयोग जाँच गर्न निम्न आदेश प्रयोग गर्न सक्नुहुन्छ।
# लिनक्स/उबुन्टुमा
$ adb लगक्याट | grep CPU_USAGE
# पावरशेलमा
$ adb लगक्याट | चयन-स्ट्रिङ -ढाँचा CPU_USAGE
तपाईंले निम्न लग देख्नुहुनेछ
CPU औसत CPU0 CPU1 CPU2 CPU3 CPU4 CPU5 CPU6 CPU7 GPU CPU_USAGE [लोड] २५.६७% ३२.२२% २५.२९% ३०.७७% २९.३५% २१.३५% २२.०९% १८.३९% २४.१४% ७३ %
यदि तपाईंले FPS ले डिस्प्ले फ्रेम रेट कायम राख्न नसक्ने र GPU को प्रयोग पनि धेरै उच्च भएको देख्नुभयो भने, सामान्यतया ८५% भन्दा बढी हुन्छ, तपाईंले FPS मा सुधार हुन्छ कि हुँदैन भनेर हेर्नको लागि Eyebuffer Resolution (खण्ड ३.१.२, खण्ड ४.१.२) समायोजन गर्ने प्रयास गर्न सक्नुहुन्छ। यदि यो समायोजनले राम्रो परिणाम दिन्छ भने
कार्यसम्पादनको आधारमा, हामी यो निष्कर्षमा पुग्न सक्छौं कि समस्या GPU-बाउन्ड छ र तदनुसार हाम्रो अनुकूलन प्रयासहरूमा ध्यान केन्द्रित गर्न सक्छौं।
अर्कोतर्फ, यदि आइबफर रिजोल्युसन समायोजन गर्नाले उल्लेखनीय कार्यसम्पादन सुधार भएन भने, अवरोध सम्भवतः CPU-बाउन्ड छ, र हामीले CPU कार्यसम्पादन अनुकूलन गर्ने कुरामा ध्यान केन्द्रित गर्नुपर्छ।
यो पनि सम्भव छ कि अनुप्रयोग एकै साथ CPU-बाउन्ड र GPU-बाउन्ड दुवै हो। यस्तो अवस्थामा, सन्तुलित कार्यसम्पादन सुधारहरू प्राप्त गर्न CPU र GPU दुवैमा अनुकूलन प्रयासहरू लागू गरिनुपर्छ।
२.३ GPU-बाउन्ड
जब VR एप GPU-बाउन्ड हुन्छ, यसको अर्थ GPU प्राथमिक बाधा हो, र यो एपको रेन्डरिङ मागहरू पूरा गर्न असमर्थ हुन्छ। GPU-बाउन्ड समस्याहरूलाई कम गर्न, निम्न सिफारिसहरू विचार गर्नुहोस्:
पहिले, RenderDoc वा Game Engine pro जस्ता प्रोफाइलिङ उपकरणहरू प्रयोग गर्नुहोस्।filer (युनिटी प्रोfiler, Unreal Insights) मार्फत GPU ले आफ्नो अधिकांश समय कहाँ खर्च गरिरहेको छ भनेर विश्लेषण गर्न सकिन्छ। सबैभन्दा महँगो अपरेशनहरू पहिचान गर्नुहोस् र तिनीहरूलाई अनुकूलन गर्नमा ध्यान केन्द्रित गर्नुहोस्।
नेटिभ डेभलपरको लागि, तपाईंले कुन ड्र कलले अत्यधिक GPU लोड निम्त्याइरहेको छ भनेर पहिचान गर्न RenderDoc प्रयोग गर्न सक्नुहुन्छ।
युनिटी डेभलपरको लागि, तपाईंले युनिटी यो कागजात पालना गर्न सक्नुहुन्छ वा रेन्डरिङ कार्यसम्पादन समस्याको विश्लेषण गर्न RenderDoc प्रयोग गर्न सक्नुहुन्छ, र तपाईंको अनुप्रयोगलाई अनुकूलन गर्न मार्गदर्शनको लागि युनिटी ग्राफिक्स अप्टिमाइजेसन कागजातहरू पालना गर्न सक्नुहुन्छ।
अवास्तविक विकासकर्ताको लागि, तपाईंले GPU भिजुअलाइजर प्रयोग गर्न सक्नुहुन्छ वा रेन्डरडक प्रयोग गरेर रेन्डरिङ कार्यसम्पादन समस्याको विश्लेषण गर्न सक्नुहुन्छ, र आफ्नो अनुप्रयोगलाई अनुकूलन गर्न मार्गदर्शनको लागि अवास्तविक कार्यसम्पादन दिशानिर्देशहरू पालना गर्न सक्नुहुन्छ।
दोस्रो, तपाईंले GPU लोडिङ कम गर्न निश्चित Wave सुविधाहरू वा सेटिङहरू समायोजन गर्ने प्रयास गर्न सक्नुहुन्छ।

  1. डिस्प्ले रिफ्रेस रेट ढिलो सेट गर्नुहोस् (खण्ड ३.१.१, खण्ड ४.१.१)
  2.  आँखा बफर रिजोल्युसन समायोजन गर्नुहोस् (खण्ड ३.१.२, खण्ड ४.१.२), १४.१.१)
  3.  फोभेसन सक्षम पार्ने प्रयास गर्नुहोस् (खण्ड ३.१.४, खण्ड ४.१.४)।

यदि तपाईंको एप पनि MR एप हो भने, तपाईंले पासथ्रु सेटिङहरू पनि समायोजन गर्न सक्नुहुन्छ।

  1. पासथ्रु छवि गुणस्तर कम समायोजन गर्नुहोस्। (खण्ड ३.२.१)
  2. पासथ्रु फ्रेमरेटलाई ढिलो समायोजन गर्नुहोस्। (खण्ड ३.२.२)।

GPU कार्यसम्पादनको बारेमा थप अन्य सेटिङहरूको लागि, तपाईंले अध्याय २.६ हेर्न सक्नुहुन्छ।

२.४ CPU-बाउन्ड
जब VR एप CPU-बाउन्ड हुन्छ, यसको अर्थ CPU प्राथमिक बाधा हो, निम्न सिफारिसहरू विचार गर्नुहोस्:
पहिले, Systrace वा Game Engine pro जस्ता प्रोफाइलिङ उपकरणहरू प्रयोग गर्नुहोस्।filer (युनिटी प्रोfiler, Unreal Insights) तपाईंको कोडको कुन भागहरूले सबैभन्दा धेरै CPU स्रोतहरू खपत गरिरहेका छन् भनेर विश्लेषण र पहिचान गर्न। यी क्षेत्रहरूलाई अनुकूलन गर्ने कुरामा ध्यान केन्द्रित गर्नुहोस् र CPU लोड कम गर्न कम्प्युटेशनली गहन एल्गोरिदमहरूलाई रिफ्याक्टर गर्नुहोस्।

  • नेटिभ डेभलपरको लागि, तपाईंले प्रोमा सिस्ट्रेस प्रयोग गर्न सक्नुहुन्छfileतपाईंको परियोजना।
  • युनिटी डेभलपरको लागि, तपाईंले CPU Usage Pro प्रयोग गर्न सक्नुहुन्छfileCPU कार्यसम्पादन समस्या फेला पार्न r मोड्युल।
  • अनरियल डेभलपरको लागि, तपाईंले CPU कार्यसम्पादन समस्या पत्ता लगाउन अनरियलको इनसाइट्स प्रयोग गर्न सक्नुहुन्छ।

दोस्रो, तपाईंले GPU लोडिङ कम गर्न निश्चित Wave सुविधाहरू वा सेटिङहरू समायोजन गर्ने प्रयास गर्न सक्नुहुन्छ।

  1. डिस्प्ले रिफ्रेस रेट ढिलो सेट गर्नुहोस् (खण्ड ३.१.१, खण्ड ४.१.१)
  2.  बहु- प्रयोग गर्नुहोस्View रेन्डरिङ (खण्ड ३.१.४, खण्ड ४.१.४)

यदि तपाईंको एप पनि MR एप हो भने, तपाईंले पासथ्रु सेटिङहरू पनि समायोजन गर्न सक्नुहुन्छ।

  1. पासथ्रु फ्रेमरेट ढिलो समायोजन गर्नुहोस् (खण्ड ३.२.२)।

CPU कार्यसम्पादनको बारेमा थप अन्य सेटिङहरूको लागि, तपाईंले अध्याय २.६ हेर्न सक्नुहुन्छ।

2.5 सारांश
अन्तमा, हामीले माथिको कार्यसम्पादन जाँच कार्यप्रवाहलाई चित्र २-५-१ मा व्यवस्थित गरेका छौं। सामग्रीको FPS जाँच गरेर सुरु गर्नुहोस्। यदि यो डिस्प्ले फ्रेमरेट भन्दा कम छ वा अस्थिर रहन्छ भने, त्यसपछि यो GPU-बाउन्ड वा CPUबाउन्ड हो कि भनेर निर्धारण गर्न GPU/CPU प्रयोगको विश्लेषण गर्नुहोस्। अन्तमा, एक पेशेवर प्रयोग गर्नुहोस्fileसम्भावित कार्यसम्पादन समस्याहरू पहिचान गर्न वा CPU कार्यसम्पादन अनुकूलन गर्न Wave सुविधाहरू वा सेटिङहरू समायोजन गर्न r।

VIVE VR रेन्डरिङ प्रदर्शन - चित्र १

२.६ कुन सेटिङहरूले CPU/GPU लोडिङ सुधार गर्न सक्छन् भन्ने द्रुत सन्दर्भ

CPU/GPU लोडिङसँग सम्बन्धित SDK को सेटिङहरू तल सूचीबद्ध गर्नुहोस्। तपाईं सान्दर्भिक अप्टिमाइजेसन सेटिङहरू जाँच गर्न एपको बाधामा आधारित हुन सक्नुहुन्छ।

CPU सँग सम्बन्धित:

  • VIVE Wave SDK सेटिङ
    o VR सामग्री
    ▪ ३.१.१ डिस्प्ले रिफ्रेस रेट
    ▪ ३.१.४ बहु-View प्रतिपादन
    ▪ ३.१.६ अनुकूलनीय गुणस्तर
    ▪ ३.१.७ अनुकूली गति कम्पोजिटर
    o एमआर सामग्री
    ▪ ३.२.२ पासथ्रु फ्रेम दर समायोजन गर्नुहोस्
  • VIVE OpenXR SDK सेटिङ
    o VR सामग्री
    ▪ ३.१.१ डिस्प्ले रिफ्रेस रेट
    ▪ ३.१.४ बहु-View प्रतिपादन
  • सामान्य अनुकूलन
    o ५.५ CPU स्पाइक

GPU सँग सम्बन्धित:

  • VIVE Wave SDK सेटिङ
    o VR सामग्री
    ▪ ३.१.१ डिस्प्ले रिफ्रेस रेट
    ▪ ३.१.२ आँखा बफर रिजोल्युसन
    ▪ ३.१.४ बहु-View प्रतिपादन
    ▪ ३.१.४ प्रोत्साहन
    ▪ ३.१.५ फ्रेम शार्पनेस एन्हान्समेन्ट (FSE)
    ▪ ३.१.६ अनुकूलनीय गुणस्तर
    ▪ ३.१.७ अनुकूली गति कम्पोजिटर
    ▪ ३.१.८ रेन्डर मास्क [अवास्तविक समर्थन गर्दैन] o MR सामग्री
    ▪ ३.२.१ पासथ्रु गुणस्तर समायोजन गर्नुहोस्
    ▪ ३.२.२ पासथ्रु फ्रेम दर समायोजन गर्नुहोस्
  • VIVE OpenXR SDK सेटिङ
    o VR सामग्री
    ▪ ३.१.१ डिस्प्ले रिफ्रेस रेट
    ▪ ३.१.२ आँखा बफर रिजोल्युसन
    ▪ ३.१.४ बहु-View प्रतिपादन
    ▪ ४.१.४ प्रस्तावना [अवास्तविकलाई समर्थन गर्दैन] ▪ ४.१.५ रेन्डर मास्क [अवास्तविकलाई समर्थन गर्दैन]
  • सामान्य अनुकूलन
    o ५.१ उच्च प्रदर्शन मोड बन्द गर्नुहोस्
    o ५.२ बहुampling
    o ५.३ GMEM लोड/स्टोर
    o ५.४ संरचना तह (बहु तह)

VIVE वेभ सेटिङ

VIVE Wave एउटा खुला प्लेटफर्म र उपकरणसेट हो जसले तपाईंलाई सजिलैसँग VR सामग्री विकास गर्न दिन्छ र तेस्रो-पक्ष साझेदारहरूको लागि उच्च-प्रदर्शन उपकरण अनुकूलन प्रदान गर्दछ। VIVE Wave ले Unity र Unreal खेल इन्जिनहरूलाई समर्थन गर्दछ।
हामी निरन्तर अप्टिमाइज र विभिन्न बगहरू समाधान गर्छौं, त्यसैले हामीले SDK लाई अद्यावधिक राख्न सिफारिस गर्यौं।
हाल, VIVE Wave ले OpenGL ES लाई मात्र समर्थन गर्दछ। यहाँ GPU कार्यसम्पादनमा प्रभाव अनुसार क्रमबद्ध सुविधाहरू सूचीबद्ध छन्। हामी यसलाई दुई भागमा विभाजन गर्नेछौं: VR सामग्री र MR सामग्री।
३.१ VR सामग्री
३.१.१ डिस्प्ले रिफ्रेस रेट

उच्च रिफ्रेस दरहरूले सहज दृश्यहरू प्रदान गर्दछ, तर बढेको प्रणाली लोडको मूल्यमा आउँछ। यसको विपरीत, कम रिफ्रेस दरहरूले प्रणाली लोड घटाउँछ, तर कम सहज दृश्यहरूको परिणाम दिन्छ। यदि एपमा CPU/GPU बाउन्ड समस्या छ भने, तपाईं समस्या कम गर्न डिस्प्ले रिफ्रेस दर घटाउने प्रयास गर्न सक्नुहुन्छ।

  • नेटिभ डेभलपरको लागि, WVR_SetFrameRate हेर्नुहोस्।
  • युनिटी विकासकर्ताको लागि, यो गाइड हेर्नुहोस्।
  • अवास्तविक विकासकर्ताको लागि, यो गाइड हेर्नुहोस्।

३.१.२ आँखा बफर रिजोल्युसन
आईबफर रिजोलुसन भनेको सामग्री एप रेन्डर गरिने बनावटको आकार हो, रेन्डर गरिएको बनावट पोस्टिङ प्रक्रिया गर्न र HMD डिस्प्लेमा प्रस्तुत गर्न रनटाइममा पेश गरिनेछ।
ठूलो आँखा बफर साइजले स्पष्ट र विस्तृत दृश्यहरू प्राप्त गर्न सक्छ, तर यसले GPU मा पनि महत्त्वपूर्ण भार थोपर्छ। त्यसकारण, दृश्य गुणस्तर र प्रदर्शन बीच सही सन्तुलन खोज्नु आवश्यक छ।
यदि एपमा GPU बाउन्ड समस्या छ भने, तपाईंले स्केल फ्याक्टरलाई गुणन गरेर आइबफर साइज घटाउने प्रयास गर्न सक्नुहुन्छ। यद्यपि, हामी स्केल फ्याक्टरलाई ०.७ भन्दा कम नघटाउन सिफारिस गर्छौं, किनकि यसले अस्वीकार्य दृश्य गुणस्तरमा परिणाम ल्याउन सक्छ।

  • नेटिभ डेभलपरको लागि, WVR_ObtainTextureQueue हेर्नुहोस्। आकार समायोजन गर्दा, तपाईंले चौडाइ र उचाइलाई अनुपातले गुणन गर्नुपर्छ।
  • युनिटी विकासकर्ताको लागि, WaveXRSettings हेर्नुहोस्।
    वैकल्पिक रूपमा, तपाईंले belwoe को रूपमा कोड मार्फत परिवर्तनहरू गर्न सक्नुहुन्छ।
    XRSettings.eyeTextureResolutionScale = रिजोल्युसनस्केलभ्यालु; // C#
  • अवास्तविक विकासकर्ताको लागि, SetPixelDensity हेर्नुहोस्।

६.२.२ बहु-View प्रतिपादन
परम्परागत रेन्डरिङमा, हामी बायाँ र दायाँ आँखा छुट्टाछुट्टै कोर्छौं, जसको लागि एउटै दृश्यको लागि दुईवटा ड्र कलहरू आवश्यक पर्दछ। बहु-View रेन्डरिङले एउटा मात्र ड्र कल गरेर यो समस्यालाई सम्बोधन गर्छ।
यो सुविधाले ड्र कलहरूको संख्या घटाएर CPU लोड घटाउँछ। GPU का केही फाइदाहरू पनि छन्, भर्टेक्स शेडरको कार्यभार पनि कम हुन्छ किनकि यसले अर्को आँखाको लागि अतिरिक्त शेडर चलाउन आवश्यक पर्दैन, तर फ्र्याग्मेन्ट शेडरको कार्यभार अपरिवर्तित रहन्छ किनकि यसले अझै पनि दुवै आँखाको लागि प्रत्येक पिक्सेलको मूल्याङ्कन गर्न आवश्यक छ। हामी यो सुविधा सक्षम गर्न सिफारिस गर्छौं।

  • नेटिभ डेभलपरको लागि, तपाईंले wvr_native_hellovr s हेर्न सक्नुहुन्छample।
  • युनिटी डेभलपरको लागि, रेन्डर मोड हेर्नुहोस्, एकल पास बहु-view सुविधा।
  • अवास्तविक विकासकर्ताको लागि, यो गाइड हेर्नुहोस्।

३.१.४ प्रोत्साहन
फोभिएटेड रेन्डरिङ मुख्यतया GPU लोड कम गर्न डिजाइन गरिएको हो। यसले डिस्प्लेको परिधीय भागमा फ्रेम विवरण घटाउँछ र क्षेत्रको केन्द्रमा उच्च रिजोल्युसन विवरण कायम राख्छ। view। यदि एपमा GPU बाउन्ड समस्या छ भने, तपाईं Foveation रेन्डरिङलाई eanbling गर्ने प्रयास गर्न सक्नुहुन्छ।

VIVE VR रेन्डरिङ प्रदर्शन - चित्र १

फोभेसन प्रयोग गर्दा ध्यान दिनुपर्ने कुराहरू छन्:

➢ प्रयोगकर्ताहरूले सामान्यतया पूर्वनिर्धारित फोभेसन मोड लागू गर्दा परिधीय क्षेत्रहरूमा घटाइएको विवरण याद गर्दैनन्। तर यदि फोभेसनको परिधीय गुणस्तर धेरै कम सेट गरिएको छ भने, यो प्रयोगकर्ताको लागि ध्यान दिन सकिन्छ।
➢ प्रयोगकर्ताको ध्यान खिच्न सक्ने निश्चित बनावटका सामग्रीहरूमा फोभिएशनको प्रभाव बढी देखिन सक्छ। विकासकर्ताहरूले यस बारे सचेत हुनुपर्छ र तदनुसार मूल्याङ्कन गर्नुपर्छ।
➢ फोभेटेड रेन्डरिङ सुविधा सक्षम गर्नाले निश्चित GPU कार्यसम्पादन लागत लाग्छ, जुन आँखा बफरको आकारमा निर्भर गर्दै १% देखि ६% सम्म फरक हुन सक्छ। दृश्यमा साधारण शेडर प्रयोग गर्दा, स्रोतहरू बचत गर्दा हुने कार्यसम्पादन लाभ निश्चित GPU कार्यसम्पादन लागत भन्दा कम हुन सक्छ, जसको परिणामस्वरूप कार्यसम्पादनमा गिरावट आउँछ।

  • नेटिभ डेभलपरको लागि, यो गाइड हेर्नुहोस्।
  • युनिटी विकासकर्ताको लागि, यो गाइड हेर्नुहोस्। उल्लेखनीय कुरा के छ भने, जब तपाईंले पोस्ट-प्रोसेसिङ वा HDR सक्षम गर्नुहुन्छ, फोभेसन पूर्ण रूपमा प्रयोग गर्न सकिँदैन। किनभने युनिटीले फोभेसनलाई समर्थन गर्ने रनटाइम-उत्पन्न गरिएको वर्तमानको रेन्डर टेक्सचरको सट्टा वस्तुहरूलाई आफ्नै उत्पन्न रेन्डर टेक्सचरमा रेन्डर गर्नेछ।
  • अवास्तविक विकासकर्ताको लागि, यो गाइड हेर्नुहोस्। उल्लेखनीय रूपमा, बहु-मा फोभेशन पूर्ण रूपमा प्रयोग गर्न सकिँदैन।View रेन्डरिङ, किनभने अनरियलले फोभेशनलाई समर्थन गर्ने रनटाइम-उत्पन्न रेन्डर बनावटमा वस्तुहरू सिधै रेन्डर गर्न सक्दैन।

३.१.५ फ्रेम शार्पनेस एन्हान्समेन्ट (FSE)
FSE ले शार्पन फिल्टरको परिचय दिएर शार्पन रेन्डरिङ परिणाम प्रदान गर्दछ, यसले सामग्रीलाई अझ स्पष्ट बनाउन सक्छ र दृश्यमा पाठको स्पष्टता सुधार गर्न धेरै उपयोगी हुन सक्छ। यदि एपमा GPU बाउन्ड समस्या छ भने, यदि यो आवश्यक छैन भने तपाईं FSE लाई असक्षम पार्ने विचार गर्न सक्नुहुन्छ।

VIVE VR रेन्डरिङ प्रदर्शन - चित्र १

  • नेटिभ डेभलपरको लागि, यो गाइड हेर्नुहोस्।
  • युनिटी विकासकर्ताको लागि, यो गाइड हेर्नुहोस्।
  • अवास्तविक विकासकर्ताको लागि, यो गाइड हेर्नुहोस्।

३.१.६ अनुकूलनीय गुणस्तर
ब्याट्री बचत गर्न र उपकरणको रेन्डरिङ कार्यसम्पादन कायम राख्न, यो सुविधाले CPU/GPU घडीको प्रयोगको आधारमा कार्यसम्पादन स्तरहरू स्वचालित रूपमा समायोजन गर्दछ। थप रूपमा, कार्यसम्पादन बढाउन अन्य रणनीतिहरू लागू गर्न सकिन्छ, जस्तै फोभेशन स्वचालित रूपमा सक्षम/असक्षम गर्ने वा उच्च/कम लोड घटनाहरू प्राप्त गर्दा सामग्री आफैं समायोजन गर्न सक्ने।

  • नेटिभ डेभलपरको लागि, यो गाइड हेर्नुहोस्।
  • युनिटी विकासकर्ताको लागि, यो गाइड हेर्नुहोस्। हाम्रो युनिटी प्लगइनमा, आँखा बफर साइज हालको कार्यसम्पादनको आधारमा स्वचालित रूपमा समायोजन गर्न सकिन्छ; टेक्स्ट साइजले रिजोल्युसन सूचीमा धेरै सानो स्केल मानहरू फिल्टर गर्नेछ। हामी कम्तिमा २० dmm वा सोभन्दा ठूलो साइजको टेक्स्ट सिफारिस गर्छौं।
  • अवास्तविक विकासकर्ताको लागि, यो गाइड हेर्नुहोस्।

३.१.७ एडाप्टिभ मोशन कम्पोजिटर
यो सुविधा प्रयोगात्मक सुविधा हो जसमा UMC र PMC समावेश छन्। UMC ले फ्रेम रेटलाई आधा घटाउनेछ र दृश्य सहजता कायम राख्न वास्तविक समयमा नयाँ फ्रेम एक्स्ट्रापोलेट गर्नेछ। यद्यपि, यो केही विलम्बता, कलाकृतिहरू र GPU लोडिङको साथ आउँछ।
PMC ले मुख्यतया ATW लाई HMD अनुवादको लागि खाता बनाउन अनुमति दिन डेप्थ बफर प्रयोग गर्दछ, 6-dof क्षतिपूर्तिमा विस्तार गर्दछ। यो सुविधाले अनुवाद विलम्बतालाई 1 ~ 2 फ्रेमले घटाउन सक्छ, तर GPU लोडिङ बढाउन सक्छ।

  • नेटिभ डेभलपरको लागि, यो गाइड हेर्नुहोस्।
  • युनिटी विकासकर्ताको लागि, यो गाइड हेर्नुहोस्।
  • अवास्तविक विकासकर्ताको लागि, यो गाइड हेर्नुहोस्।

३.१.८ रेन्डर मास्क [अवास्तविकलाई समर्थन गर्दैन]
किनारहरूमा रहेका पिक्सेलहरू विकृत भएपछि लगभग अदृश्य हुन्छन्, रेन्डर मास्कले यी अदृश्य पिक्सेलहरूको गहिराइ बफर मानहरू परिमार्जन गर्दछ। यदि तपाईंले गहिराइ परीक्षण सक्षम गर्नुभयो भने, early-z को कारणले गर्दा, यी अदृश्य पिक्सेलहरू रेन्डर हुनेछैनन्, जसले गर्दा GPU लोड कम हुन्छ। यी अदृश्य क्षेत्रहरूमा भारी-लोडिङ रेन्डरिङ वस्तुहरू छन् भने यो सुविधा उपयोगी हुन्छ; अन्यथा, यदि यी क्षेत्रहरूमा कुनै रेन्डरिङ वस्तुहरू छैनन् भने, यसलाई असक्षम गर्न सिफारिस गरिन्छ किनभने यसले सानो GPU प्रयोग खपत गर्नेछ।

  • नेटिभ डेभलपरको लागि, यो गाइड हेर्नुहोस्। RenderMask कल गर्नु अघि तपाईंले डेप्थ बफरलाई बाइन्डिङ गर्नुपर्छ; अन्यथा, यो अप्रभावी हुनेछ।
  • युनिटी विकासकर्ताको लागि, यो गाइड हेर्नुहोस्।
  • अवास्तविक विकासकर्ताको लागि, हाल रेन्डर मास्क सुविधालाई समर्थन गर्दैन।

३.२ एमआर सामग्री
३.२.१ पासथ्रु गुणस्तर समायोजन गर्नुहोस्
पासथ्रु छवि गुणस्तरको लागि ३ स्तरहरू छन्:
➢ WVR_PassthroughImageQuality_DefaultMode – विशेष माग बिना MR सामग्रीको लागि उपयुक्त।
➢ WVR_PassthroughImageQuality_PerformanceMode – भर्चुअल दृश्य रेन्डरिङको लागि थप GPU स्रोत चाहिने MR सामग्रीको लागि उपयुक्त।
➢ WVR_PassthroughImageQuality_QualityMode – प्रयोगकर्ताहरूलाई वरपरको वातावरण स्पष्ट रूपमा हेर्न अनुमति दिने MR सामग्रीको लागि उपयुक्त, तर सामग्रीको भर्चुअल दृश्यमा प्रदर्शनको लागि अझ राम्रो ट्युनिङ हुनुपर्छ।
GPU प्रयोग कम गर्न तपाईंले पासथ्रु गुणस्तरलाई PerformanceMode मा समायोजन गर्न सक्नुहुन्छ।

  • नेटिभ, युनिटी वा अवास्तविक विकासकर्ताको लागि, यो गाइड हेर्नुहोस्।

३.२.२ पासथ्रु फ्रेम दर समायोजन गर्नुहोस्
डिस्प्ले रिफ्रेस दर जस्तै, उच्च पासथ्रु फ्रेमरेटले सहज दृश्यहरू प्रदान गर्दछ, तर बढेको प्रणाली लोडको लागतमा आउँछ। यसको विपरीत, कम रिफ्रेस दरहरूले प्रणाली लोड घटाउँछ, तर कम सहज दृश्यहरूको परिणाम दिन्छ। पासथ्रु फ्रेमरेटका २ मोडहरू छन्: बूस्ट र सामान्य।

  • नेटिभ डेभलपरको लागि, WVR_SetPassthroughImageRate प्रयोग गरेर पासथ्रु गुणस्तर समायोजन गर्न सकिन्छ।
  • युनिटी विकासकर्ताको लागि, कोड मार्फत परिवर्तन गर्न सकिन्छ, उदाहरणका लागिampसेटिङहरू यस प्रकार छन् // C#
    इन्टरअप.WVR_सेटपासथ्रुइमेजक्वालिटी(WVR_पासथ्रुइमेजक्वालिटी.प्रदर्शनमोड);
  • अवास्तविक विकासकर्ताको लागि, सेटिङ विधि चित्र ३-२-२ मा ब्लुप्रिन्ट नोड हेर्नुहोस्।

VIVE VR रेन्डरिङ प्रदर्शन - चित्र १

VIVE OpenXR सेटिङ

OpenXR एउटा खुला मानक हो जसले Khronos Group द्वारा विकसित VR उपकरणहरूको विस्तृत दायरामा चल्ने XR अनुप्रयोगहरू विकास गर्न API हरूको साझा सेट प्रदान गर्दछ। VIVE Focus 3 र VIVE XR Elite ले OpenXR लाई पनि समर्थन गर्दछ, VIVE OpenXR SDK ले HTC VR उपकरणहरूको लागि व्यापक समर्थन प्रदान गर्दछ, जसले विकासकर्ताहरूलाई HTC VR उपकरणहरूमा Allin-One र Unreal इन्जिनको साथ सामग्री निर्माण गर्न अनुमति दिन्छ। हामी निरन्तर रूपमा विभिन्न बगहरूलाई अनुकूलन र समाधान गर्छौं, त्यसैले विकासकर्ताहरूले आफ्नो उपकरणको FOTA संस्करणलाई अद्यावधिक राख्न अद्यावधिक गर्न सिफारिस गरिन्छ। हाल, VIVE OpenXR SDK ले OpenGL ES र Vulkan लाई समर्थन गर्दछ।

३.१ VR सामग्री
३.१.१ डिस्प्ले रिफ्रेस रेट
यहाँको अवधारणा ३.१.१ डिस्प्ले रिफ्रेस रेट जस्तै छ।

  • नेटिभ डेभलपरको लागि, XrEventDataDisplayRefreshRateChangedFB हेर्नुहोस्।
  • युनिटी विकासकर्ताको लागि, यो गाइड हेर्नुहोस्।
  • अवास्तविक विकासकर्ताको लागि, यो गाइड हेर्नुहोस्।

३.१.२ आँखा बफर रिजोल्युसन
यहाँको अवधारणा ३.१.२ आइबफर रिजोल्युसनसँग मिल्दोजुल्दो छ। हामी स्केल फ्याक्टरलाई ०.७ भन्दा कम नघटाउन सिफारिस गर्छौं, किनकि यसले अस्वीकार्य दृश्य गुणस्तरमा परिणाम ल्याउन सक्छ।

  • नेटिभ डेभलपरको लागि, xrCreateSwapchain हेर्नुहोस्। साइज समायोजन गर्दा, तपाईंले चौडाइ र उचाइलाई अनुपातले गुणन गर्नुपर्छ। ,
  • युनिटी विकासकर्ताको लागि, निम्न उदाहरण हेर्नुहोस्ampले // C#
    XRSettings.eyeTextureResolutionScale = ०.७f; //सिफारिस गरिएको १.०f~०.७f
  • अवास्तविक सेटिङहरूको लागि, यो गाइड हेर्नुहोस्।

६.२.२ बहु-View प्रतिपादन
यहाँको अवधारणा ३.१.३ बहु- जस्तै छ।View रेन्डरिङ। यो सुविधाले CPU मा भार कम गर्छ, GPU का पनि केही फाइदाहरू छन्। हामी यो सुविधा सक्षम गर्न सिफारिस गर्छौं।

  • नेटिभ डेभलपरको लागि, KhronosGroup ले OpenXR Multi- प्रदान गर्दछ।View exampले, यो गाइड हेर्नुहोस्।
  • युनिटी डेभलपरको लागि, रेन्डर मोड हेर्नुहोस्, एकल पास बहु-view सुविधा।
  • VIVE Wave सेटिङहरू जस्तै, अवास्तविक विकासकर्ताको लागि, यो गाइड हेर्नुहोस्।

४.१.४ प्रस्ताव [अवास्तविकलाई समर्थन गर्दैन]
यहाँको अवधारणा ३.१.४ फोभेसनसँग मिल्दोजुल्दो छ। फोभेटेड रेन्डरिङ मुख्यतया GPU लोड कम गर्न डिजाइन गरिएको हो तर यसलाई सक्षम गर्नाले निश्चित GPU कार्यसम्पादन लागत लाग्नेछ र यदि फोभेसन धेरै कम सेट गरिएको छ र निश्चित सामग्री वा बनावटहरू प्रयोग गरिएको छ भने, यो धेरै हुन सक्छ।
प्रयोगकर्ताले देख्न सक्ने। त्यसकारण, तपाईंको विशिष्ट आवश्यकताहरू र कार्यसम्पादन विचारहरूको आधारमा सुविधा सक्षम वा असक्षम गर्नु उचित हुन्छ। हाल, Foveated कार्यक्षमता VIVE OpenXR SDK मा OpenGL ES मा मात्र समर्थित छ।

  • नेटिभ डेभलपरको लागि, यो सुविधा उपलब्ध छ, तर हाल, कुनै पूर्व छैनamples प्रदान गरिन्छ।
  • युनिटी विकासकर्ताको लागि, यो गाइड हेर्नुहोस्।
  • अवास्तविक विकासकर्ताको लागि, अहिले यो सुविधालाई समर्थन गर्दैन।

३.१.८ रेन्डर मास्क [अवास्तविकलाई समर्थन गर्दैन]
यहाँको अवधारणा ३.१.८ रेन्डर मास्क जस्तै छ।

  • नेटिभ डेभलपरको लागि, मेष प्राप्त गर्न XrVisibilityMaskKHR प्रयोग गर्नुहोस्। दृश्य रेन्डर गर्नु अघि, दृश्य रेन्डर गर्नु अघि गहिराई बफर मानहरू भर्न यो मेष प्रयोग गर्नुहोस्।
  • युनिटी विकासकर्ताको लागि, रेन्डर मास्क सुविधा OpenGL ES को लागि पूर्वनिर्धारित रूपमा सक्षम पारिएको छ, र निम्न कोड प्रयोग गरेर असक्षम गर्न सकिन्छ; Vulkan ले हाल यो सुविधालाई समर्थन गर्दैन। //C# UnityEngine.XR.XRSettings.occlusionMaskScale = 0.0f;
  • अवास्तविक विकासकर्ताको लागि, हाल रेन्डर मास्क सुविधालाई समर्थन गर्दैन।

३.२ एमआर सामग्री
OpenXR ले हाल पासथ्रु गुणस्तर र फ्रेम दर सेटिङलाई समर्थन गर्दैन। हामी पासथ्रु सुविधालाई अप्टिमाइज र फिक्स गर्न जारी राख्नेछौं, त्यसैले विकासकर्ताहरूलाई उपकरणको FOTA संस्करण अद्यावधिक राख्न सिफारिस गरिन्छ।

सामान्य अनुकूलन

५.१ उच्च प्रदर्शन मोड बन्द गर्नुहोस्
"उच्च प्रदर्शन मोड" बन्द गर्नाले उपकरणको डिस्प्ले आकार घटाउन सक्छ, जसले गर्दा GPU प्रयोग घट्न सक्छ। यसको बेफाइदा भनेको स्क्रिन रिजोलुसनमा कमी हो। यसलाई सक्षम गर्ने कि नगर्ने भनेर निर्णय गर्न तपाईंले गुणस्तर र प्रदर्शन सन्तुलन गर्न सक्नुहुन्छ।
VIVE फोकस ३ को लागि सेटिङ स्थान चित्र ५-१-१ देखाइएको छ:

VIVE VR रेन्डरिङ प्रदर्शन - चित्र १

VIVE XR Elite को लागि सेटिङ स्थान चित्र ५-१-२ देखाइएको छ:

VIVE VR रेन्डरिङ प्रदर्शन - चित्र १

5.2 बहुहरूampलिंग एन्टी-एलियाजिङ
मल्टिसampling एउटा एन्टी-एलाइजिङ प्रविधि हो जुन दाँतेदार किनारहरूलाई सहज बनाउन प्रयोग गरिन्छ, सामान्यतया हार्डवेयर मार्फत द्रुत गरिन्छ, जसले GPU कार्यसम्पादन लागत खर्च गर्छ। हामी MSAA लाई 2x भन्दा माथि सेट नगर्न सिफारिस गर्छौं किनभने अधिक उच्च मानले अधिक gpu उपयोग खपत गर्नेछ।

  • नेटिभ डेभलपरको लागि, MSAA OpenGL ES exsampले यसलाई सन्दर्भ गर्न सक्छ; MSAA Vulkan पूर्वampले यसलाई सन्दर्भ गर्न सक्नुहुन्छ।
    एड्रेनो GPU ले MSAA लाई अप्टिमाइज गर्ने एक्सटेन्सन प्रदान गर्दछ।
  • युनिटी डेभलपरको लागि, यो गिल्ड हेर्नुहोस्।
  • अनरियल डेभलपरको लागि, यो गिल्ड हेर्नुहोस्। अनरियलमा पोस्ट प्रोसेसिङ एन्टी-एलाइजिङ पनि छ, यो गिल्ड हेर्नुहोस्।

५.३ GMEM लोड/स्टोर
Adreno GPU आर्किटेक्चरमा, एउटा सुविधा छ जहाँ, Render Target लाई बाइन्ड गर्दा, यदि Render Target खाली वा अमान्य हुँदैन भने, प्रत्येक पटक रेन्डरिङ हुँदा, Render Target मा भएका मानहरू ग्राफिक्स मेमोरीमा लोड हुन्छन्, जसलाई GMEM लोड भनिन्छ। यदि अघिल्ला मानहरू आवश्यक पर्दैन भने, GPU कार्यसम्पादन सुधार गर्न Render Target लाई खाली वा अमान्य गर्नाले यो अवस्थाबाट बच्न सकिन्छ।
तपाईंले निम्न विधिहरू प्रयोग गरेर GMEM लोडबाट बच्न सक्नुहुन्छ। OpenGL ES मा, FBO लाई बाइन्ड गरेपछि, तपाईंले Color, Depth, र Stencil बफर खाली गर्न glClear र glClearDepth लाई कल गर्न सक्नुहुन्छ, वा निर्दिष्ट Render Target लाई अमान्य गर्न glInvalidateFramebuffer लाई कल गर्न सक्नुहुन्छ। Vulkan मा, थप निर्देशनहरू आवश्यक छैनन्; तपाईंले VkAttachmentDescription.loadOp मा प्रयोग गर्नु अघि संलग्नक खाली गर्ने कि नगर्ने भनेर स्पष्ट रूपमा सेट गर्न सक्नुहुन्छ।
त्यसैगरी, ग्राफिक्स मेमोरीबाट टाइल रेन्डरको नतिजालाई मुख्य मेमोरीमा भण्डारण गर्नुलाई GMEM स्टोर भनिन्छ; यो अपरेशन GPU को लागि पनि महँगो छ। यसबाट बच्नको लागि, हामी अनावश्यक स्टोर अपरेशनहरू रोक्न आवश्यक रेन्डर लक्ष्यहरू मात्र बाइन्डिङ गर्न सिफारिस गर्छौं।

५.४ संरचना तह (बहु तह)
बहु-तह प्रयोग गरेर प्रदर्शित बनावटहरूको दृश्य गुणस्तर राम्रो हुन्छ। यद्यपि, यो सुविधाले तहहरूको संख्या र बनावटको आकारसँगै GPU कार्यसम्पादनलाई उल्लेखनीय रूपमा बढाउँछ। हामी तीन तहभन्दा बढी नगर्न सिफारिस गर्छौं।

  • नेटिभ डेभलपरको लागि,
    o VIVE Wave SDK ले प्रत्येक तहको लागि डेटा पास गर्न WVR_SubmitFrameLayers प्रयोग गर्दछ।
    o VIVE OpenXR SDK ले तह डेटा XrFrameEndInfo मा राख्छ र xrEndFrame मार्फत पेश गर्छ।
  • युनिटी विकासकर्ताको लागि,
    o VIVE Wave SDK सेटिङहरू, यो गाइड हेर्नुहोस्,
    o VIVE OpenXR सेटिङहरू, यो गाइड हेर्नुहोस्।
  • अवास्तविक विकासकर्ताको लागि,
    o VIVE Wave SDK सेटिङहरू, यो गाइड हेर्नुहोस्।
    o VIVE OpenXR सेटिङहरू, यो गाइड हेर्नुहोस्।

५.५ CPU स्पाइक
जब CPU लोडिङ भारी हुन्छ, केही पृष्ठभूमिमा उच्च प्राथमिकता भएका थ्रेडहरू प्रशोधन गरिन्छन्, यसले नेटिभ कार्यान्वयनमा बाधा पुर्‍याउन सक्छ। हामी ग्यारेन्टी दिन सक्दैनौं कि सामग्री अनुप्रयोग अन्य थ्रेडद्वारा अवरोधित हुनेछैन।
यदि यस्ता समस्याहरू देखा पर्छन् भने, तपाईंले थ्रेड प्राथमिकता बढाउने प्रयास गर्न सक्नुहुन्छ कि यसले समस्या समाधान गर्छ कि गर्दैन। तर यदि तपाईंले उपकरणहरूको लागि अनुकूलन गर्न थ्रेड कन्फिगरेसन परिवर्तन गर्नुभयो भने, तपाईंले यसको कुनै नकारात्मक प्रभाव छ कि छैन भनेर जाँच गर्न आवश्यक छ।

  • युनिटी डेभलपरको लागि, एन्ड्रोइड थ्रेड कन्फिगरेसन सुविधा हेर्नुहोस्। यदि तपाईं VIVE Wave SDK प्रयोग गर्दै हुनुहुन्छ भने, हामीसँग WaveXRSettings मा एउटा सुविधा छ जसले तपाईंलाई प्राथमिकता समायोजन गर्न अनुमति दिन्छ, जस्तै चित्र 5-5-2 मा देखाइएको छ। सानो मानले उच्च प्राथमिकतालाई प्रतिनिधित्व गर्दछ।

VIVE VR रेन्डरिङ प्रदर्शन - चित्र १

  • तपाईंले इन्जिन कोड परिमार्जन नगरेसम्म बाह्य सेटिङहरू मार्फत खेल थ्रेड, रेन्डरिङ थ्रेड र RHI थ्रेड प्राथमिकता परिवर्तन गर्ने कुनै अवास्तविक तरिका छैन।

प्रतिलिपि अधिकार © २०२४ HTC कर्पोरेशन। सबै अधिकार सुरक्षित।VIVE लोगो

कागजातहरू / स्रोतहरू

VIVE VR रेन्डरिङ प्रदर्शन [pdf] प्रयोगकर्ता गाइड
VR रेन्डरिङ प्रदर्शन, रेन्डरिङ प्रदर्शन, प्रदर्शन

सन्दर्भहरू

एक टिप्पणी छोड्नुहोस्

तपाईंको इमेल ठेगाना प्रकाशित गरिने छैन। आवश्यक क्षेत्रहरू चिन्ह लगाइएका छन् *