Рубрика «NSEvent»

Мышь на 1000 Гц, экран MacBook Pro на 120 Гц. Я записал одно и то же движение тремя способами сразу. Системный CGEventTap увидел 843,5 события в секунду. NSEvent.mouseMoved в окне обычного Cocoa-приложения получил 118,5, по одному на кадр экрана. GCMouse из GameController отдал 843,6 и в моём прогоне ни о каких разрешениях не спросил. Ниже подробности, 17 строк кода на Swift, рекордер целиком и список того, чего я не проверял.

Всё снято на одной мыши, одном маке и одной версии macOS, по одному прогону на условие.

Откуда вопрос

Читать полностью »

Я играю в Counter‑Strike 2 на MacBook Pro 14 с M3 Pro. Кадров хватает, 100 с лишним в секунду, а прицел всё равно ощущается ватным: мелкие доводки то недолетают, то перелетают. Сначала я грешил на ускорение указателя, потом на лимит кадров, потом на саму игру. Не помогало ничего, и в какой‑то момент я просто записал, как события мыши доходят до приложения.

Замер

Две ленты с одного и того же движения мыши, снятые одновременно:

  • системный тап (CGEventTap) с аппаратными метками времени, то есть то, что на самом деле шлёт мышь;

  • поток NSEvent в окне обычного Cocoa‑приложения, то есть то, что macOS отдаёт программе.

  • Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js