我一直對時間感興趣,因爲我的簡單遊戲需要運行,因此我使用了Netbeans Java Profiler(Java 1.7),並且可以在「熱點」選項卡中看到「Self Time」和「Invocations」列。Netbeans分析器的「自我時間」實際上意味着什麼?
例如,我的渲染方法有:
自用時間 1025毫秒
的調用:2311
所以,如果我理解不錯,它實際上意味着TOTAL ALL渲染方法調用的時間總計爲1025毫秒,一個方法執行的平均時間爲1025/2311 = 0,44毫秒?
如果是這樣,我可以強制IDE顯示平均時間而不是總時間?
如果您的目標是減少總數,爲什麼要顯示平均值? – 2012-07-20 15:10:39
那麼,如果我在一個方法中實現了一個遊戲循環,我可能會想看看一次執行(幀)需要多少時間... – 2012-07-20 15:28:29
是的,您需要劃分。然而,在檢測模式下運行profiler(或者實際上,運行它)會影響性能(如阻止JIT優化),並且不是非常有用。手動計時/基準測試(例如,調用System.nanoTime)可能會更好,但也存在問題。 – 2015-04-02 18:23:39