اعتبارات الأداء ل Direct3D9 و إمكانية التشغيل التفاعلى ل WPF

يمكن اضافة محتوى Direct3D9 باستخدام الفئة D3DImage. استضافة محتوى Direct3D9 يمكن أن يؤثر على أداء التطبيق الخاص بك. يصف هذا الموضوع أفضل الممارسات لتحسين الأداء عند استضافة محتوى Direct3D9 في تطبيق (Windows Presentation Foundation (WPF. هذه أفضل الممارسات تتضمن كيفية استخدام D3DImage و أفضل الممارسات عند استخدام Windows Vista و Windows XP و ‏‫اجهزة عرض متعددة‬.

ملاحظةملاحظة

للحصول على أمثلة التعليمات البرمجية التي تشرح هذه أفضل الممارسات ،راجع إنشاء محتوى Direct3D9 التي يمكن استضافته في WPF.

استخدم D3DImage باقتصاد.‬

محتوى Direct3D9 تتم استضافتها في مثيل D3DImageلم تقدم سريعا كما في خالص التطبيق Direct3D. نسخ السطح و مسح المخزن المؤقت لموجه الأوامر‬ يمكن أن تكون عمليات مكلفة. حيث أن عدد المثيلاتD3DImage يزيد ،يحدث مزيد من المسح و يضعف الأداء. لذلك، يجب استخدام D3DImage بقلة.

أفضل الممارسات على Windows Vista

للحصول على أفضل أداء على نظام التشغيل Windows Vista ‏‫مع عرض مكونًا لاستخدام (Windows Display Driver Model (WDDM ،قم بإنشاء سطح Direct3D9 على جهاز IDirect3DDevice9Ex. وهذا يمكّن مشاركة السطح. يجب أن تدعم بطاقة الفيديو قدرات برنامج تشغيل الجهازD3DDEVCAPS2_CAN_STRETCHRECT_FROM_TEXTURES و D3DCAPS2_CANSHARERESOURCEعلى Windows Vista. أي إعدادات أخرى تتسبب في نسخ السطح من خلال برنامج، مما يقلل من الأداء بشكل ملحوظ..

ملاحظةملاحظة

إذا كان Windows Vista له عرض الذي تم تكوينه لاستخدام في Windows XP عرض برنامج تشغيل طراز (XDDM) ، يتم دوماً نسخ السطح من خلال برنامج، بغض النظر عن الإعدادات.مع الإعدادات المناسبة وبطاقة الفيديو سترى أداء أفضل على نظام التشغيل Windows Vista عند استخدام WDDM لأنه يتم تنفيذ نسخ السطح في الأجهزة.

أفضل ممارسات في Windows XP

للحصول على أفضل أداء في Windows XP، والذي يستخدم في Windows XP عرض برنامج تشغيل طراز (XDDM) ،قم بإنشاء سطح قابل للتأمين الذي يتصرف بشكل صحيح عند استدعاء الأسلوب IDirect3DSurface9::GetDC. داخليًا,الأسلوب BitBlt ينقل السطح عبر الأجهزة في الأجهزة. الأسلوب GetDC يعمل دوماً على أسطح XRGB، إلا أنه يعمل فقط على أسطح ARGB إذا كان لدى المستخدم Windows XP SP2 أو Windows XP SP3 مع نافذة الإصلاح العاجل ذو طبقات. يجب أن تدعم بطاقة الفيديو بالقدرة على برنامج تشغيل الجهازD3DDEVCAPS2_CAN_STRETCHRECT_FROM_TEXTURES.

16-بت عمق ‏‫شاشة عرض سطح المكتب يمكنها تقليل الأداء بشكل كبير. 32-بت شاشة عرض سطح المكتب هي المستحسنة.

إذا كنت تقوم بتطوير لـWindows Vista و Windows XP، قم باختبار الأداء على نظام التشغيل Windows XP. نفاد ذاكرة الفيديو في Windows XP يؤخذ في الاعتبار. بالإضافة إلى ذلك،D3DImage في Windows XP يستخدم ذاكرة الفيديو والنطاق الترددي أكثر من WDDM Vista، بسبب وجود نسخة إضافية ضرورية لذاكرة الفيديو. لذلك، يمكنك توقع الأداء أن يكون أسوأ على XP من Vista لنفس جهاز الفيديو.

ملاحظةملاحظة

يتوفر XDDM على كلا Windows XP و Windows Vista، ومع ذلك، يتوفر WDDM فقط على Windows Vista.

أفضل الممارسات العامة.

عند إنشاء الجهاز، استخدم إشارة الإنشاءD3DCREATE_MULTITHREADED. وهذا يقلل الأداء، ولكن نظام التقديم WPF يستدعي الأساليب على هذا الجهاز من مؤشر ترابط آخر. تأكد من إتباع بروتوكول تأمين بشكل صحيح، بحيث لا يكون أي من اثنين مؤشرات الترابط يتصلوا بالجهاز في نفس الوقت.

في حالة تنفيذ التقديم الخاص بك على مؤشر ترابط WPF ‏تمت إدراته،‬ فمن المستحسن إنشاء الجهاز مع إشارة الإنشاءD3DCREATE_FPU_PRESERVE. بدون هذا الإعداد، التقديم D3D يمكن أن يقلل دقة عمليات الدقة المزدوجة WPF و تقديم ‏‫إصدارات‬ التقديم.

تجانب D3DImage هو السريع, إلا إذا تجانبت سطح غير-pow2 بدون دعم الأجهزة، أو إذا كنت تجانبت DrawingBrush أو VisualBrush الذي يحتوي على D3DImage.

أفضل ممارسات لأجهزة عرض متعددة‬.‬

إذا كنت تستخدم أحد أجهزة كمبيوتر التي تحتوي على أجهزة عرض متعددة, يجب اتباع أفضل الممارسات التي تم وصفها مسبقاً. هناك أيضاً بعض الاعتبارات الإضافية حول الأداء لتكوين أجهزة عرض متعددة.

عند إنشاء المخزن المؤقت الخلفي، يتم إنشاؤه على جهاز محدد و محول، ولكن قد يعرض WPF المخزن المؤقت الأمامي على أي محول. نسخ عبر المحولات لتحديث المخزن المؤقت الأمامي يمكن أن يكون مكلف جدًا. على Windows Vista المكون لاستخدام ال WDDM مع بطاقات فيديو عديدة و مع جهاز IDirect3DDevice9Ex ، في حالة وجود المخزن المؤقت الأمامي على محول مختلف ولكن لا تزال نفس بطاقة الفيديو ،لا يوجد انخفاض في الأداء. ومع ذلك، في Windows XP وال XDDM مع بطاقات فيديو متعددة ، يوجد انخفاض كبير في الأداء عند عرض المخزن المؤقت الأمامي على محول مختلف من المخزن المؤقت الخلفي. لمزيد من المعلومات، راجع إنشاء محتوى Direct3D9 التي يمكن استضافته في WPF.

ملخص الأداء.

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

سطح تنسيق البكسل

نظام التشغيل Windows Vista وWDDM و 9Ex

تكوينات أخرى لWindows Vista

Windows XP SP3 أو SP2 مع الإصلاح العاجل

Windows XP SP2

D3DFMT_X8R8G8B8 (ليست قابلة للتأمين)

تحديث أجهزة

تحديث البرنامج

تحديث البرنامج

تحديث البرنامج

D3DFMT_X8R8G8B8 (قابلة للتأمين)

تحديث أجهزة

تحديث البرنامج

تحديث أجهزة

تحديث أجهزة

D3DFMT_A8R8G8B8 (ليست قابلة للتأمين)

تحديث أجهزة

تحديث البرنامج

تحديث البرنامج

تحديث البرنامج

D3DFMT_A8R8G8B8 (قابلة للتأمين)

تحديث أجهزة

تحديث البرنامج

تحديث أجهزة

تحديث البرنامج

راجع أيضًا:

المهام

الإرشادات التفصيلية: إنشاء محتوى Direct3D9 للاستضافة في WPF

الإرشادات التفصيلية: استضافة محتوى Direct3D9 في WPF

المرجع

D3DImage

المبادئ

إنشاء محتوى Direct3D9 التي يمكن استضافته في WPF