<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                # 隱式繪制 ????寄宿圖可以通過Core Graphics直接繪制,也可以直接載入一個圖片文件并賦值給`contents`屬性,或事先繪制一個屏幕之外的`CGContext`上下文。在之前的兩章中我們討論了這些場景下的優化。但是除了常見的顯式創建寄宿圖,你也可以通過以下三種方式創建隱式的:1,使用特性的圖層屬性。2,特定的視圖。3,特定的圖層子類。 ????了解這個情況為什么發生何時發生是很重要的,它能夠讓你避免引入不必要的軟件繪制行為。 ## 文本 ????`CATextLayer`和`UILabel`都是直接將文本繪制在圖層的寄宿圖中。事實上這兩種方式用了完全不同的渲染方式:在iOS 6及之前,`UILabel`用WebKit的HTML渲染引擎來繪制文本,而`CATextLayer`用的是Core Text.后者渲染更迅速,所以在所有需要繪制大量文本的情形下都優先使用它吧。但是這兩種方法都用了軟件的方式繪制,因此他們實際上要比硬件加速合成方式要慢。 ????不論如何,盡可能地避免改變那些包含文本的視圖的frame,因為這樣做的話文本就需要重繪。例如,如果你想在圖層的角落里顯示一段靜態的文本,但是這個圖層經常改動,你就應該把文本放在一個子圖層中。 ##光柵化 ????在第四章『視覺效果』中我們提到了`CALayer`的`shouldRasterize`屬性,它可以解決重疊透明圖層的混合失靈問題。同樣在第12章『速度的曲調』中,它也是作為繪制復雜圖層樹結構的優化方法。 ????啟用`shouldRasterize`屬性會將圖層繪制到一個屏幕之外的圖像。然后這個圖像將會被緩存起來并繪制到實際圖層的`contents`和子圖層。如果有很多的子圖層或者有復雜的效果應用,這樣做就會比重繪所有事務的所有幀劃得來得多。但是光柵化原始圖像需要時間,而且還會消耗額外的內存。 ????當我們使用得當時,光柵化可以提供很大的性能優勢(如你在第12章所見),但是一定要避免作用在內容不斷變動的圖層上,否則它緩存方面的好處就會消失,而且會讓性能變的更糟。 ????為了檢測你是否正確地使用了光柵化方式,用Instrument查看一下Color Hits Green和Misses Red項目,是否已光柵化圖像被頻繁地刷新(這樣就說明圖層并不是光柵化的好選擇,或則你無意間觸發了不必要的改變導致了重繪行為)。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看