美文网首页
降低界面的更新开销

降低界面的更新开销

作者: 此年此景 | 来源:发表于2017-08-27 18:07 被阅读0次
避免“敏感操作”
--NGUI
   1.元素隐藏显示-->FillAllDrawCalls
FillDrawCalls常见原因:
添加/删除元素时,穿插了其他UIDrawCall,例如一个Panel有DrawCall A,B等,在更新时A中穿插(根据Depth来的)了使用B的材质的UI,那么Panel就会变成ABAB。
添加/删除的元素自成一个UIDrawCall(没有任何一个UIDrawCall和它匹配,或是没有包含这个Depth的)
    2.避免方式
尝试让插入的元素能够合入现有的UIDrawCall(在Panel中放入一个全透明的Sprite占用这个Depth正好生产一个UIDrawCall,那么新的UI就能合入到这个UIDrawCall,缺点容错率低)
通过scale=0或者是alpha接近于0来“隐藏”(尤其是冷却数字、冷却条,技能条),alpha为0和接近于0有本质区别,scale=0并不会把顶点删掉,而是把它缩放为0的,网格、DrawCall还在,也会参与网格重建,好处在于不会引起上面产生的峰值
--UGUI
元素的position赋值-->Canvas.BuildBatch

优化选项(NGUI)
static:优化移动UIPanel时(跳过LateUpdate的轮询)
visible:优化大量网格更新时

相关文章

  • 降低界面的更新开销

  • Xcode构建效率及编译速度提升

    1.New Build System 特性:降低构建开销,尤其可以降低大型项目的构建开销 Xcode12Legac...

  • 降低买书开销

    一个写作者一年少则读十本八本,多则百本,长此以往,是一笔不小的开支。尤其是重度文学爱好者,藏书成灾,买书成患,三天...

  • 线程池

    线程池的定义 减少资源创建 => 减少内存开销,创建线程占用内存 降低系统开销 => 创建线程需要时间,会延迟处理...

  • 36.4 通过中断降低CPU开销

    36.4 通过中断降低CPU开销 多年前为了提升这种交互的性能,许多工程师发明了我们现在熟知的:中断。操作系统不是...

  • 如何降低无效的物理开销

    1)如何降低无效的物理开销 2)EventSystem.Update如何优化比较合适 3)如何定位UWA报告中检测...

  • Java线程池详解(一)-创建自有线程池

    什么是线程池 线程池的概念大家应该都很清楚,帮我们重复管理线程,避免创建大量的线程增加开销。除了降低开销以外,线程...

  • 多线程

    单线程进程结构缺点: 并发程序存在问题 进程切换开销大 进程通信开销大 限制了进程并发的力度 降低了并行计算的效率...

  • python实现Dijkstra(狄克斯特拉算法)——解决边权为

    狄克斯特拉算法 思路: 找到未被处理的节点获取距离起点最近的节点,更新其邻居的开销如果有邻居的开销被更新,那么同时...

  • Java线程池

    线程池的优势: 通过复用已有的线程,降低线程创建的销毁的系统开销 提高响应速度,复用已有的线程避免了创建线程的开销...

网友评论

      本文标题:降低界面的更新开销

      本文链接:https://www.haomeiwen.com/subject/whcidxtx.html