[英]Is it possible to profile built-in JavaScript functions with Firebug?
我正在HTML5中建立一個圖形密集型網站,該網站大量使用了畫布上下文的drawImage()函數。 在Windows 7上的IE9中,性能是平穩的,但是在Firefox 4中,情況變得不穩定。 我正在嘗試隔離瓶頸,以便可以開始優化。
如果我使用Firebug 1.7.0的JavaScript性能分析功能,則可以看到自己函數的統計信息,但是我也希望看到對內置JavaScript函數的調用。 在Firebug或其他工具中,有什么方法可以做到這一點?
作為一種解決方法,我想可以通過將事情分解為許多微小的功能來使配置粒度更精細,但是我寧願我的設計不受配置的難易程度驅動。
更新 :回顧這個問題,我發現所討論的內置函數不是真正的JavaScript函數,而是主機提供的函數。 在這種情況下,它們是瀏覽器中的DOM對象。 只是以為我會澄清技術細節。
最后,我用了它Firebug沒有為您提供分析本機代碼的功能。
您可以做的是制作自己的函數,該函數僅調用您要調用的本機代碼。 依次代碼:
ctx.fillRect(50,50,50,50);`
成:
// wrap in function
function fillR() {
ctx.fillRect(50,50,50,50);
};
// call it immediately afterwards
fillR();
然后,您可以獲取fillR的統計信息。 不是最好的解決方法,但它可能足夠有用。
您可以嘗試使用Mozilla的JS調試器Venkman。 目前,addons.mozilla.org上的版本在Firefox 4.0中已損壞。
您可以通過mercurial獲取最新版本,該版本適用於Firefox 4.0:
hg clone http://hg.mozilla.org/venkman/
cd venkman/xpi
./makexpi.py
firefox venkman-0.9.88.1.xpi
在考慮了好幾天之后,我想出了一個新的解決方案,並寫了一篇博客文章:
http://andrewtwest.com/2011/03/26/profiling-built-in-javascript-functions-with-firebug/
此方法執行以下操作:
這些步驟組合在一起,提供了一種用於分析DOM功能的方法,除非您進行調試,否則該功能不會影響原始腳本代碼。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.