2012-08-15 31 views
0

我在我的應用程序中使用了Steema TChart。我使用這個組件來繪製線圖,通常包含1,000到2,000個數據點,實時數據點可用。一條典型的線路需要大約30秒才能完成。TChart的性能問題

在生成第二行或第三行後,TChart組件達到與處理器掛鉤的點。即使圖表正在更新,其他UI更新也會受到每次添加新數據點時圖表必須執行的重繪的嚴重影響。我已經嘗試過,發現如果在繪製線條時沒有顯示圖表(該圖表位於窗口的單獨選項卡上;但是當前未顯示),我的性能更好,處理器使用率更高急劇下降。

有沒有人找到方法來使用這個組件,並有更好的性能?

回答

2

在這種情況下,可能會使用如this thread中建議的使用AutoRepaint屬性的異步繪製技術,這將有助於提高系統的性能。基本上,您需要將Autorepaint設置爲false,以防止在添加點後重新繪製圖表並將其重新設置爲true,並在數據添加完成後調用刷新。

The 實時製圖文章here也可能有助於提高您的TeeChart應用程序的性能。這是一篇Delphi文章,但大多數文章也可以應用到.NET版本的TeeChart。

最後但並非最不重要的一點,TeeChart for .NET附帶了Direct2D渲染引擎。這對於DSP實時應用程序所需的高速數據吞吐量來說非常理想。請參閱白皮書Boosting graphics-rendering performance in Windows Forms,以獲得更詳細的信息。

+0

謝謝,這是有用的信息。 – user1601717 2012-08-16 15:33:09