gpSPの高速化

9月 25th, 2007 | Posted by takka | Filed under PSP, gpSP, アニメ

新型PSPでも動くようになったので、高速化についてちょっと調査してみた。

先日のblogにも書いた、キャッシュの増加。これはほとんど効果がないと思われる。

旧型機で実測してもキャッシュが溢れることはまれで、逆に減らしても良いくらいだった。

 

CPU/入力周りも細かなチューニングの出来そうな所はあるが、ブレイクスルーとなりそうな所は無い。

 

サウンド周りもFM音源等の重い処理があるわけではないので、あまり高速化が期待できない。

ただ、サンプルレートを下げることと、各チャンネルの合成をPSPのハード側で行うようにすれば軽くなるかもしれない。

(逆に遅くなるかもしれないが)

 

グラフィック周りは、order_obj関数がボトルネックになっている、マリオゴルフなどのラスタ割込みでオブジェクトを変更していると激しく重くなる。現在これを検討中。

あと、フレームスキップ周りの処理でも現状ではかなり無駄なvsync待ちを行っている。

タイマーをつかって再実装してみたい。

 

見直してみると、新型特有の高速化はあまりない。

(gpSPに関して)新型を使うメリットは16MB以上のROMの、圧縮対応とほんの少しの高速化くらいだ。

(将来巨大なテーブルを使っての高速化ができたら話は別だけど)

 

まとめ:メモリが無いとどうしようもないことも有るけれど、有ってもどうしようもないことも有る

絶望した。新型PSPに絶望した。


うそです。ちゃんと増加メモリを有効に使った高速化を考えます。

タグ:
  1. dn
    9月 27th, 2007 08:10

    無いと思います。

  2. takka
    9月 27th, 2007 02:39

    チートは最終的に(PARにある物は)全て実装する予定です
    (マスターコードは意味がないので実装しませんが)
    条件機能もPARにある物でしょうか?

  3. dn
    9月 27th, 2007 01:01

    チート機能に条件機能を付けることは出来ないでしょうかね?
    例えば
    direct_v1 Sun Gauge Control
    03001C2C XX
    03001C2D XX
    04000130=03D7 [XX +1](アドレス04000130の値が03D7になったらXXに+1)
    04000130=03E7 [XX -1](アドレス04000130の値が03E7になったらXXに-1)
    direct_v1 Stopper
    0200B578=64 [0200B578 64]
    (アドレス0200B578の値が100になったらアドレス0200B578の値に100を代入)
    というような感じです。可能ならお願いしたいのですが・・

  4. boon
    9月 26th, 2007 21:48

    続きみてみ・・・

  5. 通りすがり
    9月 26th, 2007 18:24

    バーヤヽ(`д´)ノ 一瞬信じてしまったじゃないか

  6. gas
    9月 25th, 2007 22:36

    そう言えばRuka氏も絶望先生ファンでしたねぇ。
    は!まさか!Ruka氏=takka氏だったりして!!

  7. tryjinn
    9月 25th, 2007 21:04

    がんばってくださいね、桃色係長。