[英]Canvas not working properly if developer console is active
发生这种情况是因为在 Chromium(和 Gecko)中,根据规范建议, mousemove或pointermove等 UI 事件被限制为显示器的帧刷新率。
但是,仅在 Chromium 中,无论出于何种原因,当开发工具打开时,它们会发出原始事件......
因此,当开发工具关闭时,即使硬件指针(例如鼠标)确实发出了更多事件,这些事件也已合并为单个指针移动事件,这可能会使线条更平滑,因为每个点都已被平均,但您实际上收到了更少的数据。
您可以从pointermove事件的getCoallescedEvents中检索原始事件列表,正如我的另一个答案中所公开的那样,如果需要,您还可以自己构建合并逻辑(使用requestAnimationFrame()
作为节流器,这正是 Chromium做)。
至于为什么 Chromium 在开发工具打开时会禁用合并……这对我来说仍然是个谜,但我从来没有足够的动力去查看它。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.