У меня есть a circuit simulator that redraws as you drag things around на холсте HTML5.HTML5 холст, не показывающий перерисованный контент во время перетаскивания мышью
Я заметил, что иногда он не удается перерисовать во время перетаскивания. Он удерживает последний обратный кадр, пока я не перейду к перемещению мыши, а затем покажу обновленный контент.
Сначала я подумал, что это может быть какая-то проблема с кодом, который я использую дросселем, ничейками ниже 60 кадров в секунду. Возможно, события таймера были забиты событиями с более высоким приоритетом или что-то в этом роде. Но я профилировал код в Chrome, и профайлер подтверждает, что код draw вызывается и заканчивается в течение разумного промежутка времени.
Вот скриншот из примера, который я собрал, перетаскивая с проблемой. Обратите внимание Жеребьевка код отделки в 5мс, с большим количеством времени простоя:
Так в основном я в тупик и нужны идеи о том, что нужно проверить.
Каковы некоторые общие причины перерисовывания, которые не отображаются, когда они запускаются действиями пользователя?