ทีมวิศวกร Chrome เล่าเบื้องหลังการแก้ปัญหา Chrome บน Android เลื่อนหน้าจอแล้วไม่ลื่นเท่ากับบน iOS ซึ่งอาการเกิดเป็นช่วงๆ ไม่เกิดขึ้นสม่ำเสมอด้วย เป็นบั๊กปริศนาที่กวนใจทีมงานมานาน จึงตั้งใจสืบสวนสาเหตุว่าเกิดจากอะไรกันแน่
ทีมงานลองหาาสาเหตุหลายจุด ก่อนไปพบว่าการดักจับความเคลื่อนไหวของนิ้วบนหน้าจอ (screen displacement รูปขวา) ไม่เท่ากับความเคลื่อนไหวของนิ้วจริงๆ (finger displacement รูปซ้าย) ทำให้เมื่อนำข้อมูลนิ้วที่จับได้ไปประมวลผลจึงออกมาไม่ตรงกับนิ้วจริงๆ

ทีมงานลองค้นหาสาเหตุว่าทำไมถึงเป็นอย่างนี้ เจอสาเหตุร่วมกัน 2 ข้อ
- Android ดักจับความเคลื่อนไหวด้วย C++ ระดับความแม่นยำ nanosecond แต่ Chrome ใช้ฟังก์ชันระดับ Java ความแม่นยำ millisecond จึงไม่ละเอียดเท่า
- วิธีการดักจับของ Android เลือกอีเวนต์การเคลื่อนไหวที่แม่นยำกว่าของ Chrome ใช้การเก็บคิว FIFO ธรรมดา จึงมีโอกาสผิดพลาดสูงกว่า โดยเฉพาะบนหน้าจอที่มีอัตรารีเฟรชสูงๆ
ตัว API ของ Android ที่ดักจับความแม่นยำระดับ nanosecond ยังไม่เปิดให้แอพภายนอกเรียกใช้ ซึ่งจะเปลี่ยนแปลงใน Android 14 ที่กำลังจะออกปีนี้ (getEventTimeNanos) ระหว่างนี้ ทีมงานจึงพัฒนาฟิลเตอร์การดักจับอินพุตใหม่ที่แก้ปัญหาข้อ 2 ซึ่งได้ผลดีขึ้นมากแล้วเช่นกัน (ใครสนใจ ดูวิดีโอสาธิตเปรียบเทียบได้) การปรับปรุงนี้เริ่มใช้แล้วใน Chrome 116 แต่จะย้อนกลับไปอัพเดตให้ถึง Chrome 110 ด้วย ซึ่งจะทำให้ประสบการณ์เลื่อนหน้าจอของ Chrome บน Android เทียบเท่ากับบน iOS แล้ว
ที่มา - Chromium Blog
on
เหมือนสมัยก่อนฝั่งแอนดรอยจะเค
api Sat, 19/08/2023 - 09:16
เหมือนสมัยก่อนฝั่งแอนดรอยจะเคยขิงว่าลื่นเท่า iphone แล้ว
ตกลงว่ายังสินะ
กำลังสงสัย
terdsak.s Sat, 19/08/2023 - 09:40
In reply to เหมือนสมัยก่อนฝั่งแอนดรอยจะเค by api
กำลังสงสัย
1.อ่านข่าวไม่เข้าใจ
2.ตีความ chrome = android
3.ไม่เข้าใจอะไรเลยจริงๆ แต่คิดว่าเข้าใจ
ข้อไหนสักข้อนี่แหละ
คงลื่นแค่ตัว os ที่มี
Hoo Sat, 19/08/2023 - 10:30
In reply to เหมือนสมัยก่อนฝั่งแอนดรอยจะเค by api
คงลื่นแค่ตัว os ที่มี getEventTimeNanos ให้ใช้
ส่วนบรรดา app ที่ใช้ getEventTime ธรรมดา ก็หน้าจอสะอึกไปตามระเบียบ
ถ้าอ่านในต้นฉบับ ทีม Chrome
mk Sat, 19/08/2023 - 10:46
In reply to เหมือนสมัยก่อนฝั่งแอนดรอยจะเค by api
ถ้าอ่านในต้นฉบับ ทีม Chrome ก็สงสัยครับว่าทำไมแอพอื่นลื่น เป็นกับแอพเราตัวเดียว
period
orbitalz Sat, 19/08/2023 - 11:28
In reply to ถ้าอ่านในต้นฉบับ ทีม Chrome by mk
period
😂
hisoft Sat, 19/08/2023 - 13:20
In reply to ถ้าอ่านในต้นฉบับ ทีม Chrome by mk
😂
ผมนี่ลั่นเลย
big50000 Sat, 19/08/2023 - 22:59
In reply to ถ้าอ่านในต้นฉบับ ทีม Chrome by mk
ผมนี่ลั่นเลย
อยากให้ใช้ extensions บน
pd2002 Sat, 19/08/2023 - 10:52
อยากให้ใช้ extensions บน desktop ได้ด้วยจังครับ firefox เค้าทำได้แล้ว
คุณพระ.....
aeksael Sat, 19/08/2023 - 11:05
คุณพระ.....
ปัญหาเชิงลึกทางคณิตศาสตร์เลยแ
Tasksenger Sat, 19/08/2023 - 12:13
ปัญหาเชิงลึกทางคณิตศาสตร์เลยแหะ ใครที่เคยคิดว่าเราจะมีทศนิยมหลายตำแหน่งไว้เยอะๆ ทำไม น่าจะมีคำตอบแล้วนะ
ผมไม่รู้สึกอะไรเลย
maxmin Sun, 20/08/2023 - 06:31
ผมไม่รู้สึกอะไรเลย
ไม่ได้ใช้ chrome
Iamz Mon, 21/08/2023 - 07:27
ไม่ได้ใช้ chrome มานานแล้วเลยไม่รู้ว่า chrome มีปัญหานี้อยู่คนเดียว