公眾號:mywangxiao
及時發(fā)布考試資訊
分享考試技巧、復(fù)習(xí)經(jīng)驗
新浪微博 @wangxiaocn關(guān)注微博
聯(lián)系方式 400-18-8000
優(yōu)化顯示速度
根據(jù)您用于顯示用戶界面控件和應(yīng)用程序窗體的技術(shù),您可以用多種不同的方式來優(yōu)化應(yīng)用程序的顯示速度。當(dāng)您的應(yīng)用程序啟動時,您應(yīng)該考慮盡可能地顯示簡單的用戶界面。這將減少啟動時間,并且向用戶呈現(xiàn)整潔且易于使用的用戶界面。而且,您應(yīng)該努力避免引用類以 及在啟動時加載任何不會立刻需要的數(shù)據(jù)。這將減少應(yīng)用程序和 .NET Framework 初始化時間,并且提高應(yīng)用程序的顯示速度。當(dāng)您需要顯示對話框或窗體時,您應(yīng)該在它們做好顯示準(zhǔn)備之前使其保持隱藏狀態(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),它指示窗口的哪個部分無效。這可以減少用戶等待查看完整顯示的時間。使用標(biāo)準(zhǔn)的繪圖優(yōu)化,例如,剪輯、雙緩沖和 ClipRectangle。這還將通過防止對不可見或要求重繪的顯示部分執(zhí)行不必要的繪制操作,從而有助于改善智能客戶端應(yīng)用程序的顯示性能。
如果您的顯示包含動畫或者經(jīng)常更改某個顯示元素,則您應(yīng)該使用雙緩沖或多緩沖,在繪制當(dāng)前圖像的過程中準(zhǔn)備下一個圖像。System.Windows.Forms 命名空間中的 ControlStyles 枚舉適用于許多控件,并且 DoubleBuffer 成員可以幫助防止閃爍。啟用 DoubleBuffer 樣式將使您的控件繪制在離屏緩沖中完成,然后同時繪制到屏幕上。盡管這有助于防止閃爍,但它的確為分配的緩沖區(qū)使用了更多內(nèi)存。
相關(guān)推薦:
(責(zé)任編輯:)