M37 sürümü itibarıyla (08/2014'te kararlı) Chrome'un TouchEvents özelliğinde yapılan bir değişiklik, raporlanan koordinatları tam sayı yerine kayan koordinatlara değiştirmiştir.
Önce | Sonra |
---|---|
clientX: 167 clientY: 196 pageX: 167 pageY: 196 yarıçapX: 26 yarıçapY: 26 screenX: 167 screenY: 277 |
clientX: 167.332992555371094 clientY: 195.66700744628906 pageX: 167.33299255371094 pageY: 195.66700744628906 195.66700744628906 16700744628906 16700744628906 12658906 167.33299255371094 |
Bu değişikliğin sonucu, parmaklarınızın daha isabetli olmasını sağladığı için kullanıcıların hareketlerine daha sorunsuz bir yanıt vermeniz anlamına gelir.
Rick Byers'ın demosunu kullanarak, yavaşça girdap çizerken bunun ne büyük bir fark yaratabileceğini görebilirsiniz.
Bu durum yalnızca piksel yoğunluğu 1'den büyük olan ekranları etkiler. Bunun nedenini anlamak için bir örnek üzerinden gidelim.
CSS piksellerinden oluşan 3x3 boyutunda bir ızgaranızın olduğunu ve ekran yoğunluğunun 3 olduğunu düşünün. Diğer bir deyişle, 9x9 fiziksel pikselden oluşan bir ızgaramız ve sol üstten sağ alta doğru kullanıcı hareketleri vardır.
Başlangıçta, dokunma konumunu en yakın CSS pikseline yuvarlıyorduk. Yani bu harekette aşağıdaki adımları uygulayacaksınız.
Kullanıcı parmağını hareket ettirdikçe, fiziksel piksellerin gösterebileceği ara adımların hiçbirini çizemeyiz.
Kayan görüntülere geçiş yaptığımıza göre hareketimiz şu şekilde görünebilir.
Çoğu durumda bu işlem, kodunuzda herhangi bir değişiklik yapılmasını gerektirmez ancak TouchEvents'ın sonucunda yaptığınız animasyonlar veya hareketler, özellikle yavaş hareketlerde daha yumuşak olur.
Bu iyileştirmeyi mobil Safari'ye de getirmeyi planlıyoruz: https://bugs.webkit.org/show_bug.cgi?id=133180.