は、単純なタイルスクロールルーチンを作成し始めました。私はアニメーションの目的のためにいくつかの "フレーム"を持つテクスチャを持つために各タイルを必要とします。すべてのタイルが同じイメージを使用するので、私はメモリ使用量を心配しています。各タイルクラスはTexture2Dを使用しているため、各タイルインスタンスにイメージのコピーがあるか、Texture2Dのテクスチャが単一のテクスチャの参照になっていますか?私は42のタイルを持っていて、これは無駄になるので同じイメージの42のコピーを記憶に残したくありません。私が望むのは、1つの画像をTexture2Dとして参照する42タイルです。これは可能ですか、私はこれを別の方法でアプローチすべきですか?XNAで複数のTexture2Dベースのタイルを使用したメモリ使用
0
A
答えて
0
C#では、基本的なデータ構造には、値が新しいメモリ領域にコピーされることを意味するバイパスパスがあります。影響を受けるデータ型は、string、int、floatなどの基本データ型のみです。
しかし、オブジェクトを持ち、それを値またはパラメータとして渡すか、別のvarに代入するだけでは、オブジェクト全体がコピーされません。その代わりに、宛先オブジェクトは古いオブジェクトのメモリ内のアドレスを取り出し、それを自身のオブジェクトとして記憶するが、依然として元のオブジェクトに戻る。
オブジェクトを新しいメモリ空間にコピーまたは割り当てるには、CopyTo() - メソッドを使用します。
0
Texture2dはgpuのテクスチャを参照します。必要に応じてグラフィックスメモリに同じテクスチャを2回保持できますが、この動作は望ましくないため、xnaは重複を避けるためにコンテンツマネージャを提供します。
Content.Load(アセット)を使用してアセットテクスチャをロードすると、コンテンツがロードされ、新しいtexture2dオブジェクトへの参照が保持されるので、次にそのアセットテクスチャをロードすると、同じtexture2d参照前に作成されます。
したがって、重複を避けるためにコンテンツマネージャを使用する必要があります。
0
関連する問題
- 1. XNAのtexture2D分割
- 2. XNAを使用してTexture2Dをマウスクリックの方向に移動させますか?
- 3. XNAでプログラムでTexture2Dをシリアライズ
- 4. XNAを使用してXNA
- 5. XNAのtexture2Dオブジェクトへのバッファレンダリング
- 6. wp7 xna flood Texture2Dアルゴリズム
- 7. 複数のStruts2名前空間をタイルで使用する
- 8. XNAで複数のスプライトバッチを使用する場合
- 9. フェイザーゲームにタイル貼りしたものから複数のレイヤーを使用する
- 10. XNA - ゲームコンポーネントの使用
- 11. Microsoft Xna Texture2Dと回転
- 12. Texture2Dを使用した既存のHDCへの描画
- 13. XNAでマトリックスを使用して、C#の
- 14. ベースR関数を使用した複数の因子ラベルのboxplot
- 15. シェーダを使用して2つのtexture2dを1つのtexture2dに結合する
- 16. XNA/DirectXを使用したDrawImage/DrawLine
- 17. XNAのSamplerState.LinearWrapを使用
- 18. XNA 4.0でDynamicVertexBufferを使用
- 19. sqlalchemy宣言ベースで複数レベルの継承を使用
- 20. CSS3トランスフォーメーションを使用してこのタイルを複製する
- 21. jQuery検証プラグインを使用したラジオボタン選択の複数の検証ベース
- 22. LTRIMを使用したOracle関数ベースの索引ですか?
- 23. htaccessを使用したベースURLのリダイレクト
- 24. ジェネリックスを使用したXNAゲームでのクラスへのアクセス
- 25. IPMI(OOB)またはSNMPを使用したCPU /メモリの使用
- 26. QWebViewメモリ使用私は複数のQWebViewオブジェクトを使用する場合
- 27. 複数のTexture2Dから1つのTexture2Dを生成する
- 28. backbone.jsを使用した複数のルータ
- 29. 複数の値を使用したプリペアドステートメント
- 30. 複数のviewControllerを使用したコアデータ
http://rbwhitaker.wikidot.com/texture-atlases-2はなぜ同じにすべてのタイルに参照を与えていない、例えば、見て...私はかなりの質問を理解していないが、私はあなたがテクスチャアトラスを使用して見てみたいことが信じていますTexture2D、一度ロード? – Blorgbeard