我的应用程序面临一个非常奇怪的行为 - 如果我启动探查器(必须是JS探查器),代码的工作速度几乎快两倍.
我用一个非常简单的代码复制了它,可以在这个小提琴上找到:https://jsfiddle.net/zagrwk44/
问题是,这仅在具有旧图形卡的机器上重现.我已经设法在配备AMD Radeon HD 6450显卡的机器上重现它.在较新的机器上,这不再重现.
为什么探查器会使代码运行得更快?快几乎两倍!
花费时间的代码只是改变屏幕上div的位置:
for (var i = 0; i < 1000000; i++) { box.style.top = getRandomInt(0, 100) + '%'; box.style.left = getRandomInt(0, 100) + '%'; };
我开始和通过JavaScript与停止探查console.profile
和console.profileEnd
.为了重现它,必须在运行时打开DevTools.
谢谢!
无法在我的机器上进行复制。
但是我很好奇,您是否将DevTools open与profiler的运行进行了比较?如果是这样,则可能是由于DevTools禁用了内部通知,例如在激活分析时对Elements面板进行了更新。
如果您要比较DevTools关闭的运行,那么它看起来确实很奇怪。