data-oriented-design

    6

    1答えて

    背景 ゲームエンジン開発では、通常、最適なメモリと計算パフォーマンスのためにデータ指向設計を使用します。 パーティクルシステムを例にしましょう。パーティクルシステムで は、我々は、粒子の多くを有し、各粒子は、等の位置、速度、などのいくつかの属性を有することができる C++における典型的な実装は次のようになり: struct Particle { float positionX, posi

    0

    2答えて

    私はC#でゲームをプログラミングしていますが、パフォーマンスが重要なコンポーネントにはSoAパターンが使用されています。 public class ComponentData { public int[] Ints; public float[] Floats; } 理想的には、私は他のプログラマが唯一の(上記のように)、このデータを指定し、それを行うことがしたいと思い

    0

    2答えて

    すべてのデータがインターリーブされ、同時にキャッシュにロードされなければならないので、私は2番目の場合は、より良い空間的局所性を持っていることを考えてい struct Sphere{ Vector3 center; float radius; float color; }; struct{ struct Sphere* spheres; un

    106

    4答えて

    私はthis articleを読んでいました。この男は、誰もがOOPを使ったデータ指向設計でどのように混合することで大きな利益を得ることができるか話しています。しかし、彼はどんなコードサンプルも表示していません。 私はこれを検索して、これが何であるかについての実際の情報を見つけることができませんでした。この用語に詳しい人は誰ですか?これは別の言葉でしょうか?

    6

    8答えて

    ので、このルールは、高繰り返しのうち、if文を引くしようとするがありますループ: for(int i = 0 ; i < 10000 ; i++) { if(someModeSettingOn) doThis(data[i]) ; else doThat(data[i]) ; } 彼らはそれが外にif文を入れて、それを分割すると良いでしょう、と言う: if(someMo