古い C++Builder / Delphi アプリケーションの外観を最新化しようとしているときに、ビジュアル テーマ(ビジュアル スタイル)を有効にしましたが、追加されたパフォーマンス ヒット テーマの量に驚きました。たとえば、主要なセットアップ ページ (11 タブ、200 コントロールのモンスター ダイアログ。開発時間と再トレーニング コストの理由から、今はやり直したくありません):
- テーマを有効にしない場合:フォームとそのコントロールの構築に約 0.1 秒(QueryPerformanceCounter で測定)、メニュー項目をクリックしてからフォームが表示されるまでに約 0.9 秒(ストップウォッチで測定)。エンドユーザーにはあまり目立ちません。
- テーマが有効な場合:フォームとそのコントロールを構築するのに約 0.6 秒、メニュー項目をクリックしてからフォームが表示されるまで約 1.5 秒。エンドユーザーにとって非常に目立ちます。
Windows XP デスクトップと Windows 7 VM の両方で同様の結果が得られます。
この特定のケースを改善するために実行できる手順 (ダイアログのタブを遅延読み込みするか、完全に再設計するなど) があることは認識していますが、テーマがそのような顕著なパフォーマンス ヒットを追加するのは一般的ですか? このパフォーマンスへの影響を回避するための簡単な提案はありますか?