لمس دقیق برای حرکات دقیق

تغییری در اجرای TouchEvents کروم از M37 (پایدار در 08/2014)، که مختصات گزارش شده را به جای اعداد صحیح به شناور تغییر می‌دهد.

قبل از بعد از
clientX: 167
مشتری: 196
صفحهX: 167
صفحه Y: 196
شعاع X: 26
شعاعY: 26
صفحه نمایش X: 167
صفحه نمایش: 277
clientX: 167.33299255371094
مشتری: 195.66700744628906
pageX: 167.33299255371094
pageY: 195.66700744628906
radiusX: 25.843116760253906
شعاعY: 25.843116760253906
screenX: 167.33334350585938
صفحه نمایش: 276.66668701171875

نتیجه این تغییر به این معنی است که شما پاسخ نرم‌تری به حرکات کاربر دارید زیرا دقت بالاتری در موقعیت انگشتان به شما می‌دهد.

با استفاده از نسخه ی نمایشی ریک بایرز ، می توانید ببینید که چه تفاوت بزرگی می تواند در هنگام کشیدن آهسته یک چرخش ایجاد کند.

تفاوت در رویدادهای لمسی

این تنها صفحه‌هایی را تحت تأثیر قرار می‌دهد که تراکم پیکسلی آنها بیشتر از 1 باشد. برای درک دلیل، اجازه دهید یک مثال را مرور کنیم.

تصور کنید یک شبکه 3x3 از پیکسل های CSS دارید و تراکم صفحه نمایش 3 است، به این معنی که ما یک شبکه 9x9 پیکسل فیزیکی داریم و کاربر از بالا سمت چپ به سمت راست پایین اشاره می کند.

CSS پیکسل و شبکه پیکسل صفحه نمایش.

در ابتدا، ما موقعیت لمس را به نزدیک‌ترین پیکسل CSS گرد می‌کردیم، به این معنی که در این حرکت شما مراحل زیر را انجام می‌دهید.

دقت پیکسل CSS در حین حرکت.

ما ترسیم هر یک از مراحل میانی را که پیکسل‌های فیزیکی می‌توانند در حین حرکت دادن انگشت کاربر نشان دهند، از دست می‌دهیم.

اکنون که به شناورها روی آورده ایم، ژست ما می تواند شبیه این باشد.

دقت شناور در طول ژست.

در بیشتر موارد، این نیاز به هیچ تغییری در کد شما ندارد، اما به این معنی است که هر انیمیشن یا حرکتی که در نتیجه TouchEvents انجام می‌دهید، نرم‌تر خواهد بود، مخصوصاً برای حرکات آهسته.

همچنین برنامه‌ای برای آوردن این بهبود به سافاری موبایل نیز وجود دارد: https://bugs.webkit.org/show_bug.cgi?id=133180 .