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

网站建设实训报告的内容怎么写百度搜索引擎的使用方法

网站建设实训报告的内容怎么写,百度搜索引擎的使用方法,朗润装饰,wordpress中文翻译插件【Unity】批处理和实例化的底层优化原理 1.基础概念SetPassCallsDrawCallsBatches 2.重要性排序既然如此为什么仍然要合批? 3.unity主流的合批优化方案和优先级Early-Z透明物体情况 4.合批(小场景但是很复杂很多小物件刚需)合并纹理图集更改u…

【Unity】批处理和实例化的底层优化原理

    • 1.基础概念
      • SetPassCalls
      • DrawCalls
      • Batches
    • 2.重要性排序
      • 既然如此为什么仍然要合批?
    • 3.unity主流的合批优化方案和优先级
        • Early-Z
        • 透明物体情况
    • 4.合批(小场景但是很复杂很多小物件刚需)
      • 合并纹理图集更改uv映射(共享材质)
      • 静态合批(一批次最多是64000顶点)
        • 刺客信条场景案例
      • 手动合批
      • 动态合批

以下图片以及理解均来自b站up主:别看着我笑了。直达链接
侵权请联系我,第一时间删除!

看前须知渲染管线基本流程!!!!!!(games101前9课)

1.基础概念

SetPassCalls

这是对drawcall的准备工作,CPU设置资源和改变内部设置的地方,称之为渲染状态(下面有Unity的状态图)。例如改变材质,是图形API消耗极大的操作。
在这里插入图片描述

  • Unity可设置渲染的状态

在这里插入图片描述
豆包解释:
在这里插入图片描述
在这里插入图片描述

DrawCalls

在这里插入图片描述

Batches

在这里插入图片描述

2.重要性排序

通过实验和例子发现,如果setpass相同的话(这里体现在更换材质),批次的多与少对渲染性能的优化其实是微乎其微的,甚至会更差。
在这里插入图片描述
这个例子更能看出区别,上面是合批优化的,下面是减少setpassCall的,可以发现前者虽然合批到了极致,但是后者只通过将不同的材质合批减少了一次setpassCall耗时就低于了前者,说明在渲染消耗的时间setpassCall是占大头的。
在这里插入图片描述

既然如此为什么仍然要合批?

既然合批之后的时间甚至不如不合批,那为什么我们还要去优化批次呢?
原因:unity可以识别一些简单的物体是否是相同的材质,并且自动合批,但是在大多数复杂的环境下unity在渲染的时候不能分辨哪些是同一个材质,只是在某些复杂场景下,比如动态物体较多、材质变体复杂等情况,可能无法完美做到所有相同材质物体都能高效合并,导致仍存在多次切换相同材质引发 SetPass Call 的情况,所以合批是为了让尽可能减少的切换到相同材质的情况导致多次调用 SetPass Call。

3.unity主流的合批优化方案和优先级

在这里插入图片描述

Early-Z

可以在渲染之前确定不透明物体是否要渲染,是否遮挡并且剔除。然而如果遇到半透明物体由于需要确定透明物体后面的材质,所以不可避免的需要切换渲染状态。

透明物体情况

左图勾选静态合批,如果没有红球,那么在profile页面确确实实看到了静态合批减少了2次DrawCall(显示在Static Batching栏中),而加上红球后,由于前面的透明物体的渲染必须先知道后面的物体是怎么渲染的才能渲染,所以前面和最后面的透明物体无法合批一同渲染,因此批次增加了3(2透明球,1红色球)。
在这里插入图片描述

4.合批(小场景但是很复杂很多小物件刚需)

本质:在这里插入图片描述

合并纹理图集更改uv映射(共享材质)

  • 如果多个模型相同或不同的物体(主要看Transform是不是静态的),材质不同,可以通过合并图集更改uv映射,来减少材质更换的次数。
  • !局限性:合并图集可能增加纹理内存占用,若纹理利用率低,会浪费内存;调整 UV 映射过程较复杂,尤其是模型结构复杂时,手动调整工作量大,还可能影响纹理映射效果;此外,如果模型材质有复杂的动态变化效果,这种方式可能无法很好地满足需求。

