Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 萤火虫用帆布变得不可持续的缓慢_Javascript_Html_Html5 Canvas_Firebug_Performance Testing - Fatal编程技术网

Javascript 萤火虫用帆布变得不可持续的缓慢

Javascript 萤火虫用帆布变得不可持续的缓慢,javascript,html,html5-canvas,firebug,performance-testing,Javascript,Html,Html5 Canvas,Firebug,Performance Testing,我正在做一些简单的画布演示,我遇到了Firebug的问题。到目前为止,我一直在Chrome上进行测试,并将Canvas demo(页面背景中的康威生活游戏)优化到20 FPS左右。(我希望速度更快,但这是另一个问题) 但是,当在同一台机器上以FF进行测试时,我的性能会差得多——通常为5-10 FPS。而且,更令人不安的是,它似乎随着时间的推移而变慢,暗示着某种内存泄漏 不幸的是,当我尝试使用Firebug时,who浏览器突然停了下来。它仍然反应灵敏,但速度非常慢。我大约每分钟拍一帧,点击按钮通常

我正在做一些简单的画布演示,我遇到了Firebug的问题。到目前为止,我一直在Chrome上进行测试,并将Canvas demo(页面背景中的康威生活游戏)优化到20 FPS左右。(我希望速度更快,但这是另一个问题) 但是,当在同一台机器上以FF进行测试时,我的性能会差得多——通常为5-10 FPS。而且,更令人不安的是,它似乎随着时间的推移而变慢,暗示着某种内存泄漏

不幸的是,当我尝试使用Firebug时,who浏览器突然停了下来。它仍然反应灵敏,但速度非常慢。我大约每分钟拍一帧,点击按钮通常需要2-5分钟才能做出反应。这是怎么回事

该页面的完整代码位于:


页面本身可以加载到这里:

伙计,StackOverflow,你最近很失望

无论如何,我发现如果你通过Inspector菜单(Cntl+Shift+I)而不是Firebug使用FF profiler,它不会完全阻塞,并且工作得很好


另外,由于时间分辨率太粗,Chrome profiler的结果不准确,我遇到了一些问题。如果使用about:tracing打开一个选项卡,它将在所有打开的选项卡上执行非常精细的分辨率跟踪。(如果你像我一样评测画布应用程序,不要忘记跳转到你想要分析的选项卡,因为RequestAnimationFrame通常不会启动,除非该选项卡处于活动状态且可见。)

我认为简单的答案是Firebug给JS代码增加了很多开销。它必须检查断点、错误、日志语句,谁知道还有什么,如果JS每秒执行多次会降低性能。是的,我知道调试器会影响性能,但这大约是性能下降的500倍。在Chrome中,我在分析方面没有问题,在Firebug的其他页面中,我甚至看不到有任何东西接近这种速度。我很好奇Firebug的钩子中是否有一种特殊的函数调用在这里特别受欢迎。记住Firebug是javascript+DOM(它可以做的任何事情,你也可以通过自己的js来做)。。。这是一个惊人的成就,但本地检查员已经远远超过了它。丹,firebug是通过Javascript实现的。使用本地检查器获得您想要的性能。老实说,我已经好几年没用firebug了。