High DPI 解像度に対するフォローアップ
このブログがもたらす大変素晴らしい点のひとつは、コメントやメールで寄せられるトピックの裏側にある詳細な情報やデータについて、さらに詳しくお話することができる点です。皆様のご質問やご意見についてより深く説明させていただけるのは、非常に喜ばしいことです。今回は、高DPI解像度、アプリケーションの互換性、さまざまなケースでの読みやすさに関する一般的な問題について寄せられたコメントのフォローアップをします。デスクトップグラフィックスチームのプログラムマネージャーであるRyan Havesonより、グラフィックスとWindows7の関係についてさらに詳しく説明させていただきます。 - -Steven
私たちがWindows7のプラニングを始めた頃、ディスプレイについてのユーザー データを調べている際に、非常に興味深い (そして驚くべき) ことを発見しまた。ほぼ半数のユーザーがフル ネイティブ画面解像度を使用するためのPC設定を行っていなかったのです。下の表は、以前の記事でChristinaが取り上げたWindows Feedback Program から得られたデータを示したものです。
なぜユーザーが低解像度に設定しているのかを明確に把握する方法はありません。しかし、私たちが目にした多くのコメントは、「高解像度のディスプレイでは、デフォルトのテキストが読みづらいので、低解像度にしているのではないか」、という私たちの仮説と一致していました。もしかしたら、たまたまこのような設定になってしまった、というユーザーもいるかもしれません。例えば、ディスプレイ ドライバが合っていない、あるいは何らかの理由でアプリケーションが解像度を変更し元に戻らなかった、というケースが考えられます。どんな理由で画面解像度が低くなったにせよ、結果的にぼやけたテキストが表示されてしまいます。PCの画面で長時間このようなテキストを読むと本当に目が疲れます。LCDディスプレイの場合、テキストがぼやけてしまう主な原因は、LCDが固定ピクセルで構成されていることです。これは、非ネイティブの解像度設定では、システムが固定単位の中で断片的なピクセルを表示しなければならないことを意味します。これによってぼやけが生じるのです。ぼやけて見える別の理由は、ディスプレイがネイティブの解像度に設定されていない場合、ClearType text rendering technologyが正しく適用されない、ということです。ClearTypeテキストは、多くの (全てではありませんが) ユーザーに好まれて使用されています。興味深いのは、CRTディスプレイの場合、画面解像度の変更による忠実度の低下が、LCDディスプレイほど強調されないことです。なぜなら、CRTディスプレイは、LCDディスプレイのように固定ピクセルを持っていないからです。ただ、LCDディスプレイは、サイズやコスト面でのメリット、ラップトップPCの人気などの理由により、インストールベースでいち早く市場シェアを獲得しました。非ネイティブ画面解像度で実行するもうひとつの問題は、多くのユーザーが不注意にディスプレイを非ネイティブの縦横比に設定してしまう、ということです。これにより、画像は不明瞭になりしかもゆがんで見えてしまいます。ご想像のとおり、これではさらに目の疲労が悪化してしまいます。
文字以外に目を向けても、このようなシナリオではメディアに対する再現忠実性も同様にいちじるしく損なわれます。多くのユーザーが行っているような設定では、仮にハードウェアがその能力を持っていたとしても、それぞれ1280x720と1920x1080スクリーン解像度にあたる720pや1080pといった高精細(ハイデフ)テレビコンテンツを見ることはできません。PCのモニターは伝統的に「高精細」ディスプレイデバイスでしたが、この問題の解決なしにはこのTV業界に対して持っていたこの優位性を失ってしまう危険性があります。今日、約10%のユーザーだけが真に1080pを表示可能なPCディスプレイを持っているというのは事実ですが、ディスプレイの価格は下がり続け、インストールベースは成長を続ける見込みです。そして、ユーザーが利用したいと望む高精細のコンテンツに対する別の波が来るであろうことも確実でしょう。例として、ディスプレイが400 DPIを獲得したとき、それは紙に印刷された文字と見た目はほとんど区別がつかないでしょう。現在の170 DPI程度のeBookリーダーでもガラスの向こうの紙程度には見えます。
この例から、現実のエンドユーザーが活用できる利点を見ることができます。実はこの問題を解決することができる“High DPI”と呼ばれるWindowsの既存の基盤技術があります。High DPIはWindows 7の新機能ではありません。(初期にもあった基盤技術を超える意味で) VistaまではHigh DPIをサポートするためのOSユーザーインターフェースに対し大規模な投資はされてきませんでした。Vistaで試してみてください。デスクトップ上で右クリックして、個人設定を選び、左側の列から「フォントサイズ(DPI)の調整(J)」を選びます。Windows7に対する私たちの考えは、箱から出したばかりのPCそのままの状態でHigh DPIを利用できるのであれば、ユーザーは高精細エクスペリエンスを利用でき、スクリーン上の文字を読む際の目へのストレスをも大きく減らすことができるのではないかというものでした。ディスプレイの実際のDPIを検知する基盤技術があるので、箱から出したばかりのPCに対するデフォルトの設定の調整で望ましい結果を出すことができます。しかし、こうすることによりhigh DPI設定に対し完全に互換性のないアプリケーションに対し問題が生じる危険性を含んでいます。
問題のひとつは、GDIアプリケーションがDPIを気にしなくてはいけないということです。開発者はウィンドーフレーム、テキストサイズ、グラフィカルボタン、レイアウトをDPI設定で指定されたスケールファクタにマッチさせスケールするようにコードを書かなくてはいけません。そうしていないアプリケーションはいくつかの問題を持つでしょう。大多数は大きな問題ではありません。フォントサイズのミスマッチ、レイアウトに関する些細な問題などです。しかしアプリケーションによっては高DPI設定で走らせたときに大きな問題をおこします。
(この問題を)軽減するいくつかの対策として、例えばDPIを認識しないアプリケーションに対する自働スケーリング機能というような対策を、Windowsに施す事が出来ますが、しかしこうした軽減機能にも問題があります(このテーマに関するGreg Schechter’s blog もご参照ください)。自動スケーリングの場合、DPIを認識しないアプリケーションは、ウィンドーマネージャーによって自動的にスケーリングされます。テキストのサイズは、ユーザーの好みの設定に自動的に合わされますが、結果的に、そのアプリケーションのウィンドーで文字がぼやけるといった影響も生じるでしょう。小さなテキストを読むことができない方々に対して実用的なhigh DPI環境を実現するためには、こうしたスケーリング機能は必要な機能なのです。しかしながら、high DPIにうまくスケールされたアプリケーションだけを使用しているユーザーや、または、テキストサイズがうまく合っていないにもかかわらずその影響をさほど受けていないユーザーは、結果的に自動スケーリングによって文字がぼやける現象が引き起こされる事で、自動スケーリングがより悪い選択肢であると判断してしまうかもしれません。DPIを認識するアプリケーションであるかどうかをOSが検出する方法がないと、デフォルト設定を選択しなければなりません。そしてそれは、どのくらいの利点があるか、何を取捨選択するか、という元の疑問へと立ち返ります。長期的な解決方法は、アプリケーションが解像度に依存しなくなる事と、アプリケーションがユーザーの設定に合わせてスケールできるようにする事です。この為には、私たちのツールとドキュメントの両方のサポートが不可欠です。どうやって時間をかけてそこに行き着くか、そして、いかにその移行期間中の使い勝手を最良なものにするか、これらを見つけ出す事がプラットフォームの挑戦です。
短期的 vs 長期的な顧客満足度
長期的に考えるとhigh fidelity experienceを持たせる事が重要であるという点は、High definition TV(ハイビジョンテレビ)のモデルを見ても明らかです。唯一の問題点は、high DPIの基盤が複数のWindows OSのリリースに渡って存在しているにも関わらず、実際にこれらの環境設定でどのくらいのアプリケーションがテストされたのかを、私たちが明確に把握していない事です。(実際、DPIを認識するアプリケーションの作成方法として2001にMSDNの記事が公開されています。)つまり、この機能を有効にしたことで、より広範囲に引き起こされるであろう短期的なユーザーへの悪影響が数値化されていない事に、私たちは直面しました。私たちがまず初めに行ったことは、起こりえる障害を数値化することでした。私たちは、high DPI設定時にアプリケーションがどのように動作するかを把握する為に、私たちのアプリケーション互換性検証ラボにある1,000を超えるアプリケーションでテストを行いました。そこで私たちが確認できた結果として、これら1000アプリケーションの各問題の比率を以下に示します。
1点補足しますと、私たちが言う “ バグ ” とは、ソフトウェアが期待にそぐわない動作する事です ‐ つまり、クラッシュといった深刻な問題から、見た目上の問題まで、すべてが対象となります。私たちはこれらのバグを、1~4の段階でその深刻度( Sev )を分類しています。ここでSev1は、本当に深刻な問題(クラッシュ、データ損失、機能の欠落)、そしてSev4は非常に些細な現象、または、非常に発生率が低いものです。
調査の結果、多くのアプリケーションは high DPI において十分動作することがわかりました。ごく一部のアプリケーションでしか主要な機能が損なわれることはありませんでした。もちろん十分動作するアプリケーションは心配の必要がありません。ですがもし 1% のアプリケーションで high DPI において重大な問題があるとすれば、それは重要な数字です。そのため私たちはバグを調査し、発見された問題の種類ごとに分類しています。こちらは私たちが見つけた結果です。
私たちが見つけたことで、もっとも重大な問題のひとつはユーザーインターフェースの表示が欠けてしまうということでした。これをより深く調べると、それらのケースの多くでは画面の有効解像度が極めて低い (800x600 もしくはそれ以下) 時おこるということが明らかになりました。これに基づき、私たちはユーザーがそのような低解像度に設定するケースの数を最小化できるように設定画面をデザインすることができました。私たちは問題の種類を一つ一つ調査し、可能な場合はそれぞれの緩和策をとりました。もちろん最良の緩和策は予防であるため、High DPI は PDC やWinHEC、その他の会合において私たちが開発者の皆さんに対してお話しする重要な焦点になります。
総計 vs 個々のユーザーデータ
私たちの調査のひとつに何人のユーザーが現在 (Vista/XP で) high DPI を利用しているかという事があります。データによると、非常に少ない割合のユーザーだけが現在 high DPI の機能を有効にしています。これを、エンドユーザーはこの機能に関心がない、もしくは必要性がないという明確なメッセージだと安易に捉えることもできます。また別の説明としては、利用されていない主な理由が XP と Vista の high DPI に対するシェルのサポートが非常に限られており、これらのプラットフォームに搭載された IE の各バージョンでフォントサイズが合わなかったりウェブページの比率がおかしくなったりするという大きな問題があるからだという見方もできます。また、Vista以前からこの機能を利用されているユーザーがいらっしゃるという事も理解しています。また再度、私たちはデータを解釈する必要があり、今の段階では必ずしも明白ではありません。
タイミング : この時期にこの機能は市場にとって正しいでしょうか?
幸いなことに、私たちはハードウェアとソフトウェアのどちらが先に出てくるのかといういわゆる “鶏と卵” の問題を抱えていません。ハードウェアはすでにフィールドやマーケットに出ており、したがってOSが単にそれを利用するかどうかという問題だけです。ソフトウェアの観点からすると、多くのソフトウェア アプリケーションは (IE 8 のように改善されたズーム機能をもつブラウザも含めて) DPI に対応できていますが、かなりの数のアプリケーションで high DPI でうまく動作しない可能性があるものが存在しています。別の鍵となるデータとしては、LCD パネルのディスプレイ解像度が標準のDPIでは最大に達しつつあるということがあります。このようなディスプレイで1900x1200を超える解像度にすることはテキストが小さすぎて誰も読めなくなるため、OS の high DPI サポートなしには成し得ません。さらに、既にこの解像度では2 メガピクセルの写真や高精細なビデオ (1080p) を再生することができます。フィールドに既にハードウェアが存在すること、よりよいエクスペリエンスを可能にできる将来性、そしてハードウェアが現状では OS とソフトウェアによって制約されていることを組み合わせると、この件を論じるのは正しいタイミングだといえます。
結論
お客様のデータを調査することは、ウィンドウズ エクスペリエンスを改善する方法を見つけるのに役立ちます。この場合私たちが、ユーザーがディスプレイを、メディア再生のための高性能なエクスペリエンスを楽しみ、テキストを適切なサイズに描画させるために設定を簡単にする機会が存在している事が明確にわかりました。とは言うものの、私たちはいつでもウィンドウズアプリケーションのエコシステムに影響を与える可能性の高い機能に投資する場合、皆さんのソフトウェアに対する投資を無駄にしないように注意したいと考えています。また、私たちは、ソフトウェア開発企業の開発者コミュニティと早期に、密にお話し、私たちが提供するプラットフォームの価値を、ソフトウェア開発者の皆さんが彼らのお客様にシームレスに提供できるように確認作業を続けていきます。現在までのところ、マイクロソフト社内のテストや私たちが収集したデータが、私たちが何かを適切に決めるにあたって、非常に重要なデータになっています。High DPI は、エコシステム全体の協力が問題の解決に必要であるという良い例です。また、それは人々が抱えている問題がなにか、それを解決するための最善の方法は何かを判断するために、市場のお客様のデータをマイクロソフト社内のテストとともに、どのように利用できるかという可能性も示しています。
--Ryan