続・メモリ帯域は偉大だという話。
さて、前回のネタは「Full HD動画を再生するにはVGAのメモリ帯域が必要だ」というお話だったのだが。
これをちょっと視点をズラして言い換えてみると、こんなことが言えるのでは。
統合型チップセットでFull HD動画再生を行っている間、VGA画像転送に圧迫されてメインメモリの帯域は著しく制限される
→従ってこの間はバックグラウンドで実行されているプログラムの処理効率は著しく落ちる
VGAもメインメモリも同じメモリを分け合っているので、Full HD再生中はメモリ争奪戦がナカナカ凄いことになっている筈。
でもこれ、ユーザが体感出来る程の違いは出るのか?
・・・ということで、実験してみた。
大量のメモリアクセスを繰り返すと思われるアプリをいくつか、ついでにVMware Workstationも引っ張り出して。
Full HD動画を再生中と、何もしないでいる時と、条件を変えて実行し、パフォーマンスに差が出るかどうか。
◇
結論。
確かに違いは出ているようだが、何と言ったら良いやら。
・・・スッキリしない言い方だが、実際あんまりスッキリした結論は出てないのよ。
まずアプリレベルでは、何度か繰り返してみても「振れ幅」が大きく、「確実」ということを言うのは正直キビシイ。
個人的主観ではパフォーマンスは劣化していると思うのだが・・・という。
一方、VMware Workstation上で動かしているOSには目に見えてパフォーマンス劣化が。
特に仮想I/O周辺は影響が大きく、画面描画やNetworkデータ入出力といった部分では、パフォーマンスが半分以下に。
まあVMware Workstationの仮想I/Oがクソ重いというのは周知の事実で、ちょっと重いアプリを走らせればあっさりとパフォーマンスが劣化するのは常識ではあるのたが。
ポイントはFull HD再生時にはCPUは「演算は殆どしていない」ということ。GPU側のアクセラレーション(790GXの場合UVD)が効いているので、世間一般ではこの状態を「システムに負荷はかかっていない」と表現することが多い。
にも関わらず実際に仮想I/Oに強烈なダメージが来る、いうことは「動画再生のためにデータ転送と画面描画をそこそこ頑張っていて、メモリ帯域もそれなりに占有している」という状態は、「システムに少なくない負荷がかかっている」と表現することが正しいのでは、という気がする。
#にしても、こうやってイロイロいじっていると、単純な機能単位で測るいわゆるベンチマークってのがホントに「参考程度」でしかない、というのを実感しますな。
あと、そんなにメモリ帯域が大切なら素直に単品VGA刺せよ、と。
メモリ帯域は偉大だ、という話。
または、SidePort Memoryだけでは苦し過ぎるというお話。
さて、AMDの7×0/8×0系のIGXではお馴染みのSidePort Memory。
128MB程度がオンボードに乗っていて、コレがあると無いとではビミョーに性能が変わるという。最近では搭載しているのが当たり前。
#・・・かと思ったら、785Gから880Gに世代交代してまた採用率が下がっているような?ビミョーな性能とコストを天秤にかけて、コストが優先されてるのかね。
ところで、一部のマザボではSidePort Memoryを使うかどうか、或いはUMAを使うかどうか、ということをBIOSで設定が可能なんですな。
さて、ここからが本題。
128MBもあればWindows 7でAEROも使用可能。Full HDの2枚表示でも問題ない。
そこで、モノは試し。790GXをSidePort Memory「だけ」で動かしたらどうなるか、ちょいと試してみた。
といっても、ポイントはベンチマーク値ではなく。そんな分かり易く数字が下がるのはどうでも良くて、「体感で」分かる程の差が出るかどうか。
ちなみにSidePort MemoryはDDR-667MHzとクロック数だけは高いが、帯域は僅か「16bit」。
同世代のRadeon 3450(とその後継の4350)がDDR-500MHzとはいえ64bitの帯域があるのと比べると、1/3という。
◇
実際にBIOSで切り替えて少し使ってみた。
ビジネスアプリでは・・・ほぼ違いは分からない。
といっても全く分からないというワケでもない。画像をやったら貼ったExcel画面のスクロールや、画像とFlash満載のサイトをFirefoxで開いている時なんかは、体感で明らかに違いが分かる。
逆に、そういう画像べったりモノ以外では、ほぼ問題ない。
#16bitという帯域はダテじゃない。
とはいえ、AEROそのものって意外と軽いやん。Vistaってなんであんなに重いんだ?
で、これで課題がクリアになるかと思ったら・・・世の中そんなに甘くなかった。
劇的にダメになるモノがあったんですわ。もうボロボロという。
それは何かというと、「動画再生」。
SidePort+UMAでは余裕だったFull HD再生が、SidePort Memory Onlyでは全く無理。
フレーム落ち、ガクガク、時間軸ズレ、挙げ句にはフレーム逆転。全く見られたモンじゃない。
それではどこまで画面を縮小すれば再生が間に合うかと試してみると、倍率50%ならば何とかギリギリ正常に再生出来る様子。
うーん、SidePort Memoryの帯域ではこれが限界か。
◇
結論。
SidePort Memory Onlyってのはナシだよね。
・・・それは良いのだが、一つ気になることが。
今回の実験で、DDR2-667MHz/16bitの帯域でまともに動画再生が可能なのは960×540程度が限界、ということが判明したのだが。
ここから逆にFull HDで必要な帯域を計算してみる。
Full HDは縦横2倍=面積比4倍のため、メモリ帯域もこの4倍必要。
ということは、Radeon HD 3450と4350は単体VGAにも関わらず、メモリ帯域が不足してFull HD再生はおぼつかない、ということでは。
こう考えると、最新のRadeon 5000シリーズから5350という型番のローエンド品が無くなったのも当然かも。
現在ローエンドの5450はDDR3-800MHz/64bitが一応リファレンスということになっているので、SidePort Memoryの約5倍の帯域。
コレなら取り敢えずFull HD再生でも問題ない計算になる・・・あまり余裕も無さそうだが。
ついでに、ローエンド5450にはDDR2-400MHz/64bitなんてモノも転がっているが、これでは明らかに帯域が不足ということに。
Blu-rayをまともに見たければ、5450でもDDR3採用モデルを選びましょ、と。
そしてもっさりは消えた、のだが・・・。
HDMIセレクタにハンダを入れた挙げ句、無事、HDMI接続によるDualDisplay環境が出来上がった780G。
巷で言われている「Dualにしたらもっさりが消えた」というウワサを確かめて、780Gネタ最終回としましょう。
ということで、まずベンチ・・・。
| VGA | GDI | Text | Square | Circle | BitBlt |
|---|---|---|---|---|---|
| 780G DualDisplay | 4774 | 136 | 2565 | 1270 | 803 |
| VGA | D2D | 10 | 100 | 500 | 1000 | 5000 | 10000 |
|---|---|---|---|---|---|---|---|
| 780G DualDisplay | 1774 | 105 | 90 | 54 | 36 | 10 | 5 |
えと、何これ(笑。GDI速度、Singleの時より圧倒的に上がってるんですけど。
更に、Singleの時は「こいつはすげぇ」というレベルでもっさりしていたWebを開いてみても、全然もっさりしてないんですが。普通にサクサク行けるよ?
ということで、Dualにするともっさりが消える、というのは事実でしたとさ。
◇
しかしこうなると、原因は何じゃらほい。
普通に考えると、Dualにすると描画面積が増えるのでパフォーマンスには負の影響が出る。
8500GTや7600GSを使ったベンチテストでもその通りの数字が出ている。
だというのに、数字が上がる。体感で分かるぐらい動きが良くなる。
以前PowerPlayが原因だという話もあったが、実際にAMD OverDriveで見てみたところ、このM/BではGPUは500MHzで固定の様子。
数字がぴょこぴょこ変わりまくるのを期待していたのに、実につまらないというかなんというか。
こうなると、考えられる原因はただ一つ。ドライバが駄目、以上。
まぁ確かにベンチ取ってみると絶対値が低めということもあるが、Dual時は少なくとも「体感では」問題ない。
そうなると、Single時のドライバの挙動に問題があるとしか思えない。
◇
で、ここまで書いてふと思いついた・・・。思いついただけで何の証拠も無いのだが。
もしかしてCatalyst、Single Display時には780Gの2Dアクセラエミュを使い、Multi Display時には全部CPUが面倒を見る、なんて構造になっていやしないだろうか。
そして、780Gの2Dアクセラエミュは死ぬほど遅いので、CPU丸投げ状態のMulti Display時の方がCPU負荷は上がるものの快適に動く。
何でこんなことを思いついたかというと、もっさり問題解消のためにある設定が効くという話があるので。
具体的にはWindowsの設定のDisplayのところにある「ハードウェア アクセラレータ」スライダを一番右(普通)から一つ下げるというもので、確かにこれ効くんですよ、試してみたら。
で、コレは文字通り、ハードウェアが持っている機能(の一部)を使わなくする設定なんでね。
Radeon HD世代からは、単体ボードですら2Dが遅ぇ!という話が時々聞こえてきたりもするし。
統合型でメモリ帯域もダイ面積も限られている780G(HD 3200)ではその影響は更に大きくて、という解釈も個人的には出来なくもない、ですな。
確かにもっさり。(続・買い換えたら納得出来ました)
前回の続き。
色々買ってきた中に、マザーと石もありますよ。
Asus M3A78-EM (MicroATX/AMD780G)
AMD AthlonX2 4850e (Brisbane/2.5GHz/45W)
はい、WinXPでAMD780G。
巷で話題の「もっさり」、見事に当たりましたよ。
でも外部VGAなんて刺さないもんね。
同じAsusのM3N78-VMと店頭で散々悩んで・・・いいんだもん、AMD(ATI)チップセット初体験だもん。
GeForce8200だとどうせまともに動くのが当たり前で面白くないんだもん(ぉ。
悔し紛れにベンチ取ってみたら、これがまた散々。
つーか「あればいい」の代名詞(ゴメンね>SiS)Mirage1と比べても更に遅いって、さすがXP捨ててるだけあるというか・・・。
| VGA | GDI | Text | Square | Circle | BitBlt |
|---|---|---|---|---|---|
| 780G | 2853 | 70 | 1498 | 441 | 844 |
| VGA | D2D | 10 | 100 | 500 | 1000 | 5000 | 10000 |
|---|---|---|---|---|---|---|---|
| 780G | 1916 | 102 | 88 | 56 | 39 | 11 | 6 |
これ絶対690Gの方が圧倒的に速いだろ、2Dだけなら。
◇
まぁそれは兎も角。
システム交換したら消費電力がドカっと減少しましたよ。
処理速度は倍以上になったというのに。
アイドル時:50W → CPU全力時:80W
ピークだけ見れば増えているが、処理速度が上がった分平均負荷率が下がっているので、トータルで見るとだいぶ減少。
◇
そういえば、この載せ替えの途中でWinXP SP3のバグに遭遇。
AthlonX2だというのにPhenom用のCPUドライバ(AMDPPM.sys)を組み込んでしまうというもので、これが発動するとCool’n Quietが動作しなくなる。
仕方ないのでAMDのサイトからAMDK8.sysの最新版を落としてインストール、と。
あと、Asusの最近のM/BだとAsus謹製のユーティリティを一度インストールしないとデバイスマネージャから?が消えないのね。
最初気づかなくて首傾げてしまった。
#このM/Bだと「ASUS CoolnQuiet Utility」導入で「ATK0110 ACPI Utility」が埋まる。
ちなみに只今HDMIケーブル類を手配しているので、「DualDisplayにすると『もっさり』が消える」というウワサが事実かどうか実際に検証する予定。
