VIDEO調節の影響とVPC3.0-3.0.3
VirtualPCのページトップへ
主旨
VirtualPCの初期設定の「ビデオ」の項目には「ビデオ調節」という項目があります。つまり、Windows側を800*600にすれば、Macもその解像度に合わせる、というモードです(Command+Mでフルスクリーンモードにしたとき)。管理人は通常ではこれをオフにして使用していたのですが、Voodoo関係の試験をする際にマウスのコントロール逸脱(FAQsの7番目参照)を防ぐためにこの機能を入れたところ、この機能をオフにして使用したときよりも、時間の経過に伴って起こる「描画の手抜き」現象が少なくなることに気づきました。また、いくつかのソフトで速度が向上したような気もしました。
以上より、実際にどう影響が出るのか。またVirtualPC3.0と3.0.3を比較した「ベンチマークソフトの傾向と試験」の際に使用したHDDイメージが残っていましたので、VPC3.0と3.0.3で差が出る可能性.......Velocity Engineの効果.........も考慮し、このHDDイメージを使用していくつかのベンチマークを選択し、そのままベンチマークを計測してみました。
- 追記:Aoxさんより解説を頂きました。
ビデオ調整について
実際切り替えて見たところ、Vsyncの位置が変わってくるようです。オンだとVPCが画面の描画を乗っ取る感じのようです。実際変化を見てみると、VPCで設定した画面のサイズに変更されます。オフだと、画面の描画はマックの設定に準じた切り替わり方をするようです。例えばマック上で1024*768で表示、VPCで800*600の表示に設定しているとした場合、1024*768の画面の中央に800*600のサイズで表示されます。
ここから先はあくまでも想像ですが、ビデオ調整オンの場合、画面の書き換えをVPCが主導権を握って行う感じになります。オフの場合、マックOS側?にVPCがお伺いを立てて書き換えをしているように見えます。
これがどの程度の差を生むのかいまいちわかりませんが、雰囲気ではオンの方が効率がよいように見えます。
TVに画面の表示を行う場合、書き換える基準信号というのがありますが、これをVsyncという事にします。
で、一秒間に何回書き換えを行うか?というのがリフレッシュレートなわけですよね。普通画面の書き換えを行うタイミングとしてはブランキング期間に行うのが一般的です。画面の描画はVsyncから左横方向に書き換えを始めて、下に下に書き換えて行くのですが、一番下まで書いてからまた上に戻るまでの間に少し隙間があります。つまりVsyncから描画を始めるわけですが、次のVsyncまでの間に少し隙間がありこれをブランキング期間と言います。このブランキング期間に次に描画する画面データを書き換えます。なぜこういうことをするのかというと画面を描画している最中にそのデータを書き換えてしまうと画面にノイズがのることがあるからです。
#一部PCの設定にはVsyncオフという設定がありますが、もろこれです。
で、その描画タイミングが少し違ってくるというのが、ビデオ調整の項目のようです。オンの場合はそのVsyncのタイミングをVPCが決められるという感じでちょっと効率がよいように思えます。オフの場合、マックがVsyncのタイミングを発生しており、マックOS?の方にVPCがお伺いを立てて描画してもらっているようなイメージに見えます。
が、実質現状くらいのパフォーマンスではあまり性能に差が出てくるとは思えません。それは、リフレッシュレートの頭打ちまでの性能が出てないからです。例えば、hdbenchのDirect Drawとかは、早いPCでやるとリフレッシュレートの頭打ちが出てきます(Vsyncオフにすると画面がノイズだらけになる変わりに頭打ち症状はでない)。そうなってくるとモニタの性能つまり800*600では120Hzなのに1024*768では100Hzだ!とかいう場合は当然VPCが乗っ取って800*600で表示した方が数字として出てきやすいでしょう。でもリフレッシュレート以内の場合はどうなんでしょうか?という感じです。
この辺はコネクティクス社にインタビューでもすればわかるんでしょうけど…(^^;
でも、想像ではビデオ調整オンの方が、効率がよいように見えますがどうなんでしょうね。
との事。詳しい解説をありがとうございます。
・使用したベンチマークソフト
・設定に関して
- VirtualPCは3.00と3.0.3を用意
- 512MBのHDDイメージを作成し、Windows95 OSR2を標準インストール。 出来たイメージをコピーして、片方を3.0用、もう片方を3.0.3用にアップデートし、ベンチマークソフトをインストールする。
- 使用ドライブは「Cドライブ」
- VirtualPCの起動をして、すぐさま測定する。
- VirtualPCの初期設定で「Ethernet」を「不使用」、「MMX」の使用項目のあるものに関しては「不使用」。(FMサウンドは、音を使用しないのでON/OFF無関係と判断)
- 800*600で、16Bit
- フルスクリーンモード(ビデオ調節をオン)
- DirectX6.1をインストール
- 計測中には一切手を触れない
- 特に注意がないかぎり、デフォルト設定でベンチマーク
尚、「ビデオ調節をしない」場合のデータは、「がんぶる」を除き全て「ベンチマークソフトの傾向と試験」の際に使用したデータを流用しています。
また、「X.XX(OFF)」はビデオ調節していない時のデータ、「X.XX(ON)」は調節をした時のデータです。
機種条件
機種 | CPU | 2nd Cache | 内臓メモリー | MacOS | HDD接続環境 | Video Card |
PowerMacG4(DVD model) | PowerPC G4/350MHz | 1MB(175MHz) | 320MB | 9.0.4J | 内臓Ultra ATA/66(10GB) | 内臓ATI Rage128Pro(AGP2x) |
VirtualPC | VPC稼働OS | HDDイメージ | Winodwsメモリー | VRAM割当 | ベンチソフト | Formatter |
3.0/3.0.3-J | Windows95 OSR2 | 512MB | 約64MB | 4MB | 上記に準ずる | ドライブ設定1.9.2 |
ベンチマーク結果
HDBENCH 2.61
| ALL | 浮動小数点 | 整数演算 | メモリー | 矩形 | 円 | テキスト | スクロール | DirectDraw | READ | WRITE |
3.0(OFF) | 5657 | 7600 | 12115 | 4069 | 5339 | 860 | 3069 | 143 | 15 | 9241 | 6895 |
3.0(ON) | 5636 | 7714 | 11791 | 4224 | 5142 | 708 | 2987 | 139 | 15 | 9472 | 7140 |
3.0.3(OFF) | 5663 | 7654 | 11839 | 4207 | 4971 | 1061 | 2887 | 173 | 15 | 9499 | 7220 |
3.0.3(ON) | 5586 | 7629 | 11491 | 4243 | 5009 | 1039 | 2879 | 171 | 15 | 9385 | 7095 |
HDBENCH 3.22
| ALL | CPU | メモリー | VIDEO | DISK |
| ALL | Integer | Float | Read | Write | Read&Write | Rectangle | Text | Ellipse | BitBlt | DirectDraw | READ | WRITE | Copy |
3.0(OFF) | 5105 | 7137 | 3808 | 3325 | 4291 | 5621 | 3395 | 2597 | 554 | 159 | 15 | 10491 | 7638 | 3073 |
3.0(ON) | 5172 | 7206 | 3852 | 3327 | 4292 | 5621 | 3384 | 2560 | 518 | 128 | 15 | 10806 | 7699 | 3088 |
3.0.3(OFF) | 5024 | 7157 | 3838 | 3326 | 4291 | 5624 | 3135 | 2510 | 529 | 155 | 14 | 9990 | 7753 | 3062 |
3.0.3(ON) | 5170 | 7210 | 3851 | 3326 | 4291 | 5621 | 3138 | 2388 | 535 | 156 | 15 | 10790 | 7810 | 3093 |
Super_pi
| 1.6万桁 | 3.2万桁 | 6.5万桁 | 13万桁 | 26万桁 | 52万桁 |
3.0(OFF) | 00:11 | 00:23 | 00:48 | 01:44 | 03:51 | 08:37 |
3.0(ON) | 00:12 | 00:23 | 00:48 | 01:43 | 03:50 | 08:35 |
3.0.3(OFF) | 00:12 | 00:23 | 00:48 | 01:44 | 03:51 | 08:37 |
3.0.3(ON) | 00:11 | 00:23 | 00:48 | 01:43 | 03:50 | 08:35 |
LowErrorBench Ver0.20標準(手動)
| 演算処理 | 描画処理 | テキスト処理 | スクロール処理 | Direct Draw | Direct3D |
3.0(OFF) | --- | 5 | 30 | 6 | 38 | 2 |
3.0(ON) | --- | 5 | 30 | 9 | 38 | 2 |
3.0.3(OFF) | --- | 5 | 30 | 8 | 38 | 2 |
3.0.3(ON) | --- | 5 | 30 | 10 | 42 | 2 |
---|
電脳ベンチ試作品(処理時間[sec]/ポイント[pt])
| 総合 | 試練1 | 試練2 | 試練3 | 試練4 | ビデオカード依存度 | 高速演算性重視度 |
3.0(OFF) | 108.2/165 | 27.4/208 | 16.5/179 | 28.7/97 | 35.7/176 | 49% | -47% |
3.0(ON) | 106.9/166 | 27.6/207 | 16.8/177 | 27.3/100 | 35.2/178 | 49% | -46% |
3.0.3(OFF) | 108.7/163 | 27.9/206 | 17.5/172 | 28.1/98 | 35.2/177 | 47% | -47% |
3.0.3(ON) | 108.5/164 | 28.1/205 | 17.4/173 | 27.6/99 | 35.4/177 | 48% | -47% |
試練:
1:CPUによる描画命令+αの実行速度 2:ビデオカードの描画能力 3:整数演算速度とメモリアクセス速度 4:多重スクロールによる総合評価
ベンチ王 Ver2.10
| 総合評価 | CPU性能 | 通常グラフィック性能 | DirectDraw性能 | Direct3D性能 | HDDアクセス速度 |
3.0(OFF) | 5150 | 5068 | 5641 | 11350 | 440 | 3253 |
3.0(ON) | 5089 | 5196 | 5429 | 11300 | 410 | 3113 |
3.0.3(OFF) | 5128 | 5186 | 5463 | 11250 | 440 | 3304 |
3.0.3(ON) | 5123 | 5087 | 5592 | 11200 | 440 | 3296 |
がんぶる ベンチ(fps)
| 総合評価 |
3.0(OFF) | 43.3 |
3.0(ON) | 43.3 |
3.0.3(OFF) | 43.2 |
3.0.3(ON) | 44.1 |
追記:Aoxさん提供
がんぶる ベンチ(fps)
| 総合評価 |
3.0(OFF) | 30.3 |
3.0(ON) | 30.6 |
3.0.3(OFF) | 32.2 |
3.0.3(ON) | 31.1 |
※PM8500 G3/400MHzによる
尚AoxさんのiMac Rev.DでVPC3.0.3(OFF/ON)で26.4/27.1という数字を頂きました。
結論と考察など
個人的には非常に面白い結果を出してくれたかと思いますが..........
- HDBENCH
2.61は余りなんとも言い様がないですが........3.22でCPU項目が上がったようにも感じます。VIDEOは余り差がない感じですが。
- Super_pi
で、HDBENCHで上昇したCPU項目が上がったのか気になったので、やってみたのがSuper_pi。バージョンの差ではなく、ビデオ調節毎で同じ数字を出しているのが奇麗ですが........13万桁からコンスタントな差の広がりが起きている可能性があります。 104、208万桁以上まで行けば更に有意に出てくる可能性がありますが、時間がかかりすぎます(^^; ただ......何となく、CPU項目の(わずかながらの)向上が結構.......?
#しかし、画像と色数を大きくすると数値が悪くなりますね..........
- LowErrorBench
描画に関して向上しています。が、3.0.3のみDirectDrawが上昇しています。
- 電脳ベンチ試作品
似たり寄ったりという気もしますが、共通して「試験その3」が顕著に向上しています。整数演算速度とメモリアクセス速度の向上、と言うことですが.........
- ベンチ王 Ver2.10
誤差? ただし、VPC3.0.3でグラフィック性能が向上しているようにも見えますが.........でも、これだとDirectDrawは落ちています。
- がんぶる
面白いことに、VPC3.0が「調節しない」だと有利だったのですが、「調節する」だとVPC3.0.3が逆転しました。 描画の手抜きはこのソフトで特に顕著に改善されることが分かります。
「ビデオ調節」をオンにすることで得られる恩恵とした「描画の手抜き」現象の改善はなかなか大きいです。コマ落ちの度合いをかなり改善している、と断定できます。これは容易に確認できるでしょう。 また、command+Mでスクリーンモードを切り替えられますので、Macとのやり取りを行うときにはウィンドウモードで、フルスクリーン化で目が疲れなければ(17inchのディスプレイに15、13インチモードのWindowsは疲れます)こちらのチェックを入れておくと環境の改善としては良いのかも知れません。
また、数値的にも微妙な部分はありますが、「調節する」事で若干の数値の上昇が見られるものもありますので、「体感で向上したソフトがある」と最初に書きましたが、あながち嘘ではないかと思われます。大きな差、ではないにしてもです。
VPC3.0と3.0.3という観点から見た場合、今までの検証からソフトによって「効果が違う」という可能性は示唆していますが、特定のソフトではVPC3.0.3においてその向上が見られるものがあります。特に、「LEBENCH」と「がんぶる」における数値の変化は顕著であり、少ない誤差を売りにしているLEBENCHではDirect Drawの向上が、「がんぶる」ではVPC3.0有意だったfpsが「調節する」にしたことで3.0.3が逆転をしています。
これは「推論」なのですが........ VPC3.0.3のVelocity Engineの効果。ソフトによって違う可能性は何度も強調していますが、意外と「ビデオ調節をしてフルスクリーンモード」にすることでその力を発揮するものがあるのかも知れません。
#色々な情報を統合すると、なんとも言えないのですが。
追記:Aoxさんによる考察
Aoxさんがベンチを取った際に頂いた考察です。
iMac RevD およびPM8500/G3/400+Voodoo3でやってみたが、ビデオ調整のオン・オフに差はあまり感じられない。
ベンチとしてがんぶる!のベンチを使用したのは、最近個人的に気に入っているから(笑)と、VPCの使用目的がゲーム(笑)なので、もっとも個人的にあってる気がしたからである。で、その関係だが、ほとんど誤差の範囲ではないかと思われる。結果として提出したのはメモしたデータであるが、何回かやると多少のばらつきが認められたからである。
#ただ、VPCでやると時間がかかるので何回もやる気にならなかった(笑)。
見ていてその差もあまり感じられないというか目立った違いは感じなかったが、小さい画面で見るのはちょっと嫌かも(^^;
結局ビデオ調整オンもオフもあまり差は無かったが個人的にはなんとなくオンの方が有利な気がしないでも無い。VPCがVsyncを乗っ取る方が効率がよいのではないか?と思い込んでいるからかもしれない。が、同社製品であるVGSとかもあるし、このVGSの描画タイミング(*)とかかなり感心した覚えがあるので(特にVGS1.4はかなり効率がよいように見える)その辺の技術を盛り込んでいたりするとCPUが早くなればなるほどFPSに有利に働くような気がする。
#VGS描画タイミング(*)…詳しくは知らないが、見ているとかなりのテクニックを使っているようだ。もちろん、これも製品を見ての想像でしかないが、次に描画する画面をRAM上に展開するときに、ライン飛ばし(例えば一本置き)でざっくり描画、時間が余ったら更に丁寧に書く。が、もし、間に合わずにブランキング期間が来たら描画をキャンセルする。これにより、可能な限りフレームレートを確保しようとするように見えた。VGS1.4になり、この症状は現れなくなり、効率がよくなったように見える。
さすがにVPCでは描画のキャンセルは行えないように見えるが、VGS1.4になって効率がよくなった部分の技術を応用していたらいいなぁという願望もある(笑)。
と勝手な想像をしているわけですが、描画アルゴリズムが変わってより効率はよくなっているけど、ベンチなどのフレームレートに現れてないだけかもしれない。
との事です。ありがとうございました。
Aoxさんの考察も含めて考えてみた場合、内的な部分は色々と意見が分かれているのですが、実際的な面で考えてみるとDirectDrawを使用するタイプのソフト(ゲーム)において快適度が増す可能性が出る、という事があるようです。確かに体感的にも若干改善した感じもありますし、また手抜き具合の問題などから、特に必要のない場合は調節を入れておく方が快適度は上がる可能性はあると言えます。
最も、ディスプレイのサイズを考えると、変に17インチサイズのディスプレイで13インチを見ると目が疲れそうな気がしますが(^^;;
VirtualPCのページトップへ
最終更新2000/07/20