عمر العنصر والموارد

يميز Azure Remote Rendering بين نوعين: الكائناتوالموارد.

عمر الكائن

تعتبر الكائنات أشياء يمكن للمستخدم إنشاؤها وتعديلها وتدميرها وفقا لتقديره الخاص. قد يتم تكرار الكائنات بحرية ويمكن لكل مثيل أن يتحور بمرور الوقت. وبالتالي فإن الكياناتوالمكونات هي كائنات.

عمر الكائنات تحت سيطرة المستخدم بالكامل. ومع ذلك ، فإنه لا يرتبط بعمر التمثيل من جانب العميل. فئات مثل Entity ولها ComponentDestroy وظيفة يجب استدعاؤها للتعامل مع الكائن على مضيف العرض عن بعد. بالإضافة إلى ذلك ، Entity.Destroy() سوف يدمر الكيان وأطفاله وجميع المكونات في هذا التسلسل الهرمي.

عمر المورد

الموارد هي الأشياء التي تتم إدارة عمرها بالكامل بواسطة مضيف العرض عن بعد. الموارد هي مرجع يتم حسابه داخليا. يتم إلغاء تخصيصها عندما لا يشير إليها أحد بعد الآن.

لا يمكن إنشاء معظم الموارد إلا بشكل غير مباشر، عادة عن طريق تحميلها من ملف. عند تحميل الملف نفسه عدة مرات، سيقوم عرض Azure عن بعد بإرجاع المرجع نفسه، ولن يتم تحميل البيانات مرة أخرى.

العديد من الموارد غير قابلة للتغيير ، على سبيل المثال الشبكاتوالقوام. بعض الموارد قابلة للتغيير ، على سبيل المثال المواد. نظرا لمشاركة الموارد في كثير من الأحيان، قد يؤثر تعديل مورد على كائنات متعددة. على سبيل المثال ، سيؤدي تغيير لون المادة إلى تغيير لون جميع الكائنات التي تستخدم الشبكات ، والتي بدورها تشير إلى تلك المادة.

موارد مدمجة

يحتوي Azure Remote Rendering على بعض الموارد المضمنة، والتي يمكن تحميلها عن طريق تحديد المعرف builtin:// الخاص بها مسبقا أثناء الاستدعاء إلى RenderingSession.Connection.LoadXYZAsync(). يتم سرد الموارد المضمنة المتاحة في الوثائق الخاصة بكل ميزة على حدة. على سبيل المثال ، يسرد فصل السماء قوام السماء المدمج.

العمر العام

عمر جميع الكائنات والموارد مرتبط بالاتصال. على قطع الاتصال يتم تجاهل كل شيء. عند إعادة الاتصال بنفس الجلسة، سيكون الرسم البياني للمشهد فارغا ويتم تطهير جميع الموارد.

في الممارسة العملية ، عادة ما يكون تحميل نفس المورد في جلسة عمل ، بعد قطع الاتصال ، أسرع من المرة الأولى. هذا هو الحال لأنه يجب تنزيل معظم الموارد من Azure Storage في المرة الأولى ، وهو أمر غير ضروري في المرة الثانية ، مما يوفر قدرا كبيرا من الوقت.

الخطوات التالية