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

汽车装饰网站模板策划公司怎么找客户

汽车装饰网站模板,策划公司怎么找客户,东莞小程序开发哪家好,烟台优化网站建设文章目录 离屏渲染UIView和CALayer关系GPU屏幕渲染有两种方式:产生离屏渲染的原因#xff1a;既然离屏渲染这么耗性能,为什么有这套机制呢?什么情况会离屏渲染#xff1f;既然离屏渲染这么不好#xff0c;为什么我们还要强制开启呢#xff1f;如何避免离屏渲染#xff1f… 文章目录 离屏渲染UIView和CALayer关系GPU屏幕渲染有两种方式:产生离屏渲染的原因既然离屏渲染这么耗性能,为什么有这套机制呢?什么情况会离屏渲染既然离屏渲染这么不好为什么我们还要强制开启呢如何避免离屏渲染1.圆角的优化2.shadow 离屏渲染 UIView和CALayer关系 UIView继承自UIResponder可以处理系统传递过来的事件如UIApplication、UIViewController、UIView以及所有从UIView派生出来的UIKit类。每个UIView内部都有一个CALayer提供内容的绘制和显示并且作为内部RootLayer的代理视图。CALayer继承自NSObject类负责显示UIView提供的内容contents。CALayer有三个视觉元素背景色、内容和边框其中内容的本质是一个CGImage。 GPU屏幕渲染有两种方式: 1.On-Screen Rendering (当前屏幕渲染) 指的是GPU的渲染操作是在当前用于显示的屏幕缓冲区进行。 2.Off-Screen Rendering (离屏渲染) 指的是在GPU在当前屏幕缓冲区以外开辟一个缓冲区进行渲染操作。 当前屏幕渲染不需要额外创建新的缓存也不需要开启新的上下文相对于离屏渲染性能更好。但是受当前屏幕渲染的局限因素限制(只有自身上下文、屏幕缓存有限等)当前屏幕渲染有些情况下的渲染解决不了的就使用到离屏渲染。 产生离屏渲染的原因 苹果系统不能够一次的去处理视图需要一张一张的去处理视图那么就会需要开辟一个离屏缓存区去存储一张张处理好的视图开辟的这个离屏缓存区就会导致离屏渲染。 既然离屏渲染这么耗性能,为什么有这套机制呢? 有些效果被认为不能直接呈现于屏幕而需要在别的地方做额外的处理预合成。图层属性的混合体没有预合成之前不能直接在屏幕中绘制所以就需要屏幕外渲染。 什么情况会离屏渲染 为图层设置遮罩layer.mask将图层的layer.masksToBounds / view.clipsToBounds属性设置为true将图层layer.allowsGroupOpacity属性设置为YES和layer.opacity小于1.0为图层设置阴影layer.shadow *。为图层设置光栅化 layer.shouldRasterizetrue具有layer.cornerRadiuslayer.edgeAntialiasingMasklayer.allowsEdgeAntialiasing的图层 当然也不是所有的圆角都会导致离屏渲染文本任何种类包括UILabelCATextLayerCore Text等。使用CGContext在drawRect :方法中绘制大部分情况下会导致离屏渲染甚至仅仅是一个空的实现。 既然离屏渲染这么不好为什么我们还要强制开启呢 当一个图像混合了多个图层每次移动时每一帧都要重新合成这些图层十分消耗性能。当我们开启光栅化后会在首次产生一个位图缓存当再次使用时候就会复用这个缓存。但是如果图层发生改变的时候就会重新产生位图缓存。所以这个功能一般不能用于 UITableViewCell中cell的复用反而降低了性能。最好用于图层较多的静态内容的图形。而且产生的位图缓存的大小是有限制的一般是2.5个屏幕尺寸。在100ms之内不使用这个缓存缓存也会被删除。所以我们要根据使用场景而定。 如何避免离屏渲染 1.圆角的优化 1使用贝塞尔曲线UIBezierPath和Core Graphics框架画出一个圆角 2、使用CAShapeLayer和UIBezierPath设置圆角 总的来说就是用CAShapeLayer的内存消耗少渲染速度快建议使用优化方案2。 2.shadow 对于shadow如果图层是个简单的几何图形或者圆角图形我们可以通过设置shadowPath来优化性能能大幅提高性能。示例如下 mageView.layer.shadowColor[UIColorgrayColor].CGColor; imageView.layer.shadowOpacity1.0; imageView.layer.shadowRadius2.0; UIBezierPath *path[UIBezierPathbezierPathWithRect:imageView.frame]; imageView.layer.shadowPathpath.CGPath;我们还可以通过设置shouldRasterize属性值为YES来强制开启离屏渲染。其实就是光栅化Rasterization。
http://www.zqtcl.cn/news/624034/

相关文章:

  • 诸城网站建设0536s整站优化seo排名点击
  • 企业建设网站需注意哪些内容苏州网站怎么做
  • 浏览器打开网站网站推广软件工具
  • 网站主题编辑工具WordPress公司网站策划方案
  • 做旅游网站选什么空间搜索引擎优化策略有哪些
  • 网站备案多少钱安全网站建设与服务的关系
  • 手机端网页设计尺寸规范优化seo排名
  • 做网站业务提成多少厦门十大装修公司排名榜
  • 为什么用开源建站wordpress rss 插件
  • 语文建设投稿网站南昌做网站的公司多不多
  • 石家庄网站建设的公司功能性质网站
  • 企业网站主页模板装饰公司名字起名大全
  • 马鞍山网站设计价格如何在微信公众号内部做网站
  • 申请网站建设经费的报告生态建设网站
  • 建网站要多少钱用自己的服务器河北工程大学网站开发成本
  • 宁波网站建站公司商务网站模块设计时前台基础设施建设不包括
  • 徐州免费网站制作怎么用阿里云服务器搭建wordpress
  • php猎奇源码 织梦新闻视频图片八卦娱乐趣事资讯门户网站模板html代码表格
  • 南通做网站优化哪家好网页策划书 网站建设定位
  • 防止访问网站文件夹绵阳 网站设计
  • 网页与网站的区别是什么东莞网站公司排名
  • 盐城市城乡和住房建设厅网站wordpress文章订阅
  • 济南网站优化wordpress文件上传到那个文件
  • 外贸网站租用外国服务器好还是自己装一个服务器好高质量外链网站
  • 珠海专门做网站成都到西安
  • 网站做1920px好吗长沙seo优化排名
  • 哈尔滨微信网站开发wordpress 视
  • wordpress 分享封面图片尺寸重庆官网优化乐育公司
  • dede手机网站更新受欢迎的昆明网站建设
  • 网站设计外包合同专做自驾游的网站