我粗略看了一下你的代碼,但是挖掘整個項目並不是調試優化問題的絕妙方法。
首先要考慮的是,如果你有你的舞臺啓用mouseOver
,我會建議任何東西不互動寬鬆的使用mouseChildren=false
互動元素,mouseEnabled=mouseChildren=false
。翻轉可能是一個很大的原因,因爲它需要每秒鐘繪製20次(在您的使用中)。文本和矢量的重繪可能很昂貴。
// Non-interactive elements (block all mouse interactions)
element.mouseEnabled = element.mouseChildren = false;
// Interactive elements (reduce mouse-checking children individually)
element.mouseChildren = false;
如果它們沒有改變,你可能會考慮緩存文本元素或按鈕圖形。我認爲我從源頭上看到了一些緩存 - 但它通常是一件好事情要考慮。
-
隨着中說,調試優化可能是艱難的。如果刪除所有的按鈕帶來的性能提升,考慮你的按鈕是如何被構建,以及它們的成本。 *鼠標懸停很貴 *矢量和文本可能很貴 *正確使用時,緩存可以提供幫助,但如果時間過於頻繁,則緩存可能很昂貴。 *查看tick()上發生了什麼。有時候,代碼會不斷運行,這並不需要。
-
其他一些注意事項:
希望能有所幫助。
謝謝Bro.Lanny。你回答的所有問題都幫助我改進得更好。我也使用循環訪問容器。這是否太慢了幀速率。或者,我們稱之爲創建按鈕的類更好。通過這種方式可以避免正確的循環。請給我們建議。 –