7.8
เพลิดเพลินไปกับแอพ Android เกมเกมเพลงภาพยนตร์ทีวีหนังสือนิตยสารและอื่น ๆ อีกมากมาย ทุกที่ทุกเวลาข้ามอุปกรณ์ของคุณ
แอพนี้มีเป้าหมายที่นักพัฒนาหรือใครก็ตามที่อยากรู้เกี่ยวกับความแตกต่างของประสิทธิภาพระหว่าง OpenGL และ Canvas โดยเฉพาะอย่างยิ่งมันวัดประสิทธิภาพของการวาดสไปรต์ 2D อย่างชัดเจนโดยใช้ OpenGL ES 2.0 ด้วยไฮบริดของ Java และ C และการวาด Sprites 2D โดยใช้ Canvas กับ Java
เมื่อคุณทำการทดสอบเสร็จแล้วคุณสามารถเห็นการวิเคราะห์มาตรฐานของประสิทธิภาพโดยกดปุ่มย้อนกลับของอุปกรณ์
มันคล้ายกับการทดสอบวิธีการ Sprite โดย Chris Pruett แต่ได้รับการปรับปรุงสำหรับ OpenGL ES 2.0 การทดสอบวิธีการ Sprite ของเขาดำเนินการ ES 1.0 ที่ล้าสมัยและถูกทำลายบน Jelly Bean (เนื่องจากการบัฟเฟอร์ therple)
แอพนี้ใช้งานได้กับอุปกรณ์ทั้งหมดที่รองรับ OpenGL ES 2.0
นี่คือปลอดโฆษณาและปราศจาก nag
รายละเอียดเพิ่มเติม:
โดยเฉพาะแอพนี้วัดประสิทธิภาพของการวาดสไปรต์ 2D อย่างชัดเจนโดยใช้ OpenGL ES 2.0 ด้วยไฮบริดของ Java และ C และการวาด Sprites 2D โดยใช้ Canvas กับ Java
ในทุกเฟรม:
สีพื้นหลังจะเปลี่ยนเล็กน้อยเต้นระหว่างสีแดงและสีขาว
สไปรต์แต่ละครั้งจะย้ายจำนวนสุ่ม (เกาส์เซียน) หากศูนย์กลางของสไปรต์ผ่านขอบของหน้าจอสไปรต์จะย้ายไปยังตำแหน่งหน้าจอแบบสุ่ม
การทดสอบ Canvas ใช้ SurfaceView และ Canvas.DrawBitMap () การคำนวณทั้งหมดจะทำใน Java (โดยใช้ Random.nextgaussian () และ random.nextfloat ()) บนลอย []
การทดสอบ OpenGL ES 2.0 ใช้ GLSURFACEVIEW ใน Java การคำนวณทำได้ใน C (โดยใช้ DRAND48 () และอินไลน์ C เทียบเท่ากับอัลกอริทึม Gaussian ของ Java) บนลอยพื้นเมือง [] การวาดภาพยังทำใน C โดยใช้ gldrawarrays (gl_points, ... ) วิธี C (NDK) เรียกว่าทุกเฟรมจาก Java ผ่าน JNI
การทดสอบทั้งหมดมีค่าใช้จ่ายที่เหมือนกันของการดำเนินการทำโปรไฟล์ใน Java
สถิติ:
ข้อมูล FPS เป็นเรื่องเกี่ยวกับเมื่อมีการโพสต์เฟรมลงบนหน้าจอ (ในทางเทคนิค SurfaceFlinger)
ข้อมูลการวาดคือเวลาที่ใช้ในการออก (และ glflush () + glfinish () ในการทดสอบ OpenGL) คำสั่งการวาด มันไม่ได้นับเวลาในการพลิกบัฟเฟอร์หน้าจอจริง
ข้อมูลพุช (VBO เท่านั้น) เป็นเวลาที่ใช้ในการผลักดันข้อมูลจุดสุดยอดไปยังบัฟเฟอร์ GPU สิ่งนี้มักจะเป็น <.5ms (ซึ่งเป็น 0.000S) ต่อเฟรม เมื่อใช้การทดสอบที่ไม่ใช่ VBO OpenGL เวลานี้จะรวมอยู่ในเวลาการวาดแทน ในการใช้งานจริงอาจใช้เวลานานกว่าในการผลักดันข้อมูลไปยัง GPU ตัวอย่างนี้มีเพียงหนึ่ง VBO (หรืออาร์เรย์จุดสุดยอด) ที่มี 2 ลอยต่อสไปรท์ แอปพลิเคชันที่ใช้งานได้จริงจะมีข้อมูลมากขึ้น (เช่นขนาดและข้อมูลพื้นผิว)
ข้อมูล CALL เป็นเวลาเกี่ยวกับเวลาที่ใช้ในการคำนวณสีพื้นหลังของเฟรมและตำแหน่งใหม่ของสไปรต์แต่ละตัว เมื่อเปิดใช้งาน 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