本連載でも何度か述べているように、Windows 7では新しいグラフィックAPI「Direct2D」「DirectWrite」により、画面表示が高速になり、なおかつ文字が綺麗に表示できるようになった。
WindowsはWindows Vistaで、DirectXを画面表示に使うアーキテクチャーに変更された。しかし、テキスト表示や2D図形、線を表示するには、新しく導入されたグラフィックスサブシステム「WPF」(Windows Presentation Foundation)を、アプリケーションが直接扱う必要があった。
![]() | DirectXとWPFは、GPUのハードウェアアクセラレーションが利用できる。一方旧来のGDI/GDI+は、GPUのサポートが使えない(TechDays 2009資料より引用) |
|---|
WPFは高度な機能を有していたものの、単にテキストや2Dグラフィックを表示するだけに使うには、いささかプログラミングが難しかった。そのためVistaになっても多くのアプリケーションが、昔からあるAPI「GDI」「GDI+」をそのまま利用していた(Windows XPとの互換性という面からも、WPFで全面的に書き換えるわけにはいかなかった)。
Windows 7ではVistaでの反省を活かして、テキスト表示専用のDirectWrite、2Dグラフィック専用のDirect2DというAPIが用意された。
![]() | Direct2DとDirectWriteは、DirectXの上に構築されている |
|---|
DirectWrite
DirectWriteとDirect2Dは、DirectXを通じてGPUの機能を利用する仕組みになっている。そのため、GDIを使用するよりも、場合によっては数倍高速に画面表示が行なえるという。さらに、一部をGPUで処理するため、CPUの負荷が軽くなるといったメリットもある。
例えばDirectWriteでは、液晶ディスプレーで見やすいようにフォントをスムージング処理する「ClearType」機能をGPU側で処理することで、CPUに負荷がかからないようにしている。また、表示デバイスの解像度に依存しない、自由なレイアウトも実現できる。もちろん、既存のGDIに準じたレイアウトと描画が可能だ。
DirectWriteでは、文字の字詰めや行間の設定もコントロールできる。この機能を使えば、欧文送り(アルファベットは文字を詰めて、綺麗に表示する)、漢字やひらがななども、見やすく表示することが可能だ。さらに、文字に色をつけるグラデーション機能で、GPUを使って色をつけられる。
![]() | ![]() | |
|---|---|---|
| DirectWriteの機能 | DirectWriteでは、OpenTypeが持つさまざまなタイポグラフィが利用できる。ひとつのフォントから、コマンドひとつでこのような飾り文字が表示できる |
![]() |
|---|
| GDI(上)とDirectWrite(下)で同じテキストを表示。フォントのサブピクセルをシェーディングすることで、フォントのギザギザが目立たなくなっている |
この連載の記事
- 第50回 次期IE「Internet Explorer 10」プレビュー版が公開
- 第49回 RTM版も登場 Windows Home Server 2011の変更点とは
- 第48回 5秒で起動するSplashtop OSを自作パソコンで試す
- 第47回 ベンチで検証 Internet Explorer 9 RCの互換性と性能
- 第46回 正式版の直前となるInternet Explorer 9 RC版が登場
- 第45回 Silverlightをさらに進化させる「Silverlight 5」
- 第44回 「Windows on ARM」が持つ意味と課題は何か?
- 第43回 GPUを利用できる仮想化ソフト XenClient 実践編
- 第42回 複数のWindowsを使い分ける仮想化ソフト XenClient
- 第41回 3秒で起動しWindowsと共存するOS「Splashtop OS」
- この連載の一覧へ




















