我正在使用Chrome浏览器在本地运行html5画布网页.出于调试目的,我使用console.log试图跟踪动画中的对象像素位置,该位置发生在每秒60帧.但问题是,当我运行网页时,它工作正常,直到我打开javascript控制台,看到我的位置被打印得如此之快,开发控制台只是冻结,页面仍然运行,但我无法做任何调试,如开关在控制台等不同选项卡之间,我必须关闭页面并重新启动它,问题很快就会再次发生.
我还使用内置工具来执行javascript CPU配置文件收集,以查看它在日志记录上花费了多少资源,结果只是运行时间的0.01%,这显然不应该是问题,但我的猜测是即使它是只花了很短的时间来实现这一点,实际上忙于更新UI上的数字的控制台是冻结页面的原因. (我应该提一下,我仍然能够与页面进行交互,但即使关闭它,我也无法对控制台做任何事情)
在Chrome浏览器上这是正常的吗?任何修复或建议?谢谢
解决方法:
是的,我会避免垃圾邮件控制台.根据我的经验,您可以记录大量的数据,例如包含数万个项目的数组,但是您无法过于频繁地调用日志功能,或者在重绘时开发工具会冻结.
因此,考虑到上述情况,我建议将几个日志调用分组在一个对象或数组中.例如,如果你有一个循环,它将运行很多次并且你有5-6个日志调用,通过将数据添加到数组或具有良好名称键的对象将这些日志调用组合在一起,并将该对象记录在循环结束.
如果你需要每100毫秒记录一次以上超过几秒钟,我会建议对日志调用进行分组.
标签:javascript,google-chrome,console,logging
来源: https://codeday.me/bug/20190530/1182377.html