系統架構設計師:優化顯示速度

才智咖 人氣:3.2W

根據您用於顯示使用者介面控制元件和應用程式窗體的技術,您可以用多種不同的方式來優化應用程式的顯示速度。當您的應用程式啟動時,您應該考慮儘可能地顯示簡單的使用者介面。這將減少啟動時間,並且向用戶呈現整潔且易於使用的使用者介面。而且,您應該努力避免引用類以 及在啟動時載入任何不會立刻需要的資料。這將減少應用程式和 .NET Framework 初始化時間,並且提高應用程式的顯示速度。

系統架構設計師:優化顯示速度

當您需要顯示對話方塊或窗體時,您應該在它們做好顯示準備之前使其保持隱藏狀態,以便減少需要的繪製工作量。這將有助於確保窗體僅在初始化之後顯示。如果您的應用程式具有的控制元件含有覆蓋整個客戶端表面區域的子控制元件,則您應該考慮將控制元件背景樣式設定為不透明。這可以避免在發生每個繪製事件時重繪控制元件的背景。您可以通過使用 SetStyle 方法來設定控制元件的樣式。

使用 ControlsStyles.Opaque 列舉可以指定不透明控制元件樣式。您應該避免任何不必要的控制元件重新繪製操作。一種方法是在設定控制元件的'屬性時隱藏控制元件。在 OnPaint 事件中具有複雜繪圖程式碼的應用程式能夠只重繪窗體的無效區域,而不是繪製整個窗體。OnPaint 事件的 PaintEventArgs 引數包含一個 ClipRect 結構,它指示視窗的哪個部分無效。這可以減少使用者等待檢視完整顯示的時間。使用標準的繪圖優化,例如,剪輯、雙緩衝和 ClipRectangle。這還將通過防止對不可見或要求重繪的顯示部分執行不必要的繪製操作,從而有助於改善智慧客戶端應用程式的顯示效能。

如果您的顯示包含動畫或者經常更改某個顯示元素,則您應該使用雙緩衝或多緩衝,在繪製當前影象的過程中準備下一個影象。System.Windows.Forms 名稱空間中的 ControlStyles 列舉適用於許多控制元件,並且 DoubleBuffer 成員可以幫助防止閃爍。啟用 DoubleBuffer 樣式將使您的控制元件繪製在離屏緩衝中完成,然後同時繪製到螢幕上。儘管這有助於防止閃爍,但它的確為分配的緩衝區使用了更多記憶體。