« デモンベイン初回版のONS用コンバーター 改訂版その2です | トップページ | ケータイアップデートの注意事項 »

2010年10月25日 (月)

ONScripter for NetWalker 20100105-8

7は公開するの忘れてました・・・orz。

例によって、高速化&本家のバグ修正に追随、です。でも、本家が取り入れている新機能については、まだ取り入れていません。まだ、「ひぐらし」を2話までしかクリアしてない身で、「うみねこ」なんて、とてもとても・・・(^^;。

しか~しっ!(大げさ) 今回は、結構大幅な高速化(当社比)となっています(笑)。オーバークロックカーネルと組み合わせると、「はにはに」や「オーガストファンBOX」なども、「default.ttf」を用意してやるだけで(データの変換などしなくても)、OPムービーも含めて、ほぼストレスなくそのまま動きます。

具体的には、

・立ち絵の移動・・・約15%の高速化
・スキップ速度・・・約25%の高速化

というところです。感覚的にはもっと速くなっている気もしますが、まあ、それはそれと言うことで。

「onscripter_20100105-8-0ubuntu1_armel.deb」をダウンロード

そういえば、まだ「||」(or)も実装していません・・・。

閑話休題

さて、今回の高速化ですが、これまでに比べるとかなり大幅なものとなっています。種を明かせば、インラインアセンブラを使ったんですね、はい。とはいうものの、どこに使うかが問題です。αブレンドに使うという手もあったんですが、まだGCC&ARMのインラインアセンブラの知識&理解が十分ではないので断念しました。

というわけで、それ以外に問題が大きそうだったメモリ転送、具体的にはmemcpyとSDL_BlitSurfaceの速度アップを考えることにしました。

初めはNEONの拡張レジスタを使ってみたんですが、NEONを有効にしてビルドしたsmpegと干渉してしまうみたいで、BGMが遅くなってしまう問題が発生してしまったので却下。で、ARMの通常のレジスタと複数レジスタ転送命令を使ってみた所、それなりの効果があった、というわけです。まあ、きちんと命令のサイクル数や分岐回数を計算して組んでるわけではないので、まだ効率アップの余地は十分あるんですが、とりあえず一区切りと言うことで。

んでもって、ソースはこちら。

「onscripter_20100105-8-0ubuntu1.tar.gz」をダウンロード

インラインアセンブラを使った転送ルーチンは、AnimationInfo.cppの中にあります。まあ、できるだけ見ないでやって下さいませ。一応ARM汎用なので、同じ系列のCPUを使っているものであればそのまま流用できると思います。言うまでもなく、保証はしませんが・・・。

まあ、バグなど見つけたら、お知らせ下さい。

|

« デモンベイン初回版のONS用コンバーター 改訂版その2です | トップページ | ケータイアップデートの注意事項 »

コメント

どうも、お久しぶりです^^

記事とは全く関係ないんですが
lilithの姫神の作成予定はないでしょうか?
もしでかまいせんので作成して頂ければ
嬉しかったりします^^

どうかよろしくお願い致します

投稿: fu | 2010年11月11日 (木) 21時32分

いいですよ~っ、・・・と言いたい所なんですが・・・。実はまだ、実物と遭遇しておりませんので、持ってないんです、珍しいですが・・・。

手に入れば、特に変わった処理をしているというのでなければ、大して時間はかかりませんので、コンバータの作成自体は構いませんよ~、でも、デバッグはお願いしますね(^^)。

当方、パッケージ購入派なんで、手に入るまでお待ち下さいませ。まあ、「テンタクルアンドウィッチーズ」の時みたいに、何ヶ月もかかるということはないでしょうから・・・(^^;。

投稿: ゼロ975 | 2010年11月12日 (金) 01時08分

どうも、レスありがとうございます^^

なんと!! 作成して頂けるのですか
しかも購入して頂けるとは感謝の極みです
本当にありがとうございます

デバック等はお任せください
また完成しましたら記事も作成いたしますです
どうかよろしくお願い致します^^
それでは記事汚しをしてしまい申し訳ありませんでした
期待して待っておりますです

投稿: fu | 2010年11月12日 (金) 19時47分

コメントを書く



(ウェブ上には掲載しません)




トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/139339/49838310

この記事へのトラックバック一覧です: ONScripter for NetWalker 20100105-8:

« デモンベイン初回版のONS用コンバーター 改訂版その2です | トップページ | ケータイアップデートの注意事項 »