7.8
استمتع بالملايين من أحدث تطبيقات Android والألعاب والموسيقى والأفلام والتلفزيون والكتب والمجلات والمزيد. في أي وقت ، في أي مكان ، عبر أجهزتك.
يستهدف هذا التطبيق المطورين ، أو أي شخص فضولي بشأن اختلافات الأداء بين OpenGL و Canvas. على وجه التحديد ، يقيس أداء الرسم 2D العفاريت بشكل صريح باستخدام OpenGL ES 2.0 مع مجموعة هجينة من Java و C ، ورسم العفاريت ثنائية الأبعاد باستخدام قماش مع Java.
عند الانتهاء من إجراء اختبار ، يمكنك رؤية تحليل قياسي للأداء عن طريق الضغط على زر ظهر الجهاز.
يشبه اختبار طريقة Sprite بواسطة Chris Pruett ، ولكن يتم تحديثه لـ OpenGL ES 2.0. يدير اختبار طريقة Sprite الخاص به ES 1.0 عفا عليه الزمن ، ويتم كسره على Bean Jelly (بسبب التخزين المؤقت Tripple).
يعمل هذا التطبيق على جميع الأجهزة التي تدعم OpenGL ES 2.0.
هذا خالٍ من الإعلان وخالي من النغمة.
مزيد من التفاصيل:
على وجه التحديد ، يقيس هذا التطبيق أداء الرسم 2D العفاريت بشكل صريح باستخدام OpenGL ES 2.0 مع مجموعة هجينة من Java و C ، ورسم العفاريت ثنائية الأبعاد باستخدام قماش مع Java.
على كل إطار:
يتحول لون الخلفية قليلاً ، ينبض بين الأحمر والأبيض.
كل العفريت يتحرك كمية عشوائية (غوسية). إذا تجاوز مركز العفريت على حافة الشاشة ، ينتقل العفريت إلى موقع شاشة عشوائي.
يستخدم اختبار Canvas A SurfaceView و Canvas.DrawbitMap (). تتم جميع الحسابات في Java (باستخدام Random.NextGaussian () و Random.NextFloat ()) على تعويم [].
تستخدم اختبارات OpenGL ES 2.0 GLSurfaceView في Java. يتم الحساب في C (باستخدام Drand48 () ومكافئ C ما يعادل خوارزمية Gaassian Java) على تعويم أصلي []. يتم الرسم أيضًا في C ، باستخدام GldrawArrays (GL_Points ، ...). تسمى أساليب C (NDK) كل إطار من Java من خلال JNI.
جميع الاختبارات لها النفقات العامة المتطابقة لعمليات التنميط في جافا.
إحصائيات:
تتعلق معلومات FPS عندما يتم نشر الإطارات فعليًا على الشاشة (من الناحية الفنية ، SurfaceFlinger).
معلومات السحب تدور حول الوقت الذي يستغرقه إصدار (و glflush () + glfinish () ، في اختبار OpenGL) أوامر الرسم. لا يحسب الوقت لقلب المخازن المؤقتة في الواقع.
معلومات الدفع (VBO فقط) تدور حول الوقت الذي يستغرقه دفع بيانات Vertex إلى المخزن المؤقت لـ GPU. سيكون هذا في كثير من الأحيان <.5ms (الذي يدور إلى 0.000s) لكل إطار. عند استخدام اختبار OpenGL غير VBO ، يتم تضمين هذه المرة بشكل أساسي في وقت السحب بدلاً من ذلك. في التطبيقات العملية ، قد يستغرق الأمر وقتًا أطول لدفع البيانات إلى وحدة معالجة الرسومات. يحتوي هذا المثال على VBO واحد فقط (أو صفيف قمة الرأس) مع 2 عوامات لكل العفريت. سيكون للتطبيقات العملية المزيد من البيانات (مثل معلومات الحجم والملمس).
معلومات CALC تدور حول الوقت الذي يستغرقه حساب لون خلفية الإطار والموضع الجديد لكل Sprite. عند تمكين JIT ، يكون وقت الحساب قابلاً للمقارنة بين اختبار Java (Canvas) واختبارات (GL) الأصلية ، ولكن مع تعطيل JIT ، تعاني Java من عقوبة كبيرة.
March 14, 2025
March 14, 2025
March 14, 2025
March 13, 2025
March 13, 2025
March 13, 2025
March 13, 2025
March 13, 2025
March 13, 2025
March 12, 2025
March 12, 2025
March 12, 2025