静态合批(一批次最多是64000顶点)

原理:仅仅一次处理!!!
在这里插入图片描述

  • 当使用的材质是多 Pass(一个渲染过程中执行多个渲染通道,比如一些复杂材质可能既要渲染基础颜色,又要渲染高光、阴影等,每个步骤算一个 Pass )时,静态批处理依然有效

  • 然而如果合并多个相同网格会增加CPU的内存,不合并又会增加渲染时间,up主给出的建议是合并不同模型相同材质的静态网格物体,不过我个人认为下面说法更正确。

  • 实际开发中要怎么权衡这种空间换时间的利弊呢?
    总结:
    1.合并相同且靠近的网格,但又不能过多。
    2.考虑平台对内存资源的紧张程度,以及优先性。例如CSGO需要高帧数那么应该在许可的范围内以空间换时间,而在移动平台等资源紧张的平台应该更关注CPU内存的使用。
    3.大型复杂场景对GPU压力大的情况下,尽可能利用CPU缓解压力。
    在这里插入图片描述

刺客信条场景案例

把一个大的模型拆分成多个小块,通过小块之间的不同组合,实现不同的形状,使用同一个材质对应的uv地段,再通过shader脚本的编写就可以达成宏达而完美的场景甚至不用切换材质!

手动合批

任何相对运动且相对静止的物体,都可以通过再unity中调用Mesh.CombineMeshes,或者在建模软件中给它合批了。
然而unity不能自主的剔除手动合批的物体,您需要自己剔除(cull)!
在这里插入图片描述

动态合批

是在CPU中处理的。
据说很鸡肋使用条件十分之苛刻,只能在很有限的范围内进行优化,甚至是负优化,HDRP甚至不支持。
在这里插入图片描述
然而动态合批能够很好的处理unity的粒子系统。
在这里插入图片描述

http://www.dtcms.com/wzjs/215982.html

相关文章:

  • 洛卡博网站谁做的b站软件推广大全
  • 宝安疫情最新消息今天又封了seo这个行业怎么样
  • 做纱窗修水管的一个网站seo优化服务商
  • 网站建设话术宝典网络营销专业大学排名
  • 怎么建一个卖东西的网站东莞网站公司哪家好
  • 网站开发维护岗位职责搜狗网站收录提交入口
  • 南宁律师网站建设网推怎么做最有效
  • 茶叶电子商务网站建设的结论广东seo推广方案
  • 开发网站大概要多少钱福州网站开发公司
  • 深圳做app网站设计软件开发外包公司
  • 网站排名怎么靠前免费宣传网站
  • 网站建设报价单下载搜索引擎营销怎么做
  • 站长工具关键词申请自媒体平台注册
  • 外包做的网站可以直接去收录吗网络免费推广平台
  • 网站建设项目说明书模板推销一个产品的方案
  • 东莞网站建设运营方案如何进行推广
  • 如何设计的英文网站竞价托管如何托管
  • 静态网站开发一体化课程百度一下百度网页官
  • 网站备案的核验单百度检索入口
  • 网站建设 策划方案书班级优化大师头像
  • 外贸商城网站制作网站模板及源码
  • 手机网站php源码谷歌流量代理代理
  • 做暧暖ox免费网站100个裂变营销案例
  • 厦门网站设计多少钱百度搜索智能精选
  • flash网站源文件百度指数只能查90天吗
  • 昆明做网站的旅行社湖南网站设计外包哪家好
  • 可以不花钱做网站吗手机百度官网
  • 黄岛王台有做网站的吗seo网络营销推广排名
  • 做钻石资讯网站整站营销系统
  • 家政 东莞网站建设百度公司推广