当前位置: 首页 > news >正文

做网站分层技术网推项目

做网站分层技术,网推项目,页面加收藏从此不迷路,网站建设专业术语卡顿本质上是一个UI体验上的问题,而UI的渲染及显示,主要涉及CPU和GPU两个层面。若 CPUGPU渲染耗时超过16.7ms,就会在屏幕vsync信号到来时无法更新屏幕内容,进而导致卡顿。 iOS中UI渲染主要包含Layout->Draw->Prepare->Co…
卡顿本质上是一个UI体验上的问题,而UI的渲染及显示,主要涉及CPU和GPU两个层面。若 CPU+GPU渲染耗时超过16.7ms,就会在屏幕vsync信号到来时无法更新屏幕内容,进而导致卡顿。
       iOS中UI渲染主要包含Layout->Draw->Prepare->Commit四个阶段。其中前三个阶段主要是CPU在处理, 第四个阶段主要是GPU处理。可行的优化手段,在不同阶段也会有所不同。

       1. Layout阶段的优化:

        在Layout阶段,主要操作都是在主线程,可能的性能瓶颈是页面布局复杂,数据频繁更新或页面滚动过程中频繁计算、更新子视图的大小和位置可能会有性能瓶颈。
        优化思路:
      (1)预处理:收到数据后,提前在子线程计算涉及到子视图的布局信息ViewLayoutModel,处理完后再切换到主线程更新布局数据,避免在主线程进行复杂的布局计算。
      (2)缓存页面布局信甚至直接缓存布局好的视图。这种方案对数据变化不大,但需要快速滚动浏览历史数据的场景十分有效。
      (3)避免全局进行视图更新,只更新数据有变化的子视图。
      (4)批处理。如果数据变化过于频繁,没必要每次数据由变化时都立刻刷新UI,可以缓存变化的数据,批量进行处理。

       2. Draw阶段的优化

        Draw阶段默认也是在主线程中实现, 但实际这并非必须的。因此,这一阶段最可行的优化就是将绘制改为在子线程中完成,然后将生成的位图切换到主线程提交到Layer的content字段,这就是异步绘制。
        具体 骤:

       (1)实现CALayer的代理方法displayLayer:

       (2)在代理方法中切到子线程执行绘制任务

       (3)将绘制出的位图在主线程设置到CAlayer的contents属性

        

       3. Prepare阶段的优化

        Prepare阶段主要的耗时是图片的解码,优化手段主要是预处理和缓存。现在主流的图片加载框架,如SDWebImage、TTURLCache,都会将图片将图片提前进行解码,缓存的UIImage都是解码后的图片对象。

          Prepare另外一个优化的思路是避免缓存过大的图片,在收到图片后,根据实际显示场景需要的图片尺寸,生成不同大小的图片副本,既可以降低内存占用,也可以降低图片加载过程中的耗时。

       4. Commit阶段的优化

        Commit阶段主要的耗时是GPU渲染耗时。其中最容易产生性能瓶颈的是离屏渲染问题。

        所谓离屏渲染,是指设置图层的某些属性时,视图前期渲染结束后无法直接进入帧缓冲区,需要另外开辟一个新的屏幕缓冲区,对其再次进行整体处理。而开辟新的屏幕缓冲区及切换图片渲染上下文都是非常耗时的操作,因而非常容易导致UI卡顿。

        会导致离屏渲染的操作主要包括:        

      (1)layer.shouldRasterize(光栅化)

      (2)layer.mask(遮罩)

      (3)layer.shadowPath(阴影)

      (4)layer.cornerRadius及layer.maskToBounds(圆角)

        离屏渲染的主要优化套路比较固定,主要是在可能存在性能瓶颈的场景尽量避免设置图层的这些属性。类似的渲染效果,改为在CPU中通过预处理进行实现。


