Java vs C++ 速度比較 【DXライブラリ】

アバター
Dixq (管理人)
管理人
記事: 1662
登録日時: 14年前
住所: 北海道札幌市
連絡を取る:

Java vs C++ 速度比較 【DXライブラリ】

投稿記事 by Dixq (管理人) » 12年前

Java版DXライブラリの制作率現在 700/2200 。
DXライブラリの管理人さん頑張り過ぎですよ、2200個もJava版の関数作るの大変・・・。

さて、ある程度出来てきたので、気になるパフォーマンス比較です!

全方向に下のような○万個の弾を発射して、fpsを比較します。
[youtube][/youtube]

最初2万弱の弾を持つ弾幕で処理落ちを試してみようとしたら・・・全く処理落ちしない!これは案外すごいかも・・。
ってことで、1.7万~14万の弾幕でJavaとC++でfpsの比較をしてみました。

画像
※環境:Core i7 860、Geforce 9600GT、メモリ 16G (ニコ生再生しながら)

結果、ほとんど変わらない!
弾幕の作り方は、JavaとC++でほとんど変わりません。
JavaはLinkedListに毎回newで突っ込んで、画面外に出たら解放しているので、GC的によろしくないと思っていましたが、そんなこと完全に無視できそうな結果です。
# 訂正:1分に1.3回しかGCは働いていませんでした。

更に1フレーム30万個の弾を持つ弾幕で「Update」「Draw」にどれ位時間がかかっているか比較してみました。

[table=border:1px solid #cccccc;][tr=text-align:center;][td=border:1px solid #cccccc;][/td][td=border:1px solid #cccccc;] Java [/td][td=border:1px solid #cccccc;] C++ [/td][/tr]
[tr=text-align:center;][td=border:1px solid #cccccc;] Update [/td][td=border:1px solid #cccccc;]56[/td][td=border:1px solid #cccccc;]32[/td][/tr]
[tr=text-align:center;][td=border:1px solid #cccccc;]Draw[/td][td=border:1px solid #cccccc;]120[/td][td=border:1px solid #cccccc;]115[/td][/tr][/table]※単位[ms]

なるほど、描画はほとんど変わらず、軌道計算やメモリ確保・解放部分で差が出ているもよう。(C++もnew,deleteしてますが)

しかし3.5万個の弾で60FPS処理落ちなしって、DXライブラリこんなに高速でしたっけ・・・。
日々パフォーマンスは改善されているのかもしれません。

Java版でパフォーマンスが落ちたらイヤだな~と思っていましたが、嬉しい結果になってよかったです♪
最後に編集したユーザー Dixq (管理人) on 2012年10月15日(月) 01:08 [ 編集 3 回目 ]

nil
記事: 428
登録日時: 13年前

Re: Java vs C++ 速度比較 【DXライブラリ】

投稿記事 by nil » 12年前

ほう処理落ちが始まるのはほぼ同地点なのですね
Javaも侮りがたいですね。

ちなみに僕のPCではstd::listで画面上に1500ほど弾を出したら処理落ちしました……
CPUがPentiumなのでそろそろもっとマシなマシンが欲しいです……

アバター
Dixq (管理人)
管理人
記事: 1662
登録日時: 14年前
住所: 北海道札幌市
連絡を取る:

Re: Java vs C++ 速度比較 【DXライブラリ】

投稿記事 by Dixq (管理人) » 12年前

> 涼雅さん

Java使えますね~。
C#も最近速いらしいし、もうドンドン新しい言語へシフトしていきたい感じがします。

> CPUがPentiumなのでそろそろもっとマシなマシンが欲しいです……

まだまだPentiumって現役ですねw
※しかし最近は3万代でi3+メモリ8G+OS付のPC買えますよ!
http://www.dospara.co.jp/5shopping/deta ... =3322&sn=0
最後に編集したユーザー Dixq (管理人) on 2012年10月14日(日) 19:46 [ 編集 1 回目 ]

アバター
Hiragi(GKUTH)
記事: 167
登録日時: 14年前

Re: Java vs C++ 速度比較 【DXライブラリ】

投稿記事 by Hiragi(GKUTH) » 12年前

いままでずっとJavaは低速だ低速だといっていた俺が通りますよっと
と思っていたんですがなんだこれは・・・Javaとは思えぬ速度

CPUはPen4ですね、んでグラボはGeforceFX5200
新しいPC(ハンバーガー i5 & HD7850とメモリが(ry)が欲しいですねぇ・・・
まぁ親の目があるので下手な真似は出来ないんですが

アバター
Dixq (管理人)
管理人
記事: 1662
登録日時: 14年前
住所: 北海道札幌市
連絡を取る:

Re: Java vs C++ 速度比較 【DXライブラリ】

投稿記事 by Dixq (管理人) » 12年前

まぁ画像処理なんかの単純な計算を比較するとまだまだ違うのでしょうが、
普段はもう気にしなくていいレベルまで来ているようですね。

そしてPentium派はまだまだ意外に多いですねぇ・・w