[ 9511 查看 / 11 回复 ]
此人已死,烧纸白搭
プログラマのとなぴょんさんから東京に一報が入りました。「だいぶ軽くすることに成功した」おお、と思い早速わが愛機DynabookSSで確認してみました。ちはやローリングでは30万ちょいのランクEマシンですが……やっぱり重過ぎる場面ではカクつきは残るものの、大体プレイはできる感じになっていました。こちらの意図する演出は、十分伝えられる感じです。やったぁ! やったよとなぴょーん! いったいどうやったの!?とメッセンジャーで話を聞きました。「ムービーは動的テクスチャ上に展開してるんですが、どこがネックになってるかを調べると環境ごとに全く違うわけです。テクスチャのロック処理に時間がかかってる環境もあれば、ムービーの展開に時間がかかってる環境もあるわけで。展開はアルゴリズム考えればどうにかなるかもだけどロック処理はどうしようもないよ! ところで、ムービーは差分展開されます。つまりあるフレームのデータは、キーとなっているフレームからの差分方式で格納されてるわけです。なのでフレーム更新には前フレームのデータが必要です。ビデオメモリから前フレームのデータを取得するわけにもいかないので、システムメモリ上に保存しておく必要があるわけです。ファイル→システムメモリ→ビデオメモリとコピーする必要があります。無駄です。ビデオメモリ上に直接展開したいがために D3DLOCKED_DISCARD をはずしてみると…。ネットブックとかでひどいことになりました。展開よりロックの方が時間かかるっておいおい。システムメモリとビデオメモリ共有のノートとかだと時間差がなかったので気付かなかったです。ごめんなさい。さらに、遅いマシンで再生が間に合わずにフレームをスキップしつつ再生しなければいけない場合、スキップしても結局キーフレームまで戻らないといけないんですね。ひどいことになります。…じゃあ全フレームをキーフレームにしちゃえばいいんじゃね? Oh!速くなったよ!でもいいのかこんなことして…。これブログに乗せるんですか? 載せちゃっていいのか内心ビクビクしてます。後はねぇメモリ確保ルーチンを部分的に特殊化してうまく使いまわせるようにして汎用性なんてユーザは求めてないんだよと自分に言い聞かせてみたり安全のために無駄に通ってた処理をちまちま削って DirectX のデバッガにリークしてんぞこらって怒られてみたりアセンブラチューニングしてた箇所をやめてコンパイラの最適化に任せて見たら何か速くなって最近のコンパイラはほんと賢いなぁすごいなぁ Visual Studio 2010 にとっとと移行したいぞと感動してみたり急に速くなったぞ!何でだ!!!って調べてたらマシンの構成変えたことすっかり忘れてたりスクリプタさんに仕様ですごめんなさいごめんなさいと無理を押し付けてしまったり(ご協力本当にありがとうございますm(_ _)m)大丈夫僕にはこまりんがついてるんだああ今日は十六茶買いに行かないと…と逃亡したり、 まあそんな感じです」なるほど。と、とりあえず頷いてみますがなんだかよくわかりません。とりあえずファンタジー的な魔法パワーで「ハォラッ!!(掛け声)」とプログラムをリライトしたら、すげえことになったわけだな!?あとこまりんはみんなのこまりんなので、彼ごときにはあげられねえなあと思います。ちなみに自分ですとけいおんはりっちゃんが好きです。「基本的に遅いマシンをターゲットにチューニングしてるので、元々速いマシンではこの辺の恩恵は受けれないかもだけどそれでも体験版よりは軽くなってると思います!」力強いお言葉をいただきました。これならきっと安心です。ノートPCのオンボードグラフィックでも、きっと楽しめるものになっているはずです!でもFランクとかになるとやっぱりきついかもしれませんが!しかしながら、やはりいいマシンでプレイしてもらいたいのは事実。そこで現在、ちょっと水面下で企画を進行中です。最近PCの自作系にハマっているので、自分もそのあたりで何か出来たら……とおもうのですが。デスクトップマシンは拡張性もあって、そもそもいじるのがなんか楽しいのです。最近のグラボつんだらシグラスはほぼ動きますしね。しかしながら、やはりハードルが高いでしょうし、ノートを欲しがる方も多いのではないでしょうか。今すぐ必要じゃなければ新しいPCを買うのはさらにもうちょっと待ったほうがいいかもです。インテルの最新CPUであるところのサンディブリッジも、ちょっと今は手を出せないですしね。※ちなみに……残念ですが、ピクセルシェーダ2.0未対応のマシンについては、ハードのグラフィック機能を改善しない限りこちらでもどうすることも出来ません……。デスクトップPCなら、それこそグラボを乗せかえるだけで行けると思うのですが、ノートPCは難しいかもです。