2017-06-15 9 views
0

私はほとんど完全に無地の四角形からなるゲームを作っています。現在、私はSKSpriteNodesを使用していますが、アニメーションやタッチが必要なので、すべての四角形に使用していますが、数百個を作成しているうちに、それらが多くの遅延を引き起こすことがわかりました。スウィフト:長方形を描く最速の方法

私が必要とするのは、ソリッドカラー、テクスチャ、または何も描画できない矩形ですが、何らかの理由で、これらが多くのラグを引き起こします。

可能であれば、私はこれまでに試したようにOpenGLを避けたいと思いますし、1つのことをするのに数ヶ月かかりました。私は見つけられない速い道がなければならないように感じるだけです。どんな助けもありがとう!

+0

遅れの原因を特定するためにどのようなプロファイリングを行っていますか?具体的には四角形を描画する時間だと思うのはなぜですか?インストゥルメンテーションを開始して、テクノロジの切り替えを試みる前に、どこに行くのかを確認してください。より多くの場合、問題は図面ではなくエンティティ間のレイアウトまたはO(n^2)の相互作用です。数百の四角形はそれほど多くありません。 –

+0

@RobNapierこれまで私が見つけた投稿は実際にSKSpriteNodesを使って矩形を描いていないからです。私のゲーム全体が長方形に基づいているので、私は速く何かをしなければならないように感じます。 – MysteryPancake

+0

スキンのシンプルさ(つまり、複雑な画像ではなく長方形)は、パフォーマンスの問題の原因とは考えにくいです。このような10kパーティクルをアニメーション化するような体験を考えてみましょう。http://www.sdkboy.com/2014/01/10000-sprites-animating-and-no-loss-in-framerate-using-ios7s-spritekit/ Instrumentsから始めましょう。それがあなたのボトルネックがどこにあるかを見つける方法です。これらのスケール(100)では、ほとんど常にO(n^2)アルゴリズムであり、描画の行為ではなく、あなたのシステムに忍び込んでいます。 –

答えて

0

あなたのスキンのシンプルさ(つまり、複雑な画像ではなく矩形)は、パフォーマンス上の問題の原因とはなりません。 this one animating 10k particlesのような体験を考えてみてください。インストゥルメントで始める。それがあなたのボトルネックがどこにあるかを見つける方法です。これらのスケール(100)では、ほとんど常にO(n^2)アルゴリズムであり、描画の行為ではなく、あなたのシステムに忍び込んでいます。