我已經創建了自己的畫布,該畫布已經從JPanel擴展而來,但是我已經注意到w /內容等等,突然之間我的FPS受到了重創。我遵循來自Filthy Rich Clients的揮杆規則,通過使用paintComponent,創建剪輯區域,僅重繪已更改的內容等等。我將FPS設置爲50 FPS,我注意到有時我的FPS會跳到31/32 FPS並回到50等等。運行我的程序時,即使在渲染時,也只使用大約25MB的RAM和0的CPU。我也有OpenGL設置。要在Java2D中繪製子類以繪製哪個組件(用於2D遊戲)
注:我沒有圖像,這是嚴格使用圖形中的形狀。
通過繪製JPanel上的所有內容,是否存在重大性能下降?我應該擴展一個不同的組件嗎(我一直看到Canvas組件)?在JPanel中構建諸如俄羅斯方塊(或任何其他復古遊戲)的遊戲有多「聰明」?
這是一個可能性,這是一個計時器問題,因爲我剛剛添加了100個額外的繪畫調用,FPS仍然做50 32/31的事情。
經過大量調查後我發現問題根本不在於JPanel。事實上,問題在於Java中的Timer。這不是100%準確的,這導致了FPS的退出。 我解決這個問題的方法是閱讀:http://www.koonsolo.com/news/dewitters-gameloop/ – abc123 2011-04-19 04:07:17