[過去ログ] 【軽量】godot engine【無料】 part3 (1002レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
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を試したい 
781: 名前は開発中のものです。 [sage] 2024/07/01(月) 20:36:52.91 ID:bpyOLnVe(6/6) AAS
 いいね! 25億回くらいループ回すときはGDExtensionでやろうっと 
782: 名前は開発中のものです。 [sage] 2024/07/01(月) 20:57:06.09 ID:Mr+4kRr6(3/3) AAS
 そこそこ簡単な処理だけど膨大な数をこなすのはゲームでは割とありがちなので、ピンポイント最適化すると気分良さそうですね 
783: 名前は開発中のものです。 [sage] 2024/07/01(月) 21:36:11.36 ID:Dj6YjZN7(1) AAS
 こういう人たちのおかげで自分でもエンジン快適に使えてるんだなあって 
 いつもありがとね 
784: 名前は開発中のものです。 [sage] 2024/07/02(火) 07:51:54.63 ID:KWyZHQ68(1/4) AAS
 GDscriptのfloatってgodot4.xでは64bit精度(C++での倍精度double相当)ではなかったですか? 
 オンラインマニュアル読むと内部的には64bit精度みたいに読めるのですけれど(解釈間違い?) 
 precisionオプション指定でgodot engineをリビルドする必要があるとか 
 32ビットARMやWebAssemblyやGPU関係で32ビット精度がデフォルトとか検索するほど新旧情報が錯綜してしまいます 
785(1): 名前は開発中のものです。 [sage] 2024/07/02(火) 09:05:04.55 ID:b/scUpaU(1/4) AAS
 外部リンク:godot-jp.github.io 
 それはintだよ つまりintはlong相当(64bit)、でもfloatは32bitでdoubleじゃない 
 floatは有効桁数が約7桁、doubleは有効桁数が約15〜16桁 桁違うからすぐわかるよ 
786(2): 名前は開発中のものです。 [sage] 2024/07/02(火) 09:18:30.05 ID:b/scUpaU(2/4) AAS
 いや間違いだった。doubleって書いてあった 
 外部リンク[html]:docs.godotengine.org 
 ただしデフォでは32bitでprecision=doubleオプションを有効にしたときdoubleになると書いてある 
787: 名前は開発中のものです。 [sage] 2024/07/02(火) 09:30:57.57 ID:KWyZHQ68(2/4) AAS
 >>785 
 ありがとうございます 
 そうなんですよね 
 あちらこちらで書かれている内容が交錯していて 
  
 外部リンク[html]:docs.godotengine.org 
  
 >float 
 >Stores real numbers, including decimals, using floating-point values. It is stored as a 64-bit value, equivalent to double in C++.  
 >Note: Currently, data structures such as Vector2, Vector3, and PackedFloat32Array store 32-bit single-precision float values. 
  
 godot engine docs のほうでは "stored as a 64-bit value, equivalent to double in C++" と書かれていたりしますので…😥 
 Vector2/3の各要素の方はリビルドしないと32bit精度なのは分かるのですが… 
788: 名前は開発中のものです。 [sage] 2024/07/02(火) 09:44:30.59 ID:KWyZHQ68(3/4) AAS
 >>786 
 はい 
 GDscript(4.x)のfloat自体は内部64bit精度でも 
 ただVector2/3構造体をはじめ各種内部関数がC++のfloatがデフォルトになっていると 
 GDscriptのfloatが64bit精度でもgodot engineの各所で暗黙の型変換によって32bit精度に落とされてしまうので 
 precision=doubleあたりでリビルドしないとまともに使えないかもしれない感じでしょうか 
789: 名前は開発中のものです。 [sage] 2024/07/02(火) 10:09:08.37 ID:SYGJ/B8W(1) AAS
 型は誤解なく明確に指定するサフィックスを大原則にしてもらえたらな 
 文字数増やす奴は絶対コロ助は当然いるし、省略時オプションさえあればいいだろとか異論噴出するのは分かってるけど 
 うっかり間違えた時のバグによる損失を無視できるほど省略記法にメリットあると思えなくてさ 
 みんなよく管理できてるよね設計上手兄貴しかいないのかな 
790(1): 名前は開発中のものです。 [sage] 2024/07/02(火) 10:25:43.85 ID:b/scUpaU(3/4) AAS
 >>786 
 外部リンク:godotengine.org 
 Note: This change has already been merged into the engine, however it is only available in the “doubles” version of the engine, so to take advantage of it, you will still have to build the engine yourself using the compile flag precision=double (formerly float=64). 
 ってなってるから自分でオプションを付けてビルドしてくれって事みたいだよ 
 shaderもdoubleにしないと効果ないみたいなので最初からdoubleがデフォだと無駄が多い気がする 
791: 名前は開発中のものです。 [sage] 2024/07/02(火) 10:53:31.94 ID:b/scUpaU(4/4) AAS
 外部リンク[xml]:github.com 
 正しい情報が迷子で分かり辛過ぎるな 
  
 floatは64bit倍精度だが、メソッドやプロパティ/Vector2/3ではデフォが32bitで 
 precision=doubleを使うと全部64bitになるらしい事が書いてある 
 デフォは計算するとほぼ確実に32bitになるんじゃないのかな? 
  
 開発者やマニュアル書いてる人も大混乱してるとかそういうオチのような気がしないでも… 
792: 名前は開発中のものです。 [sage] 2024/07/02(火) 11:21:53.81 ID:KWyZHQ68(4/4) AAS
 >>790 
 ありがとうございます 
 技術文書としてとても興味深いです 
 現実的には64bit精度非対応GPUが多いので(市場シェア的にもAppleやintel iGPUをサポートしないわけにもいかない) 
 なかなか難しいですね 
 64bit精度を32bit精度×2にするアイデアはなかなか目から鱗、言われてみるとなるほど確かに!とても勉強になりました 
 全てが64bit精度なら至ってシンプルなのですが現実的にはなかなかそうもいかない感じなのですね 
793: 名前は開発中のものです。 [sage] 2024/07/03(水) 02:10:34.05 ID:Uf1J5FPU(1/2) AAS
 CPUで値の保持だけfp64で演算がfp32なら性能低下は起きないけど(それでもキャスト分の実効性能が落ちるかも) 
 演算もfp64にすると6割くらいまで性能低下する場合がある(Intel14世代Coreなど) 
 これは単純にゲームによく使われるfp32と違ってfp64はあまり活用されてないので演算器が削られているからで 
 単純に演算器が少ないのでピークパフォーマンスが下がる 
  
 GPUの場合は更に顕著でクラスタに対してfp64が1〜2個くらいまで削られる事があるので 
 GTX4080などでは理論性能値がfp32が48.74 TFLOPSなのに対しfp64は0.76 TFLOPSまで落ちる 
 実装が1:64なので1クラスタにfp32ユニットが64基に対してfp64ユニットが1基しかない 
  
 昨今のハードウエア事情とはかなり異なる悪手だと思う 
794: 名前は開発中のものです。 [sage] 2024/07/03(水) 04:20:18.41 ID:Kew/Q+EQ(1) AAS
 活用されないから演算器が削られてるんじゃなく、 
 コスパ的に演算器増やす意味が薄いから演算器が少ない 
795: 名前は開発中のものです。 [] 2024/07/03(水) 05:06:08.76 ID:NKCUhq9D(1) AAS
 VisualScript(Orchestrator)入れてみたけどGDExtentionてデリケートなんだな 
 ちょっとでもバージョンが違うとaddon認識しなかったり 
796: 名前は開発中のものです。 [sage] 2024/07/03(水) 05:44:39.80 ID:uYYGzCZu(1) AAS
 逆にfp16やfp8をSIMD的に使いたかったらどうなるのかな 
 まあ規定に定義されてないやつゲームに使おうとするなバカって話ではあるけど 
797: 名前は開発中のものです。 [sage] 2024/07/03(水) 07:35:55.27 ID:Uf1J5FPU(2/2) AAS
 しらんけど、fp32ユニットでfp16を2つ束ねて出来たらスループット2倍みたいやつ??? 
 コンシューマ向けGTXでは出来ないっぽい 
 HPC向け一部の製品ではfp16がfp32の二倍になるので不思議な手品が使えるっぽいが詳細が不明 
 TensorCoreでもfp16演算できるのでそれとは別枠らしいけど詳細がry 
  
 コロナ以降カンファレンスに出向いてアーキテクチャの記事書く記者がいなくなっちゃったんだよね 
 だからここ4年くらいは全くアーキテクチャ解説がない状態が続いてる 何も分からない 
798: 名前は開発中のものです。 [sage] 2024/07/03(水) 13:28:50.19 ID:5FKCRCqT(1) AAS
 成ればいいじゃない、他に変わりがいないなら 
799: 名前は開発中のものです。 [] 2024/07/05(金) 06:17:24.57 ID:gXZc61hD(1) AAS
 大作作ろうとしちゃだめだよな 
 ミニゲームですらきつい 
800: 名前は開発中のものです。 [sage] 2024/07/05(金) 07:36:39.91 ID:eVqTIbcs(1) AAS
 がんばれがんばれ(自分にも言い聞かせつつ) 
上下前次1-新書関写板覧索設栞歴
あと 202 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.023s