3d

C++ とブループリントのバランス – 一般的なゲームプレイ プログラミング

フロブは言った:一番似ているのは、「どの雨滴が洪水の原因なのか?」という質問だと思います。 個別に、すべての呼び出し、すべての関数、すべてのブループリント ノードにはコストがあります。 個々の設計図のコストは比較的小さく、数百ナノ秒から数マイクロ秒程度です。 UStruct のコピーは常に作成されており、割り当てや複製で解放されるわけではありません。 一時的なメモリ管理は無料ではありません。 CPU サイクルを消費し、キャッシュ スペースを消費し、メイン メモリにコストが発生します。 それらは本質的に悪いものではありませんが、蓄積します。 それは私が求めていたものではありません。 「すべての呼び出し」は、JIT の使用を妨げるものではありません。 「すべての呼び出し」がネイティブ化を失敗させるわけではありません。 確かに、インタープリター言語ではすべてに追加のオーバーヘッドがありますが、C++ に存在する呼び出しを使用して Blueprint-Code を記述するということは、より最適な実行形式が利用可能でなければならないことを意味するはずです。 あなたが主張するように、私はこれを妨げたり、より困難にしたりする例にもっと興味がありました. フロブは言った:デザイナーが作成したコードを再構築する際に私が経験した最大の問題は、コンテナーの反復処理や悪い方法での反復処理に過度に依存していることです。 最近の例では、数千のオブジェクトを反復処理して、それらを目的の型にキャストし、それらが一致する場合に続行します。 個々のキャストには、それぞれ 1 マイクロ秒未満かかります。 彼らは、オブジェクトが処理を続行するのに適切なものであるかどうかを判断しようとしているだけで、各更新の膨大な量について話していました。 したがって、設計者が設計図を使用する際の問題の一部は、大量の反復を伴う不適切なアルゴリズムの選択です。 少なくともそれは理にかなっていると思います。場合によっては、ネイティブで実行されたとしても本番環境では実行できないほどひどく書かれたものについて話していると思いますか? これもまた、(比較的)より効果的なバックエンドを低コストで提供することを妨げるべきポイントではありません. ネイティブに実行されていないコードをダブルダウンすることなく、C# で不適切なアルゴリズムを作成できます。 何かが足りないのか、それとも自分の意図を効果的に伝えることができなかったのかはわかりません。 つまり、私が言いたいことを示すために、Unreal と自分の「ブループリント」の両方で簡単なテストを行いました。 これは実行に約 0.534 秒かかります。これは、このような小さなループにはかなり悪いことであり、より高いインデックスを使用することさえできないか、無限ループを検出します。 これは、自分のエンジンと同じコードです。 外部でプロファイリングを行うことを期待していますが、ここでの主なオーバーヘッドはループであるべきです。 この機能。 JIT でコンパイルすると、0.011 秒かかります。 これはほぼ 50 倍高速です。 それが私のポイントです。 ビジュアル プログラミング言語がそれほど遅くなければならない理由はありません。 経験の浅いアーティストがそれを使用する方法と同じことが、私の言語にも当てはまり、青写真にも当てはまります。 しかし、(明らかに) 壊れたネイティブ化ツールを強制することなく、単純に (非常にばかげた) JIT …

C++ とブループリントのバランス – 一般的なゲームプレイ プログラミング Read More »

NVIDIA Omniverse ベータ リリースが利用可能に

NVIDIA オムニバースの最新のベータ リリースが利用可能になりました。メタバース アプリケーションの構築を検討している開発者、クリエーター、および初心者向けのコア リファレンス アプリケーションとツールが大幅に更新されており、各コア コンポーネントが更新され、アプリケーション間のコラボレーション ワークフローの速度、アクセシビリティ、および柔軟性が向上しています。 このリリースは、新しい Ada Generation GPU のサポートと NVIDIA シミュレーション テクノロジの進歩を活用しており、複数のサードパーティ アプリケーションから大規模で複雑なシーンを簡単に取り込めるようにし、リアルタイム レンダリング、パス トレーシング、および物理シミュレーションを最大限に活用することに重点を置いています。 Omniverse の中央データベースおよびコラボレーション エンジンである Nucleus は、サーバー間のライブ コラボレーションとコピーを高速化します。 Nucleus Navigator 3.2 を使用すると、オンプレミス サーバーとクラウド内のサーバー間でファイルとフォルダーをシームレスに移動できます。 また、画像、オブジェクト、およびその他のアセットをすばやく取得するための検索機能も強化されています。 さらに、Omniverse Live 2.0 を備えた OmniObjects により、Connector 間のより高速なコラボレーションが可能になります。 人気のあるアプリ用の新しいコネクタと更新されたコネクタは、Omniverse Connect から入手できます。 ライブラリにより、ユーザーはお気に入りのアプリから Omniverse プラットフォームへのコネクタを作成できます。 ベータ リリースには、PTC Creo、Autodesk Alias、Kitware ParaView、Siemens JT、および Autodesk Maya 用の新規および更新されたコネクタが含まれています。 Omniverse Simulation …

NVIDIA Omniverse ベータ リリースが利用可能に Read More »