(二十七)unity shader之——————基本的渲染概念

本文深入探讨Unity中的逐顶点计算和逐像素计算,强调了两者在性能优化中的重要性。此外,还详细阐述了绘制调用的概念及其对优化的影响,介绍了Unity的合批策略以及如何利用渲染队列进行优化,以提升游戏开发的效率和性能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、逐顶点计算和逐像素计算

1.1逐顶点计算

在vertex函数中进行的计算就叫逐顶点计算,该计算量只和模型的顶点数量或面的数量有关,而和其他因素(如模型在屏幕上的大小)无关。在unity的表面着色器中,逐像素的计算发生在vertex:vertexfunction所确定的函数中。

1.2逐像素计算

在fragment函数中进行的计算就叫逐像素计算,这个计算量和模型的具体顶点数量以及面数无关,而和物体在屏幕上的大小有关。而3个点确定的面经过栅格化之后,往往会产生成百上千的像素,因此逐像素和逐顶点计算的计算量往往相差数个数量级。逐顶点计算和逐像素计算是着色器计算、渲染优化的重点。

1.3如何在这两个概念中取舍

尽量把计算移动到vertex函数中,同时使逐像素计算的面在屏幕上尽量小。另外在移动平台的顶点数不要超过10的6次方。在PC上要限制在10的7次方级别内。

二、绘制调用的意义

2.1绘制调用的概念

绘制调用是CPU为GPU准备渲染数据并令GPU进行一次渲染的操作。这是系统的一个底层操作,涉及大量的数据生成和前期准备,因此是重量级的。

2.2正确理解绘制调用对开发应用的意义

绘制调用是一个重要指标,具体就是CPU和GPU交互、协同的一个重要指标,或者说是瓶颈。它终究只是CPU和GPU交互效率 一个指标,并不是一切。对于GPU来说,一次绘制调用的消耗还是具体看绘制调用的内容,也就是着色器的具体代码。

2.3合批的概念和unity为

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值