2017-04-10 3 views
2

私はプロジェクト全体をスキャンして、アプリケーションを高速化するために無効にできるものを無効にします。たとえば、タッチのようなものに反応する必要のないビューのユーザーインタラクションプロパティです。私は利得が最小限になることは分かっていますが、とにかくそれを可能にします。Interface Builderのプロパティ 'Opaque'と 'Graphics Context Clears'を見たことがありますか?

オフにすることができるものを見ると、すべてのビューで長時間知っているOpaqueClears Graphics Contextというプロパティが表示されます。

私は、ストーリーボードが作成されたので、最初はプログラムですべてのものを作成し、広範囲にInterface Builderを使用して、2008年からiOS用の開発。

私は、これらのプロパティーがその状態にかかわらず、これらのプロパティーを全く見たことがないことに気付きました。OpaqueまたはClears Graphics Context例えば

:私は今、それが背景画像を使用して、このUIButtonを作成しました。画像には半透明の影があります。ボタンのOpaqueClears Graphics Contextのプロパティをオン/オフに設定しています。アプリが実行されても、Interface Builderでは違いはなく、違いはありません。

私は今、私はそれらのいずれかが、私はプログラムでビューを作成するために使用した場合であっても、それらの状態にもかかわらず、まったく違いを生み出す見たことがないことを実現し、Appleは理論的にはこれらのプロパティを言うことを知っているが、それらについて考えます。

は、皆さんは、これらのプロパティの状態が影響を行いますコードの一部の例を与えることはできますか?

+0

'opaque'景色が全く合成が必要とされないよう描画する迅速あるをデバッグする機器を使用する例が含まれています。これはスタティックビューではほとんど違いがありませんが、ビューが「移動」する必要のあるテーブルビュー/スクロールビュー/コレクションビューやアニメーションでは、これは60fpsとパフォーマンスの差があります。 Appleは過去の無料のWWDCビデオでこのトピックをパフォーマンスでカバーしてきました。透過的で背景をぼかす 'UIVisualEffectViews'は、例えば大きなパフォーマンスヒットを引き起こす可能性があります。 –

+0

>これは静的ビューではほとんど違いがありません...私は全く違いがないと言います。あなたはこのコメントをあなたの答えにしていけないので、私は受け入れることができますか? – SpaceDog

+0

私は答えとして投稿しますが、私は 'Clears Graphics Context 'についての情報はありません。 –

答えて

2

opaqueビューには合成が必要とされないよう描画するより速いです。これは静的ビューではほとんど違いはありませんが、UITableView s/UIScrollView s/UICollectionView s、またはビューが「移動する」必要があるアニメーションでは、これは60fpsとパフォーマンスの差になります。

Appleは過去の無料のWWDCビデオでこのトピックをパフォーマンスでカバーしました。透過的で背景をぼかすUIVisualEffectViewsは、例えば、大きなパフォーマンスヒットを引き起こす可能性があります。

以下は、グラフィックス/ UIのパフォーマンスを参照する無料のWWDCビデオへのリンクです。 WWDC CAAnimation/SpriteKitの動画がありますが、具体的には以下の動画が掲載されています。

WWDC 2012:

WWDC 2014:

+0

T H A N K S! ! ! – SpaceDog

関連する問題