Akankah OpenGL ES berkinerja lebih baik daripada CoreAnimation dalam menganimasikan seratus lapisan?

Saya memiliki objek, yang terdiri dari CATransformLayer dengan dua sublapisan CAKeyframeAnimated. Dengan hanya 10 contoh objek ini yang ditambahkan ke lapisan tampilan, fps benar-benar turun hingga ~ 10/15 fps. Saya tidak tahu persis berapa jumlahnya tetapi kelihatannya tidak bagus. Ini hanya membuat 20 animasi. Posisi objek tidak diberi keyframe.

Saya menjalankan ini di iPad Mini.

Apakah ini terlalu berlebihan untuk iPad Mini, atau bisakah saya mendapatkan hasil yang lebih baik menggunakan OpenGL ES?


person alecail    schedule 27.03.2013    source sumber
comment
OpenGL akan selalu lebih cepat tetapi apa sebenarnya yang Anda animasikan dan apa yang Anda maksud dengan objek yang tidak bergerak? Penggambaran ulang tetap merupakan penggambaran ulang terlepas dari lokasi x,y jika transformasi sedang berlangsung.   -  person Mark McCorkle    schedule 27.03.2013
comment
@MarkM Maksud saya, saya hanya menambahkan objek pada posisi acak pada lapisan, hanya untuk memeriksa apakah animasi sublapisan baik-baik saja.   -  person alecail    schedule 27.03.2013
comment
Tanpa mengetahui secara pasti apa yang ingin Anda animasikan, saya akan segera merekomendasikan penggunaan sesuatu seperti Cocos2d untuk mencapai hal ini. Anda dapat melakukan banyak hal dengan CALayers tetapi performa akan selalu lebih baik menggunakan framework berbasis OpenGL seperti Cocos2d terutama dengan scene yang cukup kompleks.   -  person Mark McCorkle    schedule 27.03.2013
comment
@MarkM Saya lebih banyak menguji CoreAnimation untuk melihat kinerjanya dengan sejumlah besar lapisan daripada benar-benar mengalami masalah dalam aplikasi nyata. Saya kira CALayers dimaksudkan untuk animasi UI.   -  person alecail    schedule 27.03.2013


Jawaban (1)


Saya akan merekomendasikan menggunakan Cocos2d untuk adegan yang cukup kompleks. Ada beberapa tutorial bagus di internet. Ray selalu mendapat banyak pelajaran bagus tentang subjek ini dan di situlah saya pertama kali belajar cocos2d. Ini tidak serumit kelihatannya. Ditambah lagi, menambahkan fisika sangatlah mudah karena dukungan komunitas yang sangat besar. (http://www.raywenderlich.com/28602/intro-to-box2d-with-cocos2d-2-x-tutorial-bouncing-balls)

person Mark McCorkle    schedule 27.03.2013