Guidelines for Graphics in Windows 7

WinHEC 2008 にあわせて,Guidelines for Graphics in Windows 7 というドキュメントが公開されていたので読んでみました.

このガイドラインは,ハードウェアメーカーや,PC を組み立てて販売するベンダー向けのものです.
ざっと目を通した範囲でほとんどの更新は WDDM 1.1 と関係しているようでした.Windows 7 の成功は,いかにトラブルなく WDDM 1.1 を立ち上げられるかにかかっていそうです.
いくつか重要そうなポイントをメモ.括弧内は心の中のつぶやき.

  • Multi-GPU Systems について
    • Hybrid graphics systems (VAIO type Z や MacBook Pro のような,性質の異なる GPU を切り替えて使う構成) は「強く非推奨」とする.
      • "Windows 7 does not offer native support for hybrid graphics systems. We strongly discourage system manufacturers from shipping such systems, which can be unstable and provide a poor user experience."
      • どうしてもそういう製品を出荷したかったら,"High Fidelity Graphics in Windows 7: A Guide for OEMs and IHVs." を見てね,とのこと.
  • DWM 環境下でも使用可能な,Video Overlay DDI が導入される.
  • GDI Hardware Acceleration を使用可能にする.
    • サポート自体は必須ではない模様.
      • A driver must report the support for GDI acceleration only if the cache-coherent GPU aperture segment exists and there is no significant performance penalty when you access the memory by CPU.
      • (『NVIDIA Graphics Supercharge Windows 7』の中で,「NVidia ドライバは GDI Hardware Acceleration をサポートするぜ」とかゆーてる)
      • (あとはロゴプログラムとの兼ね合いか)
    • GDI Hardware Acceleration サポート時のみ,Aero 使用時のメモリ使用量削減が可能
      • (アプリケーションごとのオフスクリーンイメージを,システムメモリ上ではなく DDB に相当する VRAM 上に保持してメインメモリを節約? 具体的には,BGRA Direct3D サーフェスに対する GetDC がハードウェア処理されるようになる感じのものを予想してるんだけどどうだろ?)
    • GDI Hardware Acceleration サポート時のみ,新しい Explorer のリストビューアニメーションが可能 (これはどうだろ?)
    • 以下の API は,ドライバ内で (結果的に) 高速化される必要がある.(GDI サポート自体は must ではないので,この辺言い回しが微妙な)
      • BitBlt
      • ColorFill
      • StretchBlt
      • AlphaBlend
      • Cleartype font support
      • TransparentBlt
    • BGRA Color Format (Direct3D では ARGB が一般的だけど,GDI は BGRA の並び順) サポートは必須.