Unity DOTS技术(三)JobSystem+Burst+批处理


在之前的例子中我们都中用的单线程与传统的编译器,下面我们试着使用JobSystem与打找Burst编译器来对比一下性能的差异.
在这里插入图片描述

一.传统方式

1.首先用传统方式创建10000个方块并让基每帧旋转
在这里插入图片描述
2.我们可以看到他的帧率是40+
在这里插入图片描述

二.使用JobSystem+Burst方式

1.再使用创建实体的方式创建10000个方块(内容看注释)
在这里插入图片描述

2.首先我们先创建一个JobComponentSystem,
在这里插入图片描述
3.这时候我们会发帧率比传统的方式快了很多
在这里插入图片描述

4.打开Burst编译器,性能进一步提升
在这里插入图片描述
在这里插入图片描述

三.批处理

1.我们使用Cube使用相同的材质,并使用GPU Instancing,性能会有进一步提升

降低CPU提交的次数,一般分为三个部分
1.动态批处理
2.动态批处理
3.GPU Instancing

GPU Instancing
1.创建材质
2.勾选Enable GPU Instancing
3.赋予Cube
在这里插入图片描述
在这里插入图片描述

  • 10
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Unity3D+DOTS(Data-Oriented Technology Stack)是Unity引擎中的一种新的编程模型和技术堆栈,旨在提供更高性能和更好的可扩展性。DOTS的核心思想是将数据驱动的设计范式应用于游戏开发,以提高游戏的性能和效率。 DOTS包括以下几个主要组件: 1. ECS(Entity Component System):ECSDOTS的核心部分,它是一种新的编程模型,用于管理游戏对象和组件之间的关系。ECS将游戏对象分解为实体(Entity)、组件(Component)和系统(System),通过数据驱动的方式来处理游戏逻辑。 2. Job System:Job SystemUnity3D中的一个并行计算系统,它允许开发者利用多核处理器来执行游戏逻辑。通过将任务划分为小的工作单元(Job),Job System可以实现高效的并行计算,提高游戏的性能。 3. Burst Compiler:Burst Compiler是Unity3D中的一种编译器技术,用于将C#代码转换为高效的机器码。Burst Compiler可以与Job System结合使用,进一步提高游戏的性能。 使用Unity3D+DOTS可以带来以下优势: 1. 更高的性能:DOTS采用数据驱动的设计范式,可以更好地利用硬件资源,提高游戏的性能。 2. 更好的可扩展性:通过ECS和Job System,开发者可以轻松地编写高效的并行代码,并且可以方便地扩展游戏逻辑。 3. 更好的开发效率:DOTS提供了一种简洁而强大的编程模型,可以减少代码量,并且可以更好地组织和管理游戏逻辑。 4. 跨平台支持:Unity3D+DOTS可以在多个平台上运行,包括PC、移动设备和主机等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小盖子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值