我在Visual Basic中製作了一個小程序,用於計算通過激光時出現的產品。
圖表每填充一個數據點並說出輸出是高還是低,並在其上繪製圖表,以便我們可以看到何時在某個時間點沒有流量。填充圖表時程序變慢
經過大約10個小時後,程序變慢,因爲它每秒鐘都會記錄下來並放入圖表中。圖表運行在窗體計時器上。
有沒有辦法讓它更快或清除緩存並繼續填充圖表?
當產品完成後,我按下一個按鈕,然後將圖表保存爲.jpg,然後清除圖表,然後再次啓用。生產時間長達20小時。
我在Visual Basic中製作了一個小程序,用於計算通過激光時出現的產品。
圖表每填充一個數據點並說出輸出是高還是低,並在其上繪製圖表,以便我們可以看到何時在某個時間點沒有流量。填充圖表時程序變慢
經過大約10個小時後,程序變慢,因爲它每秒鐘都會記錄下來並放入圖表中。圖表運行在窗體計時器上。
有沒有辦法讓它更快或清除緩存並繼續填充圖表?
當產品完成後,我按下一個按鈕,然後將圖表保存爲.jpg,然後清除圖表,然後再次啓用。生產時間長達20小時。
每20秒鐘1個數據點是72000個數據點。您將性能問題每秒顯示和更新70K數據點一次,儘管這是在VB中。
你可能想重新思考你如何做圖表。你真的需要向運營商展示所有70K數據點嗎?如果只顯示最後2K點,該怎麼辦?您不必丟棄早期的數據,只需將它保存在csv文件或訪問數據庫中的其他位置,或其他任何位置(理想情況下位於MSSQL Express或MySQL數據庫中),而不是圖形對象。
如果你做需要顯示整個運行的圖形,請考慮平均。如果你將50個點的組合歸爲1個平均數據點?同樣,您不必丟棄實際數據,只需將其保存在別處即可。
在運行結束時,您可以單擊報告按鈕以從所有70000個存儲點生成圖形,以導出/存儲爲jpg。但這是一次性的事情,即使需要一段時間 - 這也不是那個關鍵的問題。
我們可能需要查看一些有關添加/清除緩存的代碼。 – Barett