Unity运用Gpu来处理计算和逻辑,加快程序速度

本文介绍了如何在Unity中使用ComputeShader将大量计算任务转移到GPU上,以提高程序性能。通过创建ComputeShader,定义结构体并设置入口函数,实现数据的输入与输出。在C#脚本中,创建与Shader对应的结构体,设置循环传递数据,并通过ComputeBuffer进行数据交互,最终运行Shader并获取结果。示例中展示了ComputeShader在处理复杂计算如神经网络时的优势。
摘要由CSDN通过智能技术生成

随着游戏玩法的增强,计算的多量化,我们的CPU并不足以迅速的处理这些问题,而Unity给我们开放了一个接口,我们需要用它来处理大量的运算;

我们可以把大量的处理运算的逻辑放入这个Shader中,用GPU的并行能力来计算,这里简单的说一说他的使用方式和如何把参数传入和传出。让我们像一个方法一样调用。

首先:在Unity中我们可以创建一个ComputeShader:

打开之后会发现一个这样的脚本:


简单的介绍一下,

1、这个#pragmakernel  Multiply 这是一个内核, 也可以称作入口。这个至少有一个!

这个Multiply请红线标注,很重要,我们在代码里需要用到它;

2、接下来就是一个结构体,这个结构体是我们定义的一个结构体。我们用它来和外面的结构体相呼应。

3、RwStructuredBuffe

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值