アカウント名:
パスワード:
PS3/PSPにNEOGEOアーカイブスができて、過去のNEOGEOソフトを遊べるっていう噂が出てますね本当だとうれしい
Wiiだと既にバーチャルコンソール化 [snkplaymore.co.jp]されていますね。流石にプログラムそのままではないでしょうが、Xbox 360のXbox Live ArcadeでもいくつかNEO GEO用ソフトを見かけますし、PS3の性能だったら完全再現も難しくないんじゃないですかね。
実機はVDPの出力を即表示させてますが、エミュレータはVDPの出力を一旦仮想ディスプレイとして裏のフレームバッファに書いて、その処理が終わってから表示対象のハードウェアにあわせて画像のコンバートをかけているので最低でも1~2フレーム分は遅れて表示されます。
間違いです。
フレーム毎に・実機ではレンダリングしながら表示・エミュレータではレンダリングを終わらせてから表示という違いだけです。ですから実機とエミュレータでディスプレイに表示されるものに差は出ません。(実機が画面上半分のレンダリング中にあったリアルタイムな外部入力を処理し、それを下半分のレンダリングに反映させる場合は除きますが、そのようなゲームは存在しないでしょう)
> 最低でも1~2フレーム分は遅れて表示されます。
遅れとおっしゃいますが、何が何から遅れるのか理解して書いていますか?
> フレーム毎に> ・実機ではレンダリングしながら表示> ・エミュレータではレンダリングを終わらせてから表示> という違いだけです。
「表示」を行ったら、一瞬で画面に反映されると勘違いしてませんか?
テレビやコンピュータディスプレイなどの「ラスタースキャン」方式での画面表示では、「画面上である瞬間に光っているのは「点」一箇所だけ」で、「それを左上から始めて、右方向にいって画面端にきたら次のラインをまた左から右へ」と繰り返します。
たとえば、解像度が320x240で60fpsなら、1つの点が光っているのは約160nsです。これを320回繰り返して、帰
なるほど。納得しました。そうなると、ラスタスクロールのことなどを考えると、VDPだけでなく、「CPUを含めた全システムの、1フレーム=17ms間の挙動のエミュレーション」を、「帰線期間、およそ0.8ms間に行う」必要がありますね。
実機の20倍超の速度でエミュレーションができるなら、フレーム遅延無しにできるってことで。NEOGEOぐらいなら可能そうですが、今時の「ゲーム機のエミュレーションはこうなっている」と一般論として語れるものなのでしょうか?
#最近の情勢に詳しくないせいか、にわかに信じがたかったり。
あと、
実機が画面上半分のレンダリング中にあったリアルタイムな外部
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
ナニゲにアレゲなのは、ナニゲなアレゲ -- アレゲ研究家
PS3でネオジオソフトがプレイ可能? (スコア:3, 興味深い)
PS3/PSPにNEOGEOアーカイブスができて、過去のNEOGEOソフトを遊べるっていう噂が出てますね
本当だとうれしい
Re: (スコア:1, 参考になる)
Wiiだと既にバーチャルコンソール化 [snkplaymore.co.jp]されていますね。
流石にプログラムそのままではないでしょうが、Xbox 360のXbox Live ArcadeでもいくつかNEO GEO用ソフトを見かけますし、PS3の性能だったら完全再現も難しくないんじゃないですかね。
Re: (スコア:0)
Re: (スコア:2)
だからむしろグラフィック的には負荷は低いと思います。
Re: (スコア:0)
Re: (スコア:2)
実機 V-Blank-In
VM 処理開始
VM V-Blank-Out
VM V-Blank-In
描画処理>BLT
VM 処理終了
実機 V-Blank-Out
特に発生する要因は無いと思いますが・・・
Re: (スコア:0)
実機はVDPの出力を即表示させてますが、エミュレータはVDPの出力を一旦仮想ディスプレイ
として裏のフレームバッファに書いて、その処理が終わってから表示対象のハードウェアに
あわせて画像のコンバートをかけているので最低でも1~2フレーム分は遅れて表示されます。
Re: (スコア:2, すばらしい洞察)
間違いです。
フレーム毎に
・実機ではレンダリングしながら表示
・エミュレータではレンダリングを終わらせてから表示
という違いだけです。ですから実機とエミュレータでディスプレイに表示されるものに差は出ません。
(実機が画面上半分のレンダリング中にあったリアルタイムな外部入力を処理し、それを下半分のレンダリングに反映させる場合は除きますが、そのようなゲームは存在しないでしょう)
> 最低でも1~2フレーム分は遅れて表示されます。
遅れとおっしゃいますが、何が何から遅れるのか理解して書いていますか?
Re: (スコア:1)
> フレーム毎に
> ・実機ではレンダリングしながら表示
> ・エミュレータではレンダリングを終わらせてから表示
> という違いだけです。
「表示」を行ったら、一瞬で画面に反映されると勘違いしてませんか?
テレビやコンピュータディスプレイなどの「ラスタースキャン」方式での画面表示では、
「画面上である瞬間に光っているのは「点」一箇所だけ」で、
「それを左上から始めて、右方向にいって画面端にきたら次のラインをまた左から右へ」と繰り返します。
たとえば、解像度が320x240で60fpsなら、
1つの点が光っているのは約160nsです。
これを320回繰り返して、帰
Re: (スコア:1, 興味深い)
ええとですね、エミュレータはディスプレイの垂直同期信号と同期して動きます。
nフレーム目の出力が終わり垂直帰線期間に入ると、エミュレータは一瞬でターゲットVDPのエミュレーションをし、n+1フレーム目のレンダリング結果をホストのフレームバッファに書き込みます。n+1フレームの表示の開始時にはレンダリングは終了しています。(AZUCO氏の説明とまったく同じです)
> ここで、「エミュレータではレンダリングを終わらせてから表示」を行うと、
Re: (スコア:1)
なるほど。納得しました。
そうなると、ラスタスクロールのことなどを考えると、VDPだけでなく、
「CPUを含めた全システムの、1フレーム=17ms間の挙動のエミュレーション」を、
「帰線期間、およそ0.8ms間に行う」必要がありますね。
実機の20倍超の速度でエミュレーションができるなら、フレーム遅延無しにできるってことで。
NEOGEOぐらいなら可能そうですが、
今時の「ゲーム機のエミュレーションはこうなっている」と一般論として語れるものなのでしょうか?
#最近の情勢に詳しくないせいか、にわかに信じがたかったり。
あと、
Re:PS3でネオジオソフトがプレイ可能? (スコア:0)
> 「CPUを含めた全システムの、1フレーム=17ms間の挙動のエミュレーション」を、
> 「帰線期間、およそ0.8ms間に行う」必要がありますね
依存関係を満たしさえすればいいので「全システム」というわけではないですが、(実機がフレーム描画の裏で行っている作業はエミュでもそうできます)
リアルタイム制約があってクリティカルな部分なのは確かです。
> 今時の「ゲーム機のエミュレーションはこうなっている」と一般論として語れるものなのでしょうか?
エミュレーションの正確さを重んじているものはすべてこうなっていると思います。
正確さより性能や手軽さを重んじるエミュレータもあります。(液晶テレビみたいな重いポストレンダリング処理をするとか)
> そうならないようにするためには、処理を画面表示と同期させて、スプライトの座標設定をわざわざ帰線期間の間に行う、という一手間が必要。
そうしないとちらつきの原因になりますよ。V-SYNCはタイマーがわりにもなっているので処理速度が一定しませんし。
V-SYNCを取れない大昔の8ビットパソコンくらいじゃないでしょうか、フレームと処理を同期させないのって。