位置: 编程技术 - 正文

unity3d移动平台性能优化专题(8):shader优化(unity3dwasd移动)

编辑:rootadmin

推荐整理分享unity3d移动平台性能优化专题(8):shader优化(unity3dwasd移动),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:unity移动游戏开发,unity3d跨平台,unity移动ui,unity移动游戏开发,unity3dwasd移动,unity移动ui,unity移动ui,unity3dwasd移动,内容如对您有帮助,希望把文章链接给更多的朋友!

当然如果你完全可以采用内置的Mobile下面的shader是最好,性能肯定是杠杠的。但是相信绝大部分游戏还是不得不自己写shader,那就要注意写出高性能的shader。

1.复杂的数学函数(如 pow,exp,log,cos,sin,tan 等等)会大大增加 GPU 负担,所以一个好的经验法则是,此类运算在每个像素中不得超过一个。考虑在合适时使用查找纹理作为替代选择。

2.alpha 测试运算会让片段速度变慢。(on PowerVR GPUs found in iOS and some Android devices)

3.编写自定义的着色器时,应始终指定浮点变量精度。为获得最佳性能,挑选精度尽可能小的浮点&#;式至关重要。很多台式机 GPU 均完全忽略运算精确,但是它对于大量移动 GPU 的性能具有重大影响。

unity3d移动平台性能优化专题(8):shader优化(unity3dwasd移动)

如果着色器使用 Cg/HLSL 编写,那么精度规定如下:

float — 完整的 位浮点&#;式,适合用于顶点变换,但性能最慢。half — 简化的 位浮点&#;式,适用于纹理 UV 坐标且比 float 大约快两倍。fixed — 位定点&#;式,适合色彩、照明计算和其它高性能操作,速度大约比 float 快 4 倍

如果着色器以 GLSL ES 编写,那么浮点精度将分别规定为 highp、mediump、lowp。

4.大部分shader都有_Color属性,但如果你并没有使用,那么就应该去掉,避免无谓的计算。

5.通用的表面着色器虽然通用,但性能其实并不好,参考:

Surface Shaders are great for writing shaders that interact with lighting. However, their default options are tuned for “general case”. In many cases, you can tweak them to make shaders run faster or at least be smaller:

approxview directive for shaders that use view direction (i.e. Specular) will make view direction be normalized per-vertex instead of per-pixel. This is approximate, but often good enough.halfasview for Specular shader types is even faster. Half-vector (halfway between lighting direction and view vector) will be computed and normalized per vertex, andlighting function will already receive half-vector as a parameter instead of view vector.noforwardadd will make a shader fully support only one directional light in Forward rendering. The rest of the lights can still have an effect as per-vertex lights or spherical harmonics. This is great to make shader smaller and make sure it always renders in one pass, even with multiple lights present.noambient will disable ambient lighting and spherical harmonics lights on a shader. This can be slightly faster. 因为我们没有光照,所以我建议采用顶点着色器和片段着色器。

Unity3D 学习笔记 (1) 在公司实习一个星期了,现在来写下这周实习的心得吧。公司用的是Unity3D这东西完全没用过……本来在学校学的是java只能从java转到C#上了,实习了一个

Unity动态创建空GameObject的方法 因为MonoBehaviour不能New实例化所以先创建空GameObject后在添加脚本即可GameObjecttGO=newGameObject(tGO);tGO.AddComponentT();

Unity同时接入ShareSdk和微派支付sdk(二) 说明一下,我是首先接入了微派支付的sdk,在微派AndroidManifest.xml的基础上加入的sharesdk。本人仅仅接入sharesdk和微派sdk,其他sdk可能不能这么做,慎重!

标签: unity3dwasd移动

本文链接地址:https://www.jiuchutong.com/biancheng/378817.html 转载请保留说明!

上一篇:物理引擎——刚体Rigidbody(二)(物理引擎百科)

下一篇:Unity3D 学习笔记 (1)(unity3d基础教程)

  • 应纳税所得额为负数是什么意思
  • 查账征收纳税申报表
  • 增值税发票有
  • 计提增值税的会计凭证
  • 利润分配转作股本股利
  • 免税农产品发票怎么抵扣申报
  • 一张发票开不足一台设备的金额怎么办
  • 核定征收可以改查账征收吗
  • 非货币性资产投资印花税
  • 用白纸写的收据怎么入帐?
  • 质量问题产生的影响
  • 公司账户没有钱怎么办
  • 物业公司代收代付水电费会计分录
  • 开了专票不报销犯法吗
  • 法律关系三要素表
  • 快递公司需要交税吗
  • 咨询费如何入账
  • 代收代付水电费会计分录
  • 发出商品确认收入的条件
  • 增长率应该要如何计算呢?
  • 电子发票作废怎么做
  • 工业投资额是指什么
  • 委托加工材料收回后的入账价值
  • 上月印花税计提多了如何冲回
  • 系统设置自动还原
  • 预提费用的会计分录及冲销分录
  • 会计分录的方法与步骤
  • 应付股利的会计分录T
  • 下岗再就业有什么优惠政策
  • php常见错误
  • 常用的php操作mysql的函数有哪些
  • 增值税专用发票丢了怎么补救
  • 【深度学习】模型过拟合的原因以及解决办法
  • gpt 4927
  • 残差网络中的残差指的是什么
  • 拿到领料单如何做账
  • 公司零报税怎么操作流程
  • 销售包装什么意思
  • 公司买汽车计入什么费用
  • phpcms作者名不显示怎么解决
  • 建筑业用的会计账簿
  • 应收处理的两大内容是什么
  • 消费税计算的三种形式
  • 发票上的抵扣联抵扣联是什么意思
  • 业务活动表本年累计数公式是什么
  • 合并报表长投和股本抵消后资产负债表怎么处理
  • 报废的机器设备属于什么会计要素
  • mysql命令列界面
  • 个人社保应不应该缴纳
  • 小额贷款公司如何运作
  • 购买汽车的工本费如何入账
  • 政府拆迁赔款会计上怎样做账
  • 公司注销项目怎么办
  • 品牌代理费计入什么科目
  • 发票没有银行账号可以吗
  • 免税发票可以抵扣税收农产品吗
  • 会计的职务是什么意思
  • windows update要禁用吗
  • win8不好吗
  • Win10一键永久激活数字工具
  • mac怎么传输文件夹
  • centos7如何添加永久静态路由
  • ikeeperpab.exe是什么
  • win8分盘怎么分
  • windows注册账号
  • schost.exe - schost是什么进程 有什么用
  • 如何输入密钥上网
  • androidstudio listview
  • jquery 插件写法
  • css fontstyle
  • input的file
  • python3并发
  • android的布局文件
  • Python实现以时间换空间的缓存替换算法
  • 15个值得开发人是谁
  • 申请税务增票怎么写
  • 税务局领取发票后怎么操作
  • 欧美 房产税
  • 曲靖市国家税务局杨春天
  • 审计的起源和发展史
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设