當前位置:學問君>人在職場>職業培訓>

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

學問君 人氣:3.22W

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

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

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

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

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