بعد التحديث إلى Mavericks، يقوم برنامج OpenGL الخاص بي يدير Vertex Shader على وحدة المعالجة المركزية

StackOverflow https://stackoverflow.com//questions/21001453

  •  20-12-2019
  •  | 
  •  

سؤال

لدي برنامج كبير C ++ OpenGL يعمل مع أداء عال للغاية تحت أسد الجبل. بعد التحديث إلى Mavericks وإعادة ترجمة، انخفض الأداء بشكل كبير. عن طريق التبديل بين شرائط المثلث والمثلثات نظرا لأن نوع الكائن الذي يتم تقديمه ورؤية انخفاض في الأداء من خلال عامل آخر 2 أو 3، فأنا تحت الانطباع بأنه يجب أن يكون برنامج Vertex Shader هو سبب المشكلة وإعطاء مدى بسيطة، أظن أنه يعمل في البرنامج على وحدة المعالجة المركزية بدلا من GPU. كيف يمكنني استعادة الأداء الذي كان لدي تحت الأسد الجبلية؟هل هناك بعض التغييرات التي أحتاج إليها؟

مصدر مظلل قمة الرأس أدناه.يغذي هندسة التظليل التالي.

giveacodicetagpre.

مقابل 180،000 مثلثات، يمكنني فقط الحصول على 3FPS عند تغذية مثل المثلثات وحوالي 8 عند تغذية كشرائط.يتم طلب المثلث وفقا لخوارزمية التحسين في فورسيث لتحويل ذاكرة التخزين المؤقت للتحويل.

هل كانت مفيدة؟

المحلول

الحل: تأكد من استخدام جميع مخازن المتجهات التي تتم إضافتها إلى VAO في Vertex Shader.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top