การเปลี่ยนแปลงเกิดขึ้นในการใช้งาน TouchEvents ของ Chrome ของ M37 (เวอร์ชันเสถียรในเดือนสิงหาคม 2014) ซึ่งจะเปลี่ยนพิกัดที่รายงานเป็นทศนิยมแทนจำนวนเต็ม
ก่อน | หลัง |
---|---|
clientX: 167 clientY: 196 pageX: 167 pageY: 196 radiusX: 26 radiusY: 26 screenX: 167 screenY: 277 |
clientX: 167.33299255371094 clientY: 195.66700744628906 pageX: 167.33299255371094 pageY: 195.66700744628906 radiusX: 25.843116760253906 radiusY: 25.843116760253906 screenX: 167.33334350585938 screenY: 276.66668701171875 |
ผลลัพธ์ของการเปลี่ยนแปลงนี้ทำให้คุณตอบสนองต่อท่าทางของผู้ใช้ได้อย่างราบรื่นยิ่งขึ้น เนื่องจากช่วยให้คุณทราบตำแหน่งนิ้วได้อย่างแม่นยำมากขึ้น
เมื่อดูการสาธิตของ Rick Byers คุณจะเห็นว่าฟีเจอร์นี้สร้างความแตกต่างได้มากเพียงใดเมื่อวาดภาพเกลียวอย่างช้าๆ

ซึ่งจะส่งผลต่อหน้าจอที่มีความหนาแน่นของพิกเซลมากกว่า 1 เท่านั้น มาดูตัวอย่างกันเพื่อทําความเข้าใจสาเหตุ
ลองจินตนาการว่าคุณมีตาราง 3x3 ของพิกเซล CSS และค่าความหนาแน่นของหน้าจอคือ 3 ซึ่งหมายความว่าเรามีตาราง 9x9 ของพิกเซลจริง และผู้ใช้ใช้ท่าทางสัมผัสจากด้านซ้ายบนไปยังด้านขวาล่าง

เดิมทีเราปัดเศษตำแหน่งการแตะเป็นพิกเซล CSS ที่ใกล้ที่สุด ซึ่งหมายความว่าในท่าทางสัมผัสนี้ คุณจะได้รับขั้นตอนต่อไปนี้

เราไม่ได้วาดขั้นตอนกลางๆ ที่พิกเซลจริงจะแสดงได้เมื่อผู้ใช้เลื่อนนิ้ว
เมื่อเปลี่ยนไปใช้โฟลทแล้ว ท่าทางสัมผัสของเราจึงมีหน้าตาแบบนี้

ในกรณีส่วนใหญ่ คุณจะไม่ต้องเปลี่ยนแปลงโค้ดใดๆ แต่ภาพเคลื่อนไหวหรือการเคลื่อนไหวที่คุณทำจาก TouchEvents จะราบรื่นขึ้น โดยเฉพาะสำหรับท่าทางสัมผัสที่ช้า
นอกจากนี้ เรายังมีแผนที่จะนำการปรับปรุงนี้ไปใช้กับ Safari บนอุปกรณ์เคลื่อนที่ด้วย https://bugs.webkit.org/show_bug.cgi?id=133180