簡體   English   中英

是否可以使用Firebug剖析內置的JavaScript函數?

[英]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/

此方法執行以下操作:

  1. 檢查Firebug控制台是否打開。
  2. 將重寫和包裝本機函數與用戶定義的函數組合在一起。

這些步驟組合在一起,提供了一種用於分析DOM功能的方法,除非您進行調試,否則該功能不會影響原始腳本代碼。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM