[過去ログ] 【軽量】godot engine【無料】 part3 (1002レス)
1-

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
756: 名前は開発中のものです。 [sage] 2024/06/30(日) 09:22:53.77 ID:sq056Iik(5/6) AAS
調べて出てこなかったからソレにしただけで最新に近いベンチあるならむしろ出してくれるとありがたい
GDとC#とC++の比較で宜しく頼む
757: 名前は開発中のものです。 [sage] 2024/06/30(日) 11:21:08.68 ID:Jl/an7H9(1/2) AAS
>>750
750(2): 名前は開発中のものです。 [sage] 2024/06/30(日) 07:27:32.00 ID:sq056Iik(1/6) AAS
画像リンク

C# vs GDScript は3.x系で逆転したらしい
全く寄せ付けないのがC++ ぶっちぎり
すげー差だね
ただそれ、言語の差かな?
GDScriptは知らんけど、C#とC++でそこまでパフォーマンスの差は無いはず
初期のC#ならまだしも、最近のC#はネイティブとあまり差が無いほど最適化されてるぞ
758
(1): 名前は開発中のものです。 [sage] 2024/06/30(日) 11:57:10.29 ID:YZ6aJKk3(1) AAS
>>753
753(1): 名前は開発中のものです。 [sage] 2024/06/30(日) 09:02:33.43 ID:sq056Iik(3/6) AAS
件のスレだとGDScriptはJITだと言う人が多いけどGodotのGithubとか見ても
何か違うという話しか出てこないのでJITコンパイラではないらしい

外部リンク:tech.framesynthesis.co.jp
にはAOT/JITは使ってない&GithubでVMを使ってる事が書いてある事から恐らく昔のJavaのような
インタプリタ型なんじゃないかな〜 と思ってたらマニュアルにインタプリタ言語って書いてあった

ややパフォーマンスが劣るのは仕方ないかも知れないが、60fpsを大きく切るような事があったら
考えればいいかなって感じじゃないかな? 用途的にかなり稀なんじゃないのかな
昔のJavaこそJITだぞ
759: 名前は開発中のものです。 [sage] 2024/06/30(日) 12:20:40.30 ID:ZzV3ax6d(1) AAS
ゲームエンジンでコード部分が遅くて問題になる事そんなないよね
遅くなりがちなものはたいてい関数化でカバーしてあるし
760: 名前は開発中のものです。 [sage] 2024/06/30(日) 13:15:28.62 ID:sq056Iik(6/6) AAS
>>758
外部リンク:ja.wikipedia.org
Java初期のインタプリタ式で走行されるJavaプログラムの実行速度は遅かったが、
実行時コンパイラ技術と動的再コンパイル技術 (dynamic recompilation) の
導入によって実行速度問題はほぼ解決した。

だってさ 俺もJITかと思い込んでたよ
761: 名前は開発中のものです。 [sage] 2024/06/30(日) 14:09:50.40 ID:Jl/an7H9(2/2) AAS
ある程度プログラミング経験ある人なら、言語はどれでもいけるでしょ
だけどGotot自体がGDScriptに最適化されているので、それ以外だと面倒なことが多いからな
762: 745 [sage] 2024/06/30(日) 14:12:48.53 ID:xlags8mO(1) AAS
>>746
746(1): 名前は開発中のものです。 [sage] 2024/06/29(土) 22:12:23.60 ID:IImyMoRx(4/4) AAS
このサブレとかの話かな、果たしてGodot/C#は最適化される予定があるんかな

GDScript performance vs C# performance (2mo ago)
外部リンク:www.reddit.com

1年前のGDQuestの動画とかだと
本当に性能要件が必要な場合はC++/GDExtentionでやるべきとか言ってるし
それが必要な規模のゲーム(GTAのような)作らないでしょってスタンスな気がする

最近のユーザーのコメントも見てると
GDScriptにstrict static typingをつけてくれってのよく見かける(これはオレもほしい)

まあ今ちょうど、開発チームがアンケートとってるみたいだし
気が向いたら要望出してみたらどう?

Godot Community Poll 2024
外部リンク:godotengine.org
氏及びgodotスレの皆様
ありがとうございます
とても勉強になります
763: 名前は開発中のものです。 [sage] 2024/07/01(月) 00:37:53.66 ID:3HKv0EDG(1/9) AAS
GDExtension C++ exampleやってみたけどGitのサンプルと齟齬が生じていて
まるでカルトクイズだったわ 動かすだけで何時間かかったんだか勘弁してくれ

一応メモ
外部リンク:github.com からReleasesのgodot-4.2.2.-stable LatestをDownload
Zip展開してBuilding the C++ bindingsは手順通り

Creating a simple pluginはzip展開したtestフォルダに入ってる中身で代用できるので何もしなくていい
testフォルダにcdしてscons platform=windowsしたらgodot-cpp-godot-4.2.2-stable\test\projectを
本体で開くだけ MSVCは自動的に見つけてくれるのでMinGWとかも要らなかった
MSVC入れてる方がレアケースなんだが無駄にデカいし

example通りにしたいならgodot-cpp-godot-4.2.2-stable\test\srcの中身を退避してexampleコピペで
gdexample.cpp/hとregister_types.cpp/hの4つ入れたらtestフォルダにcdしてSconsでdllが出来る
同様にprojectを開いて新規シーンにGDexampleを呼び出してtexure貼るだけで完成

手順が分かれば10分も掛からない 迷走しまくった俺の半日を返せw
764: 名前は開発中のものです。 [sage] 2024/07/01(月) 00:52:45.44 ID:3HKv0EDG(2/9) AAS
8行目は間違い testフォルダでSconsしないとビルド出来ない
765: 名前は開発中のものです。 [sage] 2024/07/01(月) 00:54:39.06 ID:3HKv0EDG(3/9) AAS
あれ書いてあるな混乱してるのか。兎に角疲れた
766: 名前は開発中のものです。 [sage] 2024/07/01(月) 01:49:10.55 ID:bpyOLnVe(1/6) AAS
モルダー、あなた疲れているのよ。

