- 相關(guān)推薦
系統(tǒng)架構(gòu)設(shè)計師:優(yōu)化顯示速度
根據(jù)您用于顯示用戶界面控件和應(yīng)用程序窗體的技術(shù),您可以用多種不同的方式來優(yōu)化應(yīng)用程序的顯示速度。當您的應(yīng)用程序啟動時,您應(yīng)該考慮盡可能地顯示簡單的用戶界面。這將減少啟動時間,并且向用戶呈現(xiàn)整潔且易于使用的用戶界面。而且,您應(yīng)該努力避免引用類以 及在啟動時加載任何不會立刻需要的數(shù)據(jù)。這將減少應(yīng)用程序和 .NET Framework 初始化時間,并且提高應(yīng)用程序的顯示速度。
當您需要顯示對話框或窗體時,您應(yīng)該在它們做好顯示準備之前使其保持隱藏狀態(tài),以便減少需要的繪制工作量。這將有助于確保窗體僅在初始化之后顯示。如果您的應(yīng)用程序具有的控件含有覆蓋整個客戶端表面區(qū)域的子控件,則您應(yīng)該考慮將控件背景樣式設(shè)置為不透明。這可以避免在發(fā)生每個繪制事件時重繪控件的背景。您可以通過使用 SetStyle 方法來設(shè)置控件的樣式。
使用 ControlsStyles.Opaque 枚舉可以指定不透明控件樣式。您應(yīng)該避免任何不必要的控件重新繪制操作。一種方法是在設(shè)置控件的屬性時隱藏控件。在 OnPaint 事件中具有復(fù)雜繪圖代碼的應(yīng)用程序能夠只重繪窗體的無效區(qū)域,而不是繪制整個窗體。OnPaint 事件的 PaintEventArgs 參數(shù)包含一個 ClipRect 結(jié)構(gòu),它指示窗口的哪個部分無效。這可以減少用戶等待查看完整顯示的時間。使用標準的繪圖優(yōu)化,例如,剪輯、雙緩沖和 ClipRectangle。這還將通過防止對不可見或要求重繪的顯示部分執(zhí)行不必要的繪制操作,從而有助于改善智能客戶端應(yīng)用程序的顯示性能。
如果您的顯示包含動畫或者經(jīng)常更改某個顯示元素,則您應(yīng)該使用雙緩沖或多緩沖,在繪制當前圖像的過程中準備下一個圖像。System.Windows.Forms 命名空間中的 ControlStyles 枚舉適用于許多控件,并且 DoubleBuffer 成員可以幫助防止閃爍。啟用 DoubleBuffer 樣式將使您的控件繪制在離屏緩沖中完成,然后同時繪制到屏幕上。盡管這有助于防止閃爍,但它的確為分配的緩沖區(qū)使用了更多內(nèi)存。
【系統(tǒng)架構(gòu)設(shè)計師:優(yōu)化顯示速度】相關(guān)文章:
系統(tǒng)架構(gòu)設(shè)計師要素01-11
系統(tǒng)架構(gòu)設(shè)計師考試之路01-11
系統(tǒng)架構(gòu)設(shè)計師考試報考條件12-30
系統(tǒng)架構(gòu)設(shè)計師輔導(dǎo):處理圖像01-11
系統(tǒng)架構(gòu)設(shè)計師考試報考指南06-19
系統(tǒng)架構(gòu)設(shè)計師:考慮用戶的觀點01-11
系統(tǒng)架構(gòu)設(shè)計師考試試題舉例10-22