0

スクロールビューを使用してアイテムを移動する OpenGL メニューがあります。一緒に動く UILabels もあります。

これは iPad 2 では完全に動作し、iPad 1 では少し遅くなりますが、許容できます。

iPad3では、さらに悪いです。いくつかのビューを移動するスクロールビューは、OpenGlでそれを殺すだけのようです。

人々がいくつかのことを提案しているのを見たので、スクロールビューに入れるすべてのビュー(スクロールビューを含む)でこれを行います

// Performance!
    self.titleLabel.opaque = YES;
    self.titleLabel.clipsToBounds = NO;
    self.titleLabel.layer.masksToBounds = NO;
    self.titleLabel.autoresizesSubviews = NO;
    self.titleLabel.layer.shouldRasterize = YES;
    self.titleLabel.layer.rasterizationScale = [UIScreen mainScreen].scale;

OpenGl のパフォーマンスを向上させるために何も考えられません。アイテムが画面外に出たら非表示にすることもできますが、画面外に出るアイテムは 1 つまたは 2 つしかありません

4

1 に答える 1

4

iPad 3 の Retina ディスプレイは、iPad 2 の 4 倍のピクセルを備えていますが、GPU 処理能力は 4 倍ではありません。私は、iPad 2 では問題なく動作するが、iPad 3 では遅すぎることに悩まされてきました。クライアントの従業員が iPad 3 を入手し始めるまで、出荷された iPad アプリ (エンタープライズ配布) は問題なく動作していました。その後、特定の領域でアプリが遅すぎることに気付きました。私は戻って、ボトルネックを把握するためにアプリで行ったことをプロファイルし、その問題を回避するためにアプリを作り直す必要がありました。それは簡単な修正であることが判明しました。画面が更新されるたびに、大量の不明瞭なピクセルを描画していました。更新のたびに描画する画面領域を大幅に縮小するように最適化したところ、アプリは iPad 3 上で十分に高速でした。

あなたの質問に含まれる情報から、あなたの問題に対する決定的な修正は見当たりません。私が提供できるのは、OpenGL コードを最適化することだけです。Xcode の最新バージョンには、OpenGL を最適化するための優れたツールがいくつかありますが、それらの使用方法を説明することは、この回答のトピックとしては大きすぎます。Apple は、WWDC で利用できる OpenGL 最適化手法に関するいくつかの優れたビデオと、開発者の Web サイトで利用できるビデオの Tech Talk コレクションを提供しています。

于 2012-07-23T13:26:33.700 に答える