我目前在應用程序中大量使用DevExpress控件。這些控件非常棒,加速了開發時間(因此,我不想把它們丟掉),但是我的表現有一些問題。提高WPF控件加載資源的性能
我的應用程序是一個Shell/Modules/Views & ViewModels應用程序(它遵循Prism中的很多設計模式)。
當第一次加載視圖時,需要很長時間才能顯示(在我的一些用戶用低速機器的個人電腦上,我們正在談論5秒鐘以上)。顯然需要花費的時間取決於DX控件的使用情況(有多少應用程序之前沒有看到過)。
當您銷燬視圖並重新打開它時,它會在不到一秒的時間內打開。我的測試用例/性能配置文件中的ViewModel已經被重新創建 - 所以在我的代碼中沒有視圖調用之間的共享狀態(沒有單個注入對象)。
經過一番討論和研究之後,我似乎已經將問題縮小到按需加載DX控件的模板文件。 這裏有大約一個線程: http://www.devexpress.com/Support/Center/Issues/ViewIssue.aspx?issueid=Q382256 ,其出處: http://www.devexpress.com/Support/Center/p/B201967.aspx & DevExpress controls for WPF load time 在這些線程中所描述的解決方案是顯示加載指示符或在啓動時使用就可以與對照隱藏窗口。這些選項都不是我想要做的事情(當我嘗試一個簡單的例子時,隱藏的窗口選項似乎沒有獲得太多的性能,有趣的是 - 這也表明我可能會錯過某些東西)。
我希望做的是預加載模板文件,我知道我將需要一個後臺線程。有什麼辦法可以在WPF中做到這一點? (我認爲這是一個普通的WPF事情,而不是DevExpress的事情 - 即使它需要在DX庫中實現)。
對於我或DevExpress的傢伙有什麼想法?
通常,您需要在UI線程上創建WPF UI控件,以便您可以在DX模板中找到相同的應用程序... –
嗨大衛您是否最終解決了您的問題? – baalazamon