กูเกิลพยายามแก้ปัญหา "ความช้า" ของ Android Emulator โดยเวอร์ชันล่าสุด 25.3.0 (Feb 2017) มีการปรับปรุงสำคัญดังนี้
- Android Pipe ช่องทางการสื่อสารระหว่างตัวอีมูเลเตอร์ (ฮาร์ดแวร์จำลอง) และระบบปฏิบัติการ Android ถูกปรับปรุงให้เร็วขึ้น "หลายเท่า", ประสิทธิภาพของการทำงานหลายเธร็ดดีขึ้น, เวลาการตอบสนอง (latency) ลดลง กูเกิลไม่ได้บอกตัวเลขว่าเร็วขึ้นเท่าไร แต่บอกว่ารู้สึกได้อย่างชัดเจน
- ปรับปรุงประสิทธิภาพของการเล่นวิดีโอ, ปรับปรุงประสิทธิภาพของระบบกราฟิก
- ปรับปรุงประสิทธิภาพของ disk IO โดยแยกเธร็ดสำหรับประมวลผล IO ออกมาเฉพาะ ความเร็วเพิ่มขึ้น (1.5 เท่าสำหรับ sequential, 5 เท่าสำหรับ random access)
- ระบบกราฟิกรองรับ GLES 2.0 เต็มตัว, รองรับ IPv6 แล้ว
สถานะของ Android Emulator ยังอยู่ในขั้น Canary นักพัฒนาสายหลักก็คงต้องรออีกสักระยะ กว่ามันจะเข้ามาให้ใช้กันในขั้น Stable
ที่มา - Android Studio Project Site via Android Police
Comments
เร็วกว่าเดิมหลายเท่า = เร็วอย่างที่ควรจะเป็น
Remix จะย้ายมาใช้ตัวนี้เป็นฐานเมื่อไหร่นะ แล้วมันจะรองรับจอสัมผัส&ปากกาดีๆ ได้รึยัง
เมื่อก่อนเคยทำเกม 3D ที่เป็น C++ เจอปัญหาเฟรมเรทตกมากๆ
เลยลองใช้ Parallel Studio ส่องดู แล้วทำ Code Optimized
ด้วยการลดการ Call Function ในส่วนที่ไม่จำเป็น (ลด call stack)
เพิ่ม Hard Code ลงไปในบางจุด ใช้ Dynamic Varible ให้น้อยลง (เน้น Array จองพื้นที่เผื่อไว้)
(สมัยก่อนยังไม่เชี่ยว Thread Processing พยายามใช้ แต่ไม่ประสบผลเท่าไหร่)
ปรากฏว่าFrame Rate เพิ่มขึ้นมา จาก 30 เป็น 90fps
เรื่องการเค้น Speed Performance นี่ต้องมองให้ลึกกว่าการเขียน Application ทั่วๆไป
จริงๆน่าจะเป็นสิ่งแรกๆที่ควรจะทำเพื่อให้ dev ทำงานได้ง่าย
ไม่เข้าใจ ทำไมของ google ทำเอง ดันช้ากว่าพวก 3rd party ทำซะอีก
ของ Google ถ้าจำไม่ผิด ตอนแรกจะพยายามจำลอง ARM โดยใช้ QEMU ส่วน 3rd-party ส่วนใหญ่รันบน x86 โดยใช้ VirtualBox ซึ่งเป็น HW-assist VM
ภายหลังก็พยายามปรับปรุงมาเรื่อย ๆ อย่างเปลี่ยนไปใช้ x86 กับ host gpu แต่ก็ยังไม่โดดไปใช้ VirtualBox (คงกลัวโดน Oracle เล่นอีก) ความเร็วก็เลยยังสู้ไม่ได้ครับ