Graphics Device Interface
GDIは直線や曲線の描画、矩形や楕円の描画と塗りつぶし、ビットマップ画像(ラスター画像)の操作、フォントの管理とレンダリング、パレットの制御といった処理を担当する(gdi32.dll)。ウィンドウやメニューなどのような上位レベルの描画については直接関わらず、より上位の user32.dll にあるユーザーサブシステムに任される。
GDIはハードウェアに直接アクセスするデバイスドライバーよりも上位に位置し、デバイスの機能的な調整と抽象化がGDIの役目である。GDIを使うことにより、画面やプリンターなどの多様なデバイスに容易に描画でき、そして各デバイスで適切な表示結果を望める。この機能はWindowsの全てのWYSIWYGアプリケーションの要である。
フリーセルやマインスイーパ(Windows XP以前)のような高速な描画が不要なゲームはGDIを使用していた。
ハイエンドの PCL プリンターや PostScriptプリンターでは、ソフトウェアの互換性やドライバーのバグなどの問題があった場合にドライバーを更新して対応できるが、GDI プリンターでは対応策がない場合がある。
GDIプリンターは一般的に Windows に限り動作する。例外はあるが、他の OS では原則的に GDI プリンターを使用できない。
最新のインクジェットプリンターの機種は GDI ベース(レーザプリンターでは費用が主要因であるのに対し、ここでは主に性能の理由)であるが、より柔軟な傾向がある。多くが Mac に対応し、Linux コミュニティでは Linux 版ドライバーの対応をかなり改善した。一部(特にセイコーエプソン)ではより伝統的なエミュレーションを予備として提供することが多い。
一般的には安価なレーザプリンターは GDI デバイスであるが、多くのメーカーでは PCL や PostScript あるいはその両方の機能を持つモデルも製造している。GDI のみに対応するプリンターはどのメーカーにおいても最も安価なモデルとして位置づけられる。