位置: 编程技术 - 正文

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基础教程)

  • 跨年的所得税会计分录
  • 财税咨询
  • 地税办理流程
  • 企业收到银行汇票退回的多余款项
  • 主营业务成本包括职工薪酬吗
  • 发票开错但已勾选还需要认证吗
  • 中央空调折旧年限是多久
  • 企业租赁个人房屋怎么交税
  • 债务转为股份的协议
  • 预收账款开票怎么做账
  • 子公司给母公司开票
  • 单位发生的业务怎么做账
  • 五证一户什么意思
  • 非居民企业能否认定为一般纳税人
  • 企业优惠条件
  • 差额发票开具的步骤
  • 资本公积账务重组
  • 建筑工程甲方提供给乙方的材料
  • 免税行业企业
  • 工资个人所得税标准表
  • 开具红字专用发票要求
  • 第二季度的利润表报错了,怎么重新报
  • 制造费用月末怎么结转到生产成本
  • 城镇土地使用税税率
  • 评估的房产如何入账
  • 转口贸易需要申报什么税
  • 如果当月增值税进项比销项多怎么结转
  • 华为手机屏幕碎了照片
  • 开出服务费的增值税发票
  • 商业承兑汇票到期兑现流程
  • 预缴增值税附加税款怎么填写申报表
  • 薪酬总额包干什么意思
  • 增值税专用发票的税率是多少啊
  • 代扣代缴个税手续费
  • 员工工伤保险报销条件
  • php批量上传
  • 转入固定资产清理会计科目
  • 简易计税办法和计税依据
  • php调用外部程序
  • php分类信息
  • yolov5 output
  • 劳务派遣开具发票
  • python中生成器的作用
  • 插件不支持是什么意思
  • 公司当月没有人发工资
  • php swoole 协程
  • mysql查询或
  • 入库单如何做账分录
  • 个人所得税核定征收税率
  • 企业电子发票申请流程2023版
  • 股东的投资款怎么收回
  • mysql 5.5.x zip直接解压版安装方法
  • 公对私转账有什么风险
  • 取得虚开普票如何处置
  • 房地产企业拆迁补偿费入账要求
  • 建筑业 分包
  • 检测费可以抵扣吗
  • 管理费用冲减其他费用
  • 所得税汇算清缴前取得跨年发票
  • 委托加工商品属于什么资产
  • 定期存款到期转存利息也转存吗
  • 费用设置的明细科目
  • mysql分页实现
  • win7怎么彻底删除文件
  • Win7系统打印机共享无法保存打印机设置0x000006d9
  • linux中查看文件
  • win8删文件需要权限怎么弄
  • unity3d第三人称角色控制器
  • javascript create
  • vue动态路由传参
  • javascript函数中的参数,也可以称之为下面哪项内容?
  • JavaScript中的数据类型分为两大类
  • js怎么设置字体
  • python打包成deb
  • jquery对象与dom对象可以相互转换
  • 卷烟批发环节的税率
  • 仓储物流企业的双控是指什么
  • 国外寄东西到国内要身份证号码吗
  • 昆明市地方税务局稽查局局长
  • 合肥哪里可以注销电信卡
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设