我在使用我的swing應用程序在某些用戶的機器上看到一些有趣的行爲。我想知道有沒有人遇到類似的問題?Swing應用程序在多個顯示器配置上變慢
應用程序是非常佔用大量內存,我們最近一直在與X毫秒== == XMX部署它512M
有問題的用戶機器的Windows XP中盒,4GB內存,帶有一個雙核處理器512M NVidia NVS300顯卡。他們正在運行多個顯示器設置;一個用戶有2個,另一個用戶有4個。
我們已經看到,該應用運行良好一段時間。然後,由於某種原因,速度變慢 - 重新繪製速度變得非常緩慢,應用程序開始攪動CPU。
事情是;如果將屏幕拖動到任何其他顯示器上,則CPU使用率將下降,並且應用程序會再次正常啓動。
我猜這是與內存有關的,因爲它發生在使用堆增加時,但我無法解釋爲什麼。我們之前已經部署了-Xms256M,並且據我所知,沒有人在使用該配置運行時報告了這個問題。
任何人都可以幫助解釋可能會發生什麼?
感謝, 理查德
用戶可以有多個幀,但我已經看到了它只是一個單一的框架發生。它使用Jide對接框架btw。 – RichardP
看起來更像是一個重繪問題,而不是多重顯示問題。你確定你沒有密集創建對象,也不會在繪圖方法中釋放引用嗎?也許效果會被更多的顯示器所放大......我一定會在那裏查看,或者讓它在單臺顯示器上運行幾天。 – Samy
我想你應該檢查你的回調函數。檢查所有繪製方法,儘量避免回調函數中的內存分配和靜態變量分配。同樣的事情,你需要檢查所有的渲染。在我們的應用程序的某些日子之前發現的類似問題,即應用程序運行時間較長,則速度變慢。您還要檢查這些函數以進行繁重的計算,並嘗試優化這些函數中的計算。 –