o449Nma6n.png

Aeroを付けると3フレーム分遅れる?

■FEZ公式掲示板スレ
http://sazanami.net/20100123-win7-vista-delay-3frames/

・Windows Aeroを無効にする
・ビデオカードドライバの設定で「レンダリング前最大フレーム数」を0に設定する

Wimdows 7とVistaは上記2つ、XPでは2つ目の項目について対策を行うとこの遅延はなくなるそうです。

Aeroを付けると3フレーム分遅れる
http://www.fezero.jp/com_talkview.aspx?seq=22824


以下、掲示板の話とか推測

■Aeroを切ると処理落ちする場合もあるらしい
 FEZの掲示板にも処理落ちするという報告が書いてあったけど。そういわれれば、Aero は GPU を使って描画しているので速度を出せるというのがVista が売り出されていた時に言われいた。つまりCPUが非力でもGPUを使うからAeroを使うと逆に処理が軽くなるという話だった。ただし、表示テーマとしてはAeroじゃなくてもWDDMで動かしてればGPUで処理してるらしいので、重くなるのがどういう理屈かは詳しくは不明。
 FEZはGPUのメモリよりメインメモリを良く使っていると思われる別問題があるが、この辺の話は違う項目に書こうかと思う。

AeroはON ,OFFのどちらがパフォーマンスが高いのか?
http://tdpc.jp/column/column1.html
実際に処理負荷を見ているので参考になると思う。注目点は操作によって向き不向きがある所。

■ハードの性能が上がるわけではない
 掲示板に書かれていた話で0に設定したらカク付いたとあった。

 待ち時間を減らすと単純にPCの処理速度に依存して描画がされるようになる。しかし、待ち時間が減ってもPCのハード性能が上がるわけではなく、元々処理できてないものは遅延をなくしても表示されない。待ち時間をつけることで均一に表示している効果があるので、待ち時間がないと負荷が高くなったり低くなったりした時に画面表示が変化しそう。元の記事内容は対象がPCエンジンのエミュレータなので0でもいいかもしれないけど負荷が高いFEZだと、スペックによる気がする。おそらく反応はしやすくなるが当てにくくなる。また、十分にPCスペックがある場合もどうなるのかは良く分からない*1 

*1 FPSに関しては処理能力が高いとFPS制限が働かずに高くなりすぎたりする事で画面がカク付くという話がったので、凄くスペックが高い人の報告もでないと油断は出来ない。参考:FPSって何?

■個人的な所感
 何だか元のページの単語が何を指しているのか分りにくい。Aeroって言ってるけど、DWMを指しているのか、表示テーマとしてのAeroをさしているのかがある。全体図としてはWDDMというものがあって、その中にDWMという機能がある。そしてDWMの中にAeroがあるという構図。Aero といっても何処まで遡るかによる。
 説明ではどうもDWMを切るという話のようだけど、少し疑問もある。例えば、デスクトップコンポジション(実質的にDWMのオンオフ管理してるところ)は、設定やPCスペックで結構勝手に切れてしまう場合もある*2。FEZは少し前まではそもそもDWMが動かない条件だった。自分は表示が出て勝手に切れた記憶がある。

 あと、少し気になったのは、根本的な問題としてXPでも遅延は発生している点。ちょっと見たら、これと類似の内容が書かれたものが、後から明確ではないとして取り消されていた点。などなど割と疑問符がまだ残っている内容のようなので、厳密には良く分からない印象。

*2 Special A - NyaRuRuの日記
http://d.hatena.ne.jp/NyaRuRu/20070115#p2

■参考
Windows Vista ディスプレイ ドライバ モデル
http://msdn.microsoft.com/ja-jp/library/aa480220.aspx
ltzz.infoのウェブログ » Windows 7/Vistaでゲームをする際の遅延、処理落ちの対処
http://ltzz.info/blog/?p=1737
Windows"Vista/Win7"ではAeroによって、常に最大(3フレーム)遅延が起こる?|PC TIMES
http://ameblo.jp/headshot/entry-10468381435.html このエントリーをはてなブックマークに追加
posted by fezノート
2010.04.10
| Comment(2) | TrackBack(0) | PC環境・設定
この記事へのコメント
自分のBlog,SNSでも触れた記事で少ししか触れていませんが、次の方法でゲーム中だけAeroを無効にしています。

・Aeroを無効にする(※ゲーム起動時のみ無効化する場合)

ゲームアイコンの「プロパティ」→「互換性」タブ

 「デスクトップコンポジションを無効にする」にチェックをいれる。


>・WindowsXP では「最大3フレームの遅延が許可」されている。
>・Windows7/Vista(Aero使用時)では「常に最大(3フレーム)の遅延状態」になる。


blog.TUNDE
描画のフレーム遅延を減らす。
http://tunde.blog17.fc2.com/blog-entry-18.html




参考:
PCエンジンエミュレータの記事ですね。

Windows7/Vistaがゲーマーから避けられる要因「操作遅延」
http://www.ouma.jp/ootake/delay-win7vista-j.html

「パソコン環境による遅延」を解消する
http://www.ouma.jp/ootake/delay-solution-j.html
Posted by ASELLUS at 2010.04.11 10:02
>ASELLUSさん

 掲示板のURL先の記事でも、そちらのPCエンジンのエミュ記事を参照して書いているようです。

 そちらの記事の人はサドンアタックの公認インストラクターという情報もあったのでそれなりに信用できるとは思いますが。常に最大3F遅延という情報は色々みても、そのPCエンジンエミュの記事ばかり出てしまってあまり違うソースがないのが若干気になるところですね。
Posted by fezノート at 2010.04.11 18:47
コメントを書く
お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。

この記事へのトラックバック