これは私の最初の投稿ですが、私は長い間読者でした。このサイトをどうもありがとう!:-)
現在、XNA ベースの 2D エンジンを WP7 から iOS に移植する作業を行っています (5)。テクニックよりもゲームプレイに多くの時間を費やすことを好むため、OpenGL を直接使用することは避けたいと考えています。したがって、OpenGL を (直接) 含まない回答をいただければ幸いです。
問題: UIImageView を別の UIView に追加すると、UIImageView が描画されるまでに少し時間がかかります。これは、内部ですべてを OpenGL に変換してから描画する前に UIView クラスが実行するキャッシュによるものだと思います。
私が欲しいもの:UIView(スーパービュー)に、すべてのサブビューに必要なすべての計算を実行してから、一度にすべてを描画するように指示します。現在、私が観察している動作は次のとおりです: uiimageview_1 を計算し、uiimageview_1 を描画し、uiimageview_n を計算し、uiimageview_n を描画します。
私が欲しいもののダミーコード:
// put code here to tell superview to pause drawing
for (int i = 0; i < 400; i ++)
{
add UIImageView[i] to superview;
}
// put code here to tell superview to draw now
考えられる回避策 (ただし、C# と Windows から来ているため、iOS の Objective-C で効率的に実装する方法がわかりません) - RAM の大きなブロックを (フレームごとに) 転送する必要があったため、このコードは非効率的であると思います。 Retina はネイティブ解像度で表示されます。
for (int i = 0; i < 400; i ++)
{
add UIImageView[i] to superview;
}
// put code here to get a bitmap in ram from superview
// return bitmap and draw it in a view for the scenery/canvas
この「ポッピング」の問題に対処する方法についての助けをいただければ幸いです。
ありがとう