ほあー、makeじゃないんだ、お疲れさん、ゆっくり寝てくれ
767: 名前は開発中のものです。 [sage] 2024/07/01(月) 07:50:16.29 ID:3HKv0EDG(4/9) AAS
乙あり

画像リンク

適当なベンチを移植してみた結果GDScriptはdoubleがないので比較ができないと言う事態に。うーん
(勝手にfloatにされてしまうので負荷にすらなってないらしい?)
単純にforループで5億回くらい加算するだけだとC++は早すぎて0ms(測定不能?)でベンチにならないし
かといって複雑だと読めないしなぁ 困った・・・
768: 名前は開発中のものです。 [sage] 2024/07/01(月) 13:30:03.28 ID:bpyOLnVe(2/6) AAS
バブルソートでいいんじゃね、N=10000とかでやれば

あとはGDExtentionと.NET側をfloatにしちゃうとか
物理演算ライブラリとか作ってないんだし精度いらないでしょ
769: 名前は開発中のものです。 [sage] 2024/07/01(月) 14:10:50.39 ID:3HKv0EDG(5/9) AAS
画像リンク

floatだと負荷にならないみたい 出来れば5〜10秒くらい掛かって欲しい
ソースコードはコピペなんでこれに何の意味があるのかはよく分からない
770: 名前は開発中のものです。 [sage] 2024/07/01(月) 15:09:53.43 ID:bpyOLnVe(3/6) AAS
円周率の近似式(グレゴリー・ライプニッツ級数)じゃね
コンパイラが最適化しちゃうからこの手の単純計算のループはほぼ意味ない計測になっちゃうと思う

実際のデバッグ画面でFPSの計測ができるレベルのベンチ作った方がいいと思うぞ
例えば、1億個のCharacterBody2Dインスタンスを重力で落下させるとかそういうの
それをGDExtension/.NET/GDScriptで比較してみればいい
771: 名前は開発中のものです。 [sage] 2024/07/01(月) 15:20:12.05 ID:VOEpRWLF(1) AAS
物理は物理で専用のエンジン使ってるとかだから比較する意味ないんじゃない?
772: 名前は開発中のものです。 [sage] 2024/07/01(月) 15:40:49.90 ID:bpyOLnVe(4/6) AAS
うん、だから物理サーバー使わなければいいんじゃないかな
773: 名前は開発中のものです。 [sage] 2024/07/01(月) 15:49:11.98 ID:3HKv0EDG(6/9) AAS
すげーな、ライプニッツの公式って書いてあった
コンパイラが賢くて空ループとか消しちゃうとかは風の噂に聞いた事があるような気がする
C#→GDScriptは出来るが流石にC++は忘れすぎててC++⇔C#が無理で困る

FPSを計るのは何か引っかかるんで手詰まりで諦めたらそれでいくようにしてみるよ
あとは出来る範囲で色々試してみる
そしてGDでbyteコードが使えないのでまた1つ没になった
774: 名前は開発中のものです。 [sage] 2024/07/01(月) 15:53:19.58 ID:bpyOLnVe(5/6) AAS
がんばーれー、よかったら結果もコミュニティで共有してぇー(懇願)
775: 名前は開発中のものです。 [sage] 2024/07/01(月) 18:14:31.27 ID:Mr+4kRr6(1/3) AAS
最適化が効かないやつなら2chからの伝統のトリップキー探索がよいのでは
単なるハッシュ総当りですが
776
(1): 名前は開発中のものです。 [sage] 2024/07/01(月) 18:27:09.99 ID:3HKv0EDG(7/9) AAS
何か探してたらコンパイラの最適化を邪魔するらしい謎の変態C++があったのでやってみた
外部リンク:verifiedby.me

結果はご覧の有様だよ
画像リンク

1分くらい固まるから何かと思ったよorz どうしてこうなった
777: 名前は開発中のものです。 [sage] 2024/07/01(月) 18:39:53.63 ID:3HKv0EDG(8/9) AAS
GDExtention C++はなんでか知らんけど_readyに入れてもいきなりエディタ起動と同時に動き出すので
Runボタン押さなくても勝手に始まってしまう
なのでエディタ起動の負荷が乗っかってるのでちゃんと測れない点は考慮してね

キー入力で呼び出せるように出来ればいいんだけど全然やり方分かりません
778
(1): 名前は開発中のものです。 [sage] 2024/07/01(月) 18:56:09.47 ID:Mr+4kRr6(2/3) AAS
>>776
かなり差がつきますね
やはりガチ勢はスクリプトだけだと限界が来るのか
779: 名前は開発中のものです。 [sage] 2024/07/01(月) 19:59:29.83 ID:3HKv0EDG(9/9) AAS
>>778
逆にいざという時は最速クラスの切り札があると考えればよいのではないかと
前にどなたかが話してたけどね

Unityも以前はUnityScriptというJavaScriptもどきだったものが後からC#が登場して入れ替わったけど
処理が遅い所はC++でプラグイン作ったりするのは一緒みたいだし必要に応じて織り交ぜていったらいいと思うだよ
780: 名前は開発中のものです。 [sage] 2024/07/01(月) 20:20:18.64 ID:Eif3//6J(1) AAS
処理速度が必要な部分のみC++を使うで良いが
最初から必要であると判っているならC++ネイティブなエンジンも良いと思う
自分のやってる事ではそんな状況にはならないがその時は国産のSiv3Dを試したい
1-
あと 222 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.017s