Leafの「君が呼ぶ、メギドの丘で」に手を出してみた。
重い。とにかく遅い。
場面によってはコマ送りみたいになる。
移動シーンとかはなんとか動く。テクスチャの解像度落としたりしないとダメかも。
動作スペックはぎりぎり満たしているが、ビデオカードがチップ内臓なのが致命的な模様。 おんなじ3Dゲームでも、ファルコムのツヴァイ2とかはサクサク動いてるんだけど。 まぁ、得意分野の差かな。
プラグインはおおむね対応してた模様。 ANIフォーマットが未対応だったので追加対応しました。

|
あなたは、
|
|
ブログ |
MIDI |
掲示板 |
リンク |
|---|---|---|---|
|
|
|
適当に書き込んでいってください |
|
|
ゲーム |
物置 |
メモ |
連絡先 |
| ゲームの感想など |
Susieプラグインなど |
|
メールはこちらへ |
Leafの「君が呼ぶ、メギドの丘で」に手を出してみた。
重い。とにかく遅い。
場面によってはコマ送りみたいになる。
移動シーンとかはなんとか動く。テクスチャの解像度落としたりしないとダメかも。
動作スペックはぎりぎり満たしているが、ビデオカードがチップ内臓なのが致命的な模様。 おんなじ3Dゲームでも、ファルコムのツヴァイ2とかはサクサク動いてるんだけど。 まぁ、得意分野の差かな。
プラグインはおおむね対応してた模様。 ANIフォーマットが未対応だったので追加対応しました。
Visual Studio 2008で各言語の実行速度を比較してみました。
ベンチマークは、1024*768の24ビットのビットマップファイルを1024バイトずつ読み込み、
1バイトずつ反転して別ファイルに出力するというもの。これをファイル終端まで繰り返します
EXEファイルを実行して、終了するまでの時間を測定しました。
C++ native, C++/CLI nativeはWIN32 APIのみを使います。
C++/CLI managed, C#は.NETクラスライブラリのみを使います。
OS: Windows XP SP2
CPU: Celeron 2.53GHz
メモリ: 1GB
| 言語 | 実行時間 |
|---|---|
| C++ native | 157ms |
| C++/CLI managed | 484ms |
| C++/CLI native | 500ms |
| C# | 219ms |
ちょっと衝撃的な結果です。
C++/CLI managedのコードは、C#のコードとまったく同じです。
なぜ、こんなに差が出るのでしょう???
C++/CLI nativeのテストコードは、C++ nativeのコードとまったく同じです。
実行モードの切り替えに時間がかかるため、遅くなるのは想定していたのですが・・・
テストコード部分を#pragma unmanaged指定もしてみましたが、効果ありません。
どうも、テストコードの実行時間よりも、スタートアップ処理に時間がかかっている気がします。
そこで、各プログラムの内部タイマでテストコード部分だけの実行時間を測定してみました。
実行時間が短かいので、テストコード100回の実行時間を測定します。
| 言語 | 実行時間 |
|---|---|
| C++ native | 4281ms |
| C++/CLI managed | 4511ms |
| C++/CLI native | 4546ms |
| C# | 4164ms |
■結果
やはり、C++/CLIはスタートアップに時間がかかっている模様。
C++/CLIを使う場合、下手にWIN32 APIを使うより、おとなしく.NETクラスライブラリを使った方が速いらしい。
しかし・・・C#が一番速いのか?
Visual Studio 2008を導入しました。
WTL9.0がリリースされていませんね。。。
とりあえず、WTL8.0 Finalがそのまま使えます。
プロジェクトウィザードも動きます。
セットアップスクリプトをVisual Studio 2008用に改造して使ってます。
参考にアップしておきます(5/10 Express Edition用を追加)。
WTLセットアップ用スクリプト9.0