[iOSアニメーション]-CALayer描画効率-非同期描画_html/css_WEB-ITnose
非同期描画
UIKit のシングルスレッドの性質は、ホスト イメージをメイン スレッドで更新する必要があることを意味します。これは、描画によってユーザーの操作が中断され、アプリ全体が応答しなくなったように見える可能性があることを意味します。これについてできることはあまりありませんが、ユーザーが描画が完了するまで待たされることは避けたいと思います。
この問題に対処するために、使用できる方法がいくつかあります。場合によっては、事前に別のスレッドで投機的にコンテンツを描画し、そのようにして描画された画像をレイヤーのコンテンツとして直接設定できます。これは実装があまり便利ではないかもしれませんが、特定の状況では実現可能です。 Core Animation には、CATiledLayer とdrawsAsynchronously プロパティといういくつかのオプションが用意されています。
CATiledLayer
CATiledLayer については第 6 章で簡単に説明しました。レイヤーを独立して更新する小さな部分に再度分割することに加えて (汚れた四角形の自動更新の概念と同様)、CATiledLayer には興味深い機能があります。それは、複数のスレッドで小さな部分ごとに -drawLayer:inContext: メソッドを同時に呼び出すことです。これにより、ユーザーの操作のブロックが回避され、マルチコアの新しいスライスを利用してより高速な描画が可能になります。 CATiledLayer の小さな部分は、ピクチャ ビューを非同期的に更新する簡単な方法です。
drawsAsynchronouslyiOS 6 では、Apple は CALayer にこの興味深い属性を導入しました。drawsAsynchronously 属性は、-drawLayer:inContext: に渡される CGContext を変更し、ユーザーの操作をブロックしないように CGContext が描画コマンドの実行を遅延できるようにします。
CATiledLayer で使用される非同期描画とは異なります。独自の -drawLayer:inContext: メソッドはメイン スレッドでのみ呼び出されますが、CGContext は各描画コマンドの終了を待ちません。代わりに、コマンドをキューに入れ、メソッドが戻ったときにバックグラウンド スレッドで実際の描画を 1 つずつ実行します。
Appleによると。この機能は、頻繁に再描画する必要があるビュー (描画アプリケーションや UITableViewCell など) で最もよく機能しますが、一度しか描画されない、またはめったに再描画されないレイヤー コンテンツにはあまり役に立ちません。
まとめ
この章では、主に Core Graphics ソフトウェアでの描画に関するいくつかのパフォーマンスの課題について説明し、その後、描画パフォーマンスの向上や必要な描画数の削減など、いくつかの改善方法を検討しました。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









HTMLは、簡単に学習しやすく、結果をすばやく見ることができるため、初心者に適しています。 1)HTMLの学習曲線はスムーズで簡単に開始できます。 2)基本タグをマスターして、Webページの作成を開始します。 3)柔軟性が高く、CSSおよびJavaScriptと組み合わせて使用できます。 4)豊富な学習リソースと最新のツールは、学習プロセスをサポートしています。

HTMLはWeb構造を定義し、CSSはスタイルとレイアウトを担当し、JavaScriptは動的な相互作用を提供します。 3人はWeb開発で職務を遂行し、共同でカラフルなWebサイトを構築します。

Anexampleapalofastartingtaginhtmlis、それはaperginsaparagraph.startingtagsaresentionentientiontheyinitiateelements、definetheirtypes、およびarecrucialforurturingwebpagesandcontingthomedomを構築します。

webdevelopmentReliesOnhtml、css、andjavascript:1)htmlStructuresContent、2)cssStylesit、および3)Javascriptaddsinteractivity、形成、

GiteEpages静的Webサイトの展開が失敗しました:404エラーのトラブルシューティングと解像度Giteeを使用する

Y軸位置Webアノテーション機能の適応アルゴリズムこの記事では、単語文書と同様の注釈関数、特に注釈間の間隔を扱う方法を実装する方法を探ります...

画像をクリックした後、散乱と周囲の画像を拡大する効果を実現するには、多くのWebデザインがインタラクティブな効果を実現する必要があります。特定の画像をクリックして周囲を作成してください...

HTML、CSS、およびJavaScriptは、Web開発の3つの柱です。 1。HTMLは、Webページ構造を定義し、などなどのタグを使用します。2。CSSは、色、フォントサイズなどのセレクターと属性を使用してWebページスタイルを制御します。
