Perubahan telah diterapkan dalam implementasi TouchEvents Chrome mulai M37 (stabil pada 08/2014), yang mengubah koordinat yang dilaporkan menjadi float, bukan bilangan bulat.
Sebelum | Setelah |
---|---|
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 |
Hasil dari perubahan ini berarti Anda memiliki respons yang lebih lancar terhadap gestur pengguna karena memberikan akurasi posisi jari yang lebih tinggi.
Dengan menggunakan demo Rick Byers, Anda dapat melihat perbedaan besar yang dapat dihasilkan saat menggambar pusaran secara perlahan.

Hal ini hanya akan memengaruhi layar yang memiliki kepadatan piksel lebih besar dari 1. Untuk memahami alasannya, mari kita pelajari contohnya.
Bayangkan Anda memiliki petak 3x3 piksel CSS dan kepadatan layarnya adalah 3, yang berarti kita memiliki petak 9x9 piksel fisik dan gestur pengguna dari kiri atas ke kanan bawah.

Awalnya, kita membulatkan posisi sentuhan ke piksel CSS terdekat, yang berarti dalam gestur ini, Anda akan berakhir dengan langkah-langkah berikut.

Kita melewatkan langkah-langkah perantara yang dapat ditampilkan oleh piksel fisik saat pengguna menggerakkan jarinya.
Setelah beralih ke float, gestur kita dapat terlihat seperti ini.

Pada umumnya, hal ini tidak akan memerlukan perubahan apa pun dalam kode Anda, tetapi berarti animasi atau gerakan apa pun yang Anda lakukan sebagai hasil dari TouchEvents, akan lebih lancar, terutama untuk gestur lambat.
Ada juga rencana untuk menghadirkan peningkatan ini ke Safari seluler: https://bugs.webkit.org/show_bug.cgi?id=133180.