2009年9月17日星期四

In-Game C++ Memory Profiler

忙碌了兩個多月,這篇有可出現在 Gems 系列的 "In-Game Memory Profiler" 終於完成。製作這類 Profiler 已經不知多少次了,但這次是最滿意的;可以媲美需付款的產品 (其實類似的 C++ memory profiler 產品真的少之又少),甚至更好。就是它,讓我知道 Bullet 每次 step simulation 都有好幾千個即用即棄的 memory allocation/de-allocation;後來我把它的 default pool size 增大,問題也就解決了。

In-Game-Memory-Profiler

6 則留言:

  1. 很精巧的樣子
    使用上有沒有甚麼限制?
    容易使用嗎?

    回覆刪除
  2. 暫時只可在 Windows 上運行,函數名稱用 C++ 編碼註明;除此之外沒有甚麼限制,就連 printf 甚至 graphics driver 的 heap allocation 都偵測到。
    不過你的 Xna 純 .Net 世界會又更多的選擇哩。

    回覆刪除

  3. .Net Application就連Source Code都很容易看到
    不過Gabage Collector的Memory Profiler真的很亂, 到現在我也沒有認真看過

    好運的話
    我又可以再用C++了

    回覆刪除
  4. 建議顯示統計數字時,最好用整數 (例如整數的 KB),介乎 0 和 1 之間的可以顯示成 <1。這樣看上去比較容易知道那些數字比較大。

    另外想了解一下,底層是怎麼實現的呢? 是同時拿到 CRT 和 Win32 API 的資訊嗎?

    技術上可不可能支持其他平台?

    回覆刪除
  5. 請問這程式哪裡可以取得呢@@?

    回覆刪除
  6. 文章可在這裡預覽,隨書光碟附送程式源碼 :)

    回覆刪除