山田祥平のRe:config.sys

【特別編】Windows 8.1のグラフィックス、その期待と懸念

 Windows 8.1は、Windows 8との完全な互換性を保っているように見えて、レガシーを切り捨てている面もある。その代表的なものが画面のスケーリングに関するものだ。ここでは、Windows 8.1のスケーリングについて見ていくことにしよう。

多彩なスクリーンへの対応のために

 Windows PCの取り柄の1つは、さまざまなフォームファクタから、用途に応じて好きなものを選べることだ。ハードウェア各社からは、実にさまざまなフォームファクタの製品が発売されていて、よりどりみどりといってもいい状態だ。もちろん、自作の手もある。だから、その組み合わせは無限といってもいい。

 ハードウェアを特徴付ける1つの要素として、スクリーンサイズとその解像度がある。Windowsロゴの要件も緩和され、これまでの1,366×768ドットから1,024×768ドットになっている。これは、Build 2013で配布されたAcerのIconia W3のような7〜8型のタブレット、つまり、スモールスクリーンに対応させるためだといわれている。

 Iconia W3は、8.1型のスクリーンを持ち、その解像度は1,280×800ドットだ。これまでのロゴ要件だった1,366×768ドットよりも低く、1,024×768ドットよりも高い。もっとも、今は、スクリーンサイズと解像度は、ほとんど無関係といってもよく、スマホなどではたかだか5インチ程度のスクリーンでフルHDサポートというケースも珍しくない。つまり、小さなスクリーンなら解像度が低いという推測は必ずしもあてはまらないわけだ。

 Build 2013カンファレンスを機に公開されたWindows 8.1を見ていくと、スケーリングに関して大きな変更が加えられていることがわかる。

 8.1型で1,280×800を表示させると、Windowsのデスクトップは、タッチで操作するのが困難なほど、スクリーン上の項目が小さい。

 これを回避するために、Windows 8までは、コントロールパネルのディスプレイアプレットを使い、「テキストやその他の項目の大きさの変更」で、各項目のスケーリング値を設定してきた。ところが、Windows 8.1では、そのための設定画面が大きく変わっている。

 この部分は、まだ、日本語版でも英語のままになっていて、未確定の要素が多いのだが、「すべての項目のサイズを変更する」のに、SmallerからLargerを推移するスライドバーが表示されるようになっている。手元の環境では、もっともSmallともっともLarge、そして、その中間に設定することができる。

 この設定では、デスクトップに横たわるタスクバーの要素、デスクトップ上のアイコンサイズなどはそのままで、開いているウィンドウだけがスケーリング処理されて大きく表示される。どうやらもっともSmallな状態がデフォルト値のようだ。ただ、現状の8.1Previewでは、この拡大がうまくいっていなくて、文字などがボケボケになってしまう。

 注目すべきは、この設定画面に、

Let me choose one scaling level for all my displays

という項目が用意されていることだ。

 Buildにおける基調講演では、Wndows 8.1がマルチディスプレイ環境において、ディスプレイごとに異なるスケーリングを設定できるようになることが公表された。この設定項目はそのためのもののようだが、現時点ではまだ実装が間に合っていないものと思われる。

 この機能がうまく働けば、ノートPCを大画面TVに接続したときや、サブディスプレイをつないでマルチディスプレイで使うようなケースで重宝するだけに期待は高まる。

固定されたスケーリング値

 さて、この設定にチェックをつけると、従来的なスケーリング設定ができるようになる。手元の環境では次のような選択肢が表示される。

・小 - 100%
・中 - 125%
・大 - 150%
・特大 - 200%

 また、ここで「カスタムサイズ変更オプション」のコマンドリンクをクリックすると、さらに別のスケーリング値を設定できる。

 用意されているのは、上記の4つに加え、

・250%
・300%
・400%
・500%

の4種類だ。

 Windows 8までは、ここで任意のスケーリング値を入力することができた。個人的にはこの機能を利用して、スクリーンサイズと解像度で計算したdpi値を元に、スケーリング値を算出し、個々の環境に応じたスケーリング値を設定することで、どのような環境でも同じ大きさで各種のオブジェクトが表示できるようにしてきたのだが、それができなくなってしまっている。

 さらに、Windows 8.1では、ついに Windows XP形式のスケーリングが廃止された。カスタムサイズ変更オプションに用意されていた「Windows XP形式のスケーリングを使用する」がなくなってしまっているのだ。これについては、Buildにおけるプレス向けの説明会で質問してみたのだが、本当にサポートは終わってしまうようだ。

 やってみるとわかるが、Windows XP形式のスケーリングでは、ビットマップで提供されているフォントもぼやけるようなことがなく表示されて、それなりに重宝していたのだが、Windows 8.1では、それができなくなってしまう。具体的にはGDI描画のアプリケーションが、高いdpiの解像度にうまく対応できるようにするための救済措置だったのだが、それがついに切り捨てられるというわけだ。つまり、Windows 8.1は、GDIによる2D描画にとどめを刺し、Vistaで始まったDirectXの時代への移行を促進しようとしているとも考えられる。

予定は未定か

 アプリケーションの開発者にとって、多様なフォームファクタ、スクリーンサイズと解像度というのは、とてもやっかいな存在だ。なにしろ、決め打ちすることができないので、製品の出荷にあたっては、とにかくできるかぎり多くの環境でのテストが必要になる。

 今後、Windowsが動く環境は、ますます多様化が進むだろう。Intelの推奨する2-in-1に加え、Acerのようなスモールスクリーンフォームファクタ、もちろんレガシーなクラムシェルやピュアタブレットもある。さらには一体型PCからノートPCを大画面テレビに接続した使い方など、多種多様だ。

 また、昨今は、レチーナ的なソリューションで、サイズに対して、極めて高い解像度を持つスクリーンのデバイスもポピュラーになりつつある。つまり、PCスクリーンのスマホ化が進んでいるわけだ。

 それぞれのケースに応じたユーザー体験を、合理的でリーズナブルなものにするには、Windows XP形式のスケーリングはトラブルの元になるだろうから、その廃止は仕方がないかもしれない。だが、スケーリング値の固定化はどうだろう。ますます多様化するスクリーンサイズと解像度のバリエーションに、本当に対応できるのかどうか。

 このあたり、RTMまでに、さまざまな議論が行なわれて、納得のいく形で製品がリリースされることを願いたい。おそらくは、ここで決めたことが、この先10年は変えられなくなってしまうのだから、今、きちんとやっておくのが望ましい。そういう意味では、この部分が未実装のように見える状態でPreview版が出てきたことは、それはそれでよかったのかもしれない。そこにMicrosoftの迷いが見える。未確定であるということが、はっきりわかるからだ。

(山田 祥平)