WP7ゲームでは、Enemy
クラスを作成していますが、でラップされていEnemyControl
ます。敵コントロールは、spritesheet
その敵タイプのすべての異なるアニメーション状態のいずれかを使用します。ビットマップを静的にキャッシュする画像は4つだけです。
BitmapImage
私が抱えている問題は、両方の画像が(静的におよび)キャッシュされているにもかかわらず、画像がCacheMode="BitmapCache"
コントロールによって読み込まれると、コントロールごとに約2メガのテクスチャ/システムメモリが追加されることです。
これは、画面に表示できる敵の数を制限するため、重大な問題です。
誰かが私がこの状況を改善する方法について何か考えを持っていますか?またはそうでなければそれを解決しますか?
興味がある場合は、xamlを次に示します。
<Canvas x:Name="canEnemyControl">
<Canvas.RenderTransform>
<TranslateTransform x:Name="enemyControlTransform" X="0"/>
</Canvas.RenderTransform>
<Canvas.Clip>
<RectangleGeometry x:Name="clipGeometry" Rect="0,0,60,60" />
</Canvas.Clip>
<Image x:Name="imgEnemy" Stretch="None" CacheMode="BitmapCache" >
<Image.RenderTransform>
<TranslateTransform x:Name="enemyImageTransform" X="0" Y="0" />
</Image.RenderTransform>
</Image>
</Canvas>