8

現在、アプリケーションで DevExpress コントロールを多用しています。コントロールは優れており、開発時間を大幅に短縮します (したがって、私はそれらを捨てたくありません) が、パフォーマンスに関していくつかの問題があります。

私のアプリケーションは、Shell/Modules/Views&ViewModels アプリケーションです (Prism に見られる多くの設計パターンに従っています)。

ビューが最初にロードされると、表示に非常に長い時間がかかります (低速のマシンを使用している一部のユーザー PC では、5 秒以上かかってハングアップすることになります)。明らかにかかる時間は、DX コントロールの使用状況 (アプリケーションによって以前に見られなかったものの数) によって異なります。

ビューを破棄して再度開くと、1 秒もかからずに開きます。テスト ケース/パフォーマンス プロファイルの ViewModel は毎回再作成するように作成されているため、ビューの呼び出し間でコード内に共有状態はありません (シングルトン注入オブジェクトはありません)。

少しの議論と調査の後、問題を DX コントロールのテンプレート ファイルのオンデマンド ロードに絞り込んだようです。それについてのスレッドがあり ます: http://www.devexpress.com/Support/Center/Issues/ViewIssue.aspx?issueid=Q382256 参照: http://www.devexpress.com/Support/Center/p/ B201967.aspxおよびWPF 読み込み時 の DevExpress コントロール これらのスレッドで説明されている解決策は、読み込みインジケーターを表示するか、起動時にコントロールのある非表示のウィンドウを使用することです。これらのオプションはどちらも私がやりたいことではありません (興味深いことに、単純な例を試してみたところ、非表示のウィンドウ オプションはあまりパフォーマンスが向上していないように見えました。これは、何かが欠けている可能性があることも示唆しています)。

私が望んでいるのは、バックグラウンド スレッドで必要になることがわかっているテンプレート ファイルをプリロードすることです。WPFでこれを行う方法はありますか? (これは、DevExpress のものではなく、より一般的な WPF のものだと考えています - たとえそれが DX ライブラリ自体に実装する必要があるものであっても)。

私または DevExpress のスタッフに何かアイデアはありますか?

4

1 に答える 1