私はプロジェクト全体をスキャンして、アプリケーションを高速化するために無効にできるものを無効にします。たとえば、タッチのようなものに反応する必要のないビューのユーザーインタラクションプロパティです。私は利得が最小限になることは分かっていますが、とにかくそれを可能にします。Interface Builderのプロパティ 'Opaque'と 'Graphics Context Clears'を見たことがありますか?
オフにすることができるものを見ると、すべてのビューで長時間知っているOpaque
とClears Graphics Context
というプロパティが表示されます。
私は、ストーリーボードが作成されたので、最初はプログラムですべてのものを作成し、広範囲にInterface Builderを使用して、2008年からiOS用の開発。
私は、これらのプロパティーがその状態にかかわらず、これらのプロパティーを全く見たことがないことに気付きました。Opaque
またはClears Graphics Context
例えば
:私は今、それが背景画像を使用して、このUIButton
を作成しました。画像には半透明の影があります。ボタンのOpaque
とClears Graphics Context
のプロパティをオン/オフに設定しています。アプリが実行されても、Interface Builderでは違いはなく、違いはありません。
私は今、私はそれらのいずれかが、私はプログラムでビューを作成するために使用した場合であっても、それらの状態にもかかわらず、まったく違いを生み出す見たことがないことを実現し、Appleは理論的にはこれらのプロパティを言うことを知っているが、それらについて考えます。
は、皆さんは、これらのプロパティの状態が影響を行いますコードの一部の例を与えることはできますか?
'opaque'景色が全く合成が必要とされないよう描画する迅速あるをデバッグする機器を使用する例が含まれています。これはスタティックビューではほとんど違いがありませんが、ビューが「移動」する必要のあるテーブルビュー/スクロールビュー/コレクションビューやアニメーションでは、これは60fpsとパフォーマンスの差があります。 Appleは過去の無料のWWDCビデオでこのトピックをパフォーマンスでカバーしてきました。透過的で背景をぼかす 'UIVisualEffectViews'は、例えば大きなパフォーマンスヒットを引き起こす可能性があります。 –
>これは静的ビューではほとんど違いがありません...私は全く違いがないと言います。あなたはこのコメントをあなたの答えにしていけないので、私は受け入れることができますか? – SpaceDog
私は答えとして投稿しますが、私は 'Clears Graphics Context 'についての情報はありません。 –