M37 itibarıyla (08/2014'te kararlı durumda) Chrome'un TouchEvents etkinliklerinin uygulamasıyla ilgili bir değişiklik yaşandı. Bu değişiklik, raporlanan koordinatları tamsayılar yerine kayan noktalara dönüştürür.
Önce | Sonra |
---|---|
clientX: 167 clientY: 196 pageX: 167 pageY: 196 yarıçapX: 26 yarıçap: 26 ekranX: 167 ekranY: 277 |
clientX: 167.33299255371094 clientY: 195.66700744628906 pageX: 167.33299255371094 pageY: 195.66700744628906.60744628906. |
Bu değişikliğin sonucunda, parmak pozisyonunda daha doğru sonuçlar elde etmenizi sağladığı için kullanıcı hareketlerine daha akıcı bir şekilde yanıt vermiş olursunuz.
Rick Byers demosunu kullanarak, yavaş yavaş bir girdap çizerken bunun ne kadar büyük bir fark yaratabileceğini görebilirsiniz.

Bu durum yalnızca piksel yoğunluğu 1'den yüksek olan ekranları etkiler. Nedenini anlamak için bir örnek üzerinden gidelim.
CSS piksellerinden oluşan 3x3 boyutunda bir tabloya sahip olduğunuzu ve ekran yoğunluğunun 3 olduğunu, yani 9x9 fiziksel pikselden oluşan bir tabloya sahip olduğunuzu ve sol üstten sağ alta doğru kullanıcı hareketlerinin yapıldığını varsayalım.

İlk başta dokunma konumunu en yakın CSS pikseline yuvarlıyorduk. Bu, harekette aşağıdaki adımların uygulanması anlamına geliyordu.

Kullanıcı parmağını hareket ettirirken fiziksel piksellerin gösterebileceği ara adımlardan herhangi birini çizemiyoruz.
Artık kayan öğelere geçiş yaptığımıza göre hareketimiz şöyle görünebilir.

Çoğu durumda bu, kodunuzda değişiklik yapmanızı gerektirmez ancak TouchEvents'ın sonucunda yaptığınız tüm animasyonların veya hareketlerin özellikle yavaş hareketler için daha yumuşak olacağı anlamına gelir.
Bu iyileştirmeyi mobil Safari'ye de getirmeyi planlıyoruz: https://bugs.webkit.org/show_bug.cgi?id=133180.