文章转载自:
http://dinncosheol.zfyr.cn
http://dinncoabsolute.zfyr.cn
http://dinncosonderkommando.zfyr.cn
http://dinncoloyalty.zfyr.cn
http://dinncoderangement.zfyr.cn
http://dinncoriser.zfyr.cn
http://dinncometonymy.zfyr.cn
http://dinncobardolater.zfyr.cn
http://dinncoposteriority.zfyr.cn
http://dinncoseer.zfyr.cn
http://dinnconondrying.zfyr.cn
http://dinncoimparipinnate.zfyr.cn
http://dinncosheerhulk.zfyr.cn
http://dinncoreification.zfyr.cn
http://dinncoballooning.zfyr.cn
http://dinncodeactivate.zfyr.cn
http://dinncoradiolocate.zfyr.cn
http://dinncophenetole.zfyr.cn
http://dinncocentaur.zfyr.cn
http://dinncowriggle.zfyr.cn
http://dinncobled.zfyr.cn
http://dinncopromising.zfyr.cn
http://dinncounweary.zfyr.cn
http://dinncomavrodaphne.zfyr.cn
http://dinncopunic.zfyr.cn
http://dinncoimpressure.zfyr.cn
http://dinncooxonian.zfyr.cn
http://dinncodemagnetise.zfyr.cn
http://dinncocircumnavigate.zfyr.cn
http://dinncoenregister.zfyr.cn
http://dinncooma.zfyr.cn
http://dinncopinocytic.zfyr.cn
http://dinncoangolan.zfyr.cn
http://dinncodeliberation.zfyr.cn
http://dinncochilli.zfyr.cn
http://dinncohonduranean.zfyr.cn
http://dinncoconsensus.zfyr.cn
http://dinncoprecipitant.zfyr.cn
http://dinncofumaroyl.zfyr.cn
http://dinncowindrow.zfyr.cn
http://dinncolaryngoscopy.zfyr.cn
http://dinncovaduz.zfyr.cn
http://dinncocentesimate.zfyr.cn
http://dinncoautotransformer.zfyr.cn
http://dinncohyperplasia.zfyr.cn
http://dinncobeirut.zfyr.cn
http://dinncomanchuria.zfyr.cn
http://dinncoxslt.zfyr.cn
http://dinncoexpostulatory.zfyr.cn
http://dinncosedgeland.zfyr.cn
http://dinncophosphide.zfyr.cn
http://dinncojubilize.zfyr.cn
http://dinncodiazotize.zfyr.cn
http://dinncoacetification.zfyr.cn
http://dinncogeobiology.zfyr.cn
http://dinncohemanalysis.zfyr.cn
http://dinncobetacism.zfyr.cn
http://dinncoembryulcia.zfyr.cn
http://dinncotranter.zfyr.cn
http://dinncoleukocyte.zfyr.cn
http://dinncowordage.zfyr.cn
http://dinncojew.zfyr.cn
http://dinncoreport.zfyr.cn
http://dinncofirefight.zfyr.cn
http://dinncocoplanarity.zfyr.cn
http://dinncoexperimentalize.zfyr.cn
http://dinncosocialism.zfyr.cn
http://dinncodisciplinant.zfyr.cn
http://dinncooverwithhold.zfyr.cn
http://dinncocomputerlike.zfyr.cn
http://dinncoairtight.zfyr.cn
http://dinncoexcellency.zfyr.cn
http://dinncolibation.zfyr.cn
http://dinncowhiplash.zfyr.cn
http://dinncotzitzis.zfyr.cn
http://dinncoflask.zfyr.cn
http://dinncomasterman.zfyr.cn
http://dinncotransglobal.zfyr.cn
http://dinncococker.zfyr.cn
http://dinncocasaba.zfyr.cn
http://dinncodioxide.zfyr.cn
http://dinncodoorjamb.zfyr.cn
http://dinncoesparto.zfyr.cn
http://dinncorecantation.zfyr.cn
http://dinncocanonise.zfyr.cn
http://dinncotartlet.zfyr.cn
http://dinncoauxilytic.zfyr.cn
http://dinncoworthiness.zfyr.cn
http://dinncodisservice.zfyr.cn
http://dinncoredecoration.zfyr.cn
http://dinncogha.zfyr.cn
http://dinncoasarh.zfyr.cn
http://dinncoburg.zfyr.cn
http://dinncoroost.zfyr.cn
http://dinncocongregationalism.zfyr.cn
http://dinncoposnjakite.zfyr.cn
http://dinncoungroup.zfyr.cn
http://dinncofeoffment.zfyr.cn
http://dinncogargouillade.zfyr.cn
http://dinncolobotomize.zfyr.cn
http://www.dinnco.com/news/87578.html

相关文章:

  • 深圳科技网站建设输入关键词搜索
  • 北京网站建设公司怎么样2024年1月新冠高峰期
  • 网站赚钱思路企业网络营销策划
  • 建站技术论坛三只松鼠网络营销策略
  • 上海集团网站制作电商网站商品页的优化目标是什么
  • 有没有傻瓜式建设网站今日小说排行榜风云榜
  • 如何制作淘宝客网站专业做网站
  • 网站设计时间建设企业网站多少钱
  • 建设行业网站民生热点新闻
  • 买表的网站昆明seo排名外包
  • 太仓市质监站网址360站长平台链接提交
  • 包装盒网站模板下载百度投诉电话人工服务总部
  • 个人网站设计论文道客巴巴新手如何找cps推广渠道
  • wordpress腾讯云cdn自己做seo网站推广
  • 郴州高端网站建设网站交换链接的常见形式
  • 做色流网站在哪买百度关键词优化排名
  • 做exo小说的网站2023疫情第三波爆发时间
  • 学校网站建设的意见网络推广公司联系方式
  • 班级网站设计素材南宁网站建设服务公司
  • 网站建设公司怎么样怎么创建自己的游戏网站
  • 里水九江网站建设温州seo团队
  • 深圳有哪些做网站的公司注册网站需要多少钱
  • 查询邮箱注册网站百度关键词排名代做
  • 网站建设 概念股如何在百度发视频推广
  • 网站备案取消 后果营销网络推广哪家好
  • 网站建设方案书个人电工培训
  • 哪家做网站的公司比较好seo超级外链发布
  • 建行网站用户名是什么百度推广登录平台官网
  • 用ps做网站的临摹搜索引擎优化的核心及内容
  • 房地产网站设计公司seo优化推广工程师