パスワードを忘れた? アカウント作成
この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。

NEOGEO、誕生から20周年 」記事へのコメント

  • PS3/PSPにNEOGEOアーカイブスができて、過去のNEOGEOソフトを遊べるっていう噂が出てますね
    本当だとうれしい

    • Re: (スコア:1, 参考になる)

      by Anonymous Coward

      Wiiだと既にバーチャルコンソール化 [snkplaymore.co.jp]されていますね。
      流石にプログラムそのままではないでしょうが、Xbox 360のXbox Live ArcadeでもいくつかNEO GEO用ソフトを見かけますし、PS3の性能だったら完全再現も難しくないんじゃないですかね。

      • by Anonymous Coward
        フレームバッファを採用したアーキテクチャのPS3で完全再現はけっこう難しいと思います。
        • ああいうのは内部で仮想VRAMを持っていて、フレームの最後にVRAM内容を転送するだけですね。
          だからむしろグラフィック的には負荷は低いと思います。
          • by Anonymous Coward
            表示の遅延はどうやって解消するんですか?
            • 遅延が発生するのですか?

              実機 V-Blank-In
                VM 処理開始
                VM V-Blank-Out
                VM V-Blank-In
                  描画処理>BLT
                VM 処理終了
              実機 V-Blank-Out

              特に発生する要因は無いと思いますが・・・
              • by Anonymous Coward

                実機はVDPの出力を即表示させてますが、エミュレータはVDPの出力を一旦仮想ディスプレイ
                として裏のフレームバッファに書いて、その処理が終わってから表示対象のハードウェアに
                あわせて画像のコンバートをかけているので最低でも1~2フレーム分は遅れて表示されます。

              • コンバートを即時に行えば良いだけでは?
                むしろフレームをまたいで描画する理由がわかりませんが。
                何故1-2フレームも後で処理するのですか?
              • by Anonymous Coward
                ラスタースクロールなんかは表示されるオブジェクトテーブルの内容が確定した後での操作となる筈ですが、どうやって即時行うんですか?
              • ラスターの値を記録しとけばいいじゃない・・・
                むしろなんで頑なにそんなに遅延すると思ってるのか謎。
              • by Anonymous Coward on 2010年03月04日 5時35分 (#1727222)

                実機でのラスターの処理は次のフレームですよ。
                その(MPUの)処理が終了するまで画面イメージのビットマップは決定できないと思いますが、それから表示を行うと遅延は生じないですか?
                プレイヤーの入力から画面への表示まで、遅延は大きいのではないですか?

                親コメント
              • まぁそう思うならそうなんでしょうねぇ

                とりあえず、VMの処理時間が限りなくゼロに近いと仮定して色々考えられてはどうですか?
                それでも遅延が出るのなら、それは絶対に出る遅延なんでしょう。

                ラスターの値をライン毎に記憶しておいて
                全てのレンダー要素が揃った所で
                その記憶しておいた値を使ってレンダリング
                この間の時間がゼロだとしても遅延します?
                親コメント
              • by Anonymous Coward
                あなたの言う VM って何ですか?
              • by Anonymous Coward

                実機とエミュレーターで処理の順番が違う以上、発生するウェイトによって遅延が出るのは不可避ですね。
                この遅延というのは実機と比べてタイミングが遅れるっていう意味で、処理能力とは関係ない。
                だから「VMの処理時間がゼロ」では間に合わない。
                マイナスじゃないと。

                ただそれが深刻な問題かといわれると、全くそうは思いませんけど。

              • PS3では表示中のフレームバッファを書き換えられない、と仮定すれば、エミュレータが頑張って書いてる仮想フレームバッファから本物のフレームバッファ(裏)へフレームの途中でも頻繁に変換するとしても、変換に加えて表と裏を切り替える時間分は論理的にどうしても遅延しますね。数十nsくらいでしょうか。

                親コメント
              • by Anonymous Coward

                私も、そのへんはソフト側で感覚的に調整すればいいだけのような気が
                します。

                実機の動作に拘る人は実機を動態保存すればいいんで、なんで「完全に再現」
                に固執するのか微妙に解らなかったりします。

              • by Anonymous Coward

                どこにぶら下げればいいのかわからんけど。

                要は液晶とCRTの方式を比べてホールド形式(だっけ?)はどうしてもスキャンライン形式と比べて一フレーム遅延するみたいな話をしたいのかなこの人は。そういう話ならまあそうですねとしか言えないが。

              • by Anonymous Coward
                そういう手合い完全に再現<strong>してほしくない<strong>んですよ
                なにがしかの差がないと実機を持ってない人をバカにすることができませんから
              • そういう手合いは完全に再現してほしくないんですよ
                なにがしかの差がないと実機を持ってない人をバカにすることができませんから

                まああたしも実機の方を好みはしますが
                違和感を感じるのは遅延とかではなくコントローラの感触ですな
                変換コネクタメーカーの皆様お世話になっております
                って言うとまたそこで遅延が、って怒られるのよね

              • by Anonymous Coward

                と言うより、その話とエミュレータにおけるレンダリング処理の話を完全に混同しているようにしか見えないのですが。

                まあ、「安直に」ダブルバッファリングすれば、「理論上は」1フレーム遅れますけど、回避方法はいくらでもあるし、そもそも実機からしてフレームバッファ機だったりダブルバッファリングしていたら何の問題も無い訳で。

                #NEOGEOはラインバッファスプライトですけど、その程度の無遅延エミュレーションが今時のハードで出来ないとはとても…

              • by Anonymous Coward
                > まあ、「安直に」ダブルバッファリングすれば、「理論上は」1フレーム遅れますけど、

                遅れるというのが、何が何から遅れるのか理解していますか?
              • by Anonymous Coward

                ええ。
                遅延が遅延がと大騒ぎしているACは、「ゲーム処理上の」1フレーム描画から、「実際の表示装置に送られるまでの」間に、ラインバッファとフレームバッファの違いのせいで、実機よりもレンダリングウェイトが入るんじゃないの? という話をしたいんだと思います。
                要は、データを表示装置に逐次送信できるラインバッファスプライトと違い、フレームバッファ上に一度全スプライトを描画した上で(=1フレーム分の処理が終わった後で)送信しなきゃならない、だから遅延するんだ、と言う論法だと思います。
                「ゲーム側が行っているのは、オブジェクトの『位置を決定』す

              • by Anonymous Coward

                もちろん遅延しますよ。
                「全てのレンダー要素が揃った所」というのが実機での表示がし終わったタイミングですから。

              • もちろん遅延しません。
                実機での表示を行う前に「全てのレンダー要素」を揃えるので。
                親コメント
              • by Anonymous Coward
                遅延という言葉の定義を見直したいんだけど、ゲーム機のエミュレータに限定して言えば、

                - 実機でnフレーム目の画面が表示されて、
                - プレイヤーがその画面を見て、それに対して何かしらの操作をして、
                - その操作の結果が(n+1)フレーム目に反映される

                といった感じで、プレイヤーの操作が画面に対して遅延なく反映されるか、ということですよね?

                - エミュレータの実行環境でnフレーム目の画面が表示され終わって、
                - プレイヤーがその画面を見て、それに対して何かしらの操作をして、
                - エミュレータがその入力を取得して、
                - (n+1)フレーム目の期間だけエミュレータの仮想環境を駆動して、
                - それに応じてレンダリングして、
                - レンダリング結果のフリップが(n+1)フレーム目の表示開始に間に合えば、

                エミュレータだからって遅延する訳じゃないでしょう、ってことじゃない?

UNIXはただ死んだだけでなく、本当にひどい臭いを放ち始めている -- あるソフトウェアエンジニア

処理中...