默认画质的机型适配方案

1)默认画质的机型适配方案
2)Unity TempBuffer的出处如何查看
3)Active和Deactive耗时高的物体优化方式
4)自定义Shader在场景烘焙光照贴图后材质变黑

这是第188篇UWA技术知识分享的推送。今天我们继续为大家精选了若干和开发、优化相关的问题,建议阅读时间10分钟,认真读完必有收获。

UWA 问答社区:answer.uwa4d.com
UWA QQ群2:793972859(原群已满员)


LOD

Q:我们现在的方案是按照CPU性能分档来做的,不过机器性能分档还和GPU/分辨率等相关,我们的分档和UWA提交测试时的机器分档就不一样。请教下大家是怎么做的?

A:个人认为没有必要死板的遵循某一准则,比如某些公司的标准中以高通的SoC型号的数字来分档,大于某个数字的就算第一档,但其实近两年新出的一些中端芯片综合性能已经明显高于几年前的旗舰芯片。

所以我们团队在做这个功能时,主要遵循的规则是:在满足研发/发行的强制要求的前提下,结合项目类型及性能瓶颈点,为每一个设备在帧数达标的前提下选取其能接受的最高画质。

以下举两个例子说明:

例如一些较老的使用高通810的机器,这一代芯片发热较严重,虽然在一些公司的标准中属于一档机,但由于经常会降频,所以我们只会将其设置成中等画质。

例如OPPO R9等一些较老的联发科的芯片,在实际测试中性能表现很糟糕,所以相比同年发布的同级别高通芯片,会特意将其降低一档。

在我们项目中实际分级时,分为5档。前面说了要尽量细致地照顾到所有机器,所以我们维护了一张表格,根据不同机器的参数将其映射到5档里面。

iOS设备,主要根据其Device Model来划分,iOS由于设备量很少,基本通过其型号就能预估出大概的性能范围,具体的DeviceModel信息网上资料很多,可以参考:https://stackoverflow.com/questions/26028918/how-to-determine-the-current-iphone-device-model

Android设备主要根据其GPU型号来划分,我们主要参考:https://www.techcenturion.com/mobile-gpu-rankings

根据这个帖子中给出的评分初步整理,然后结合实际测试运行下来的情况进行微调。

另外分级中的每档的具体设置,需要具体项目具体分析,基本上主要的设置无非就是分辨率、屏幕后处理、材质精度、阴影设置、LOD设置等等。

感谢范君@UWA问答社区提供了回答,欢迎大家转至社区交流:
https://answer.uwa4d.com/question/5df34c3fce53cf56002cad31


RenderTexture

Q:请问这些TempBuffer的出处从哪里可以查看呢?

 

A:我们是在每次GetTemporary的时候,把返回的RenderTexture的名字改掉,这样在这里显示的就是改过的名字。重灾区还是在后处理上,bloom和depth of field要重点关注。

感谢王宇@UWA问答社区提供了回答,欢迎大家转至社区交流:
https://answer.uwa4d.com/question/5dfb29e973f93355f9667f43


Active

Q:对于Active和Deactive耗时高的物体优化方式是移出摄像机范围吗?

A:首先可以在UWA的线上测评服务中测一下目前的Activate和Deactivate的具体数据。


如果您项目发现两项相差过大(如Activate次数是1W,Deactivate次数是1K),说明本身有很多操作是无用操作,可以通过 报告下方的列表查看具体是对什么GameObject进行了Activate/Deactivate操作。


通过对比差异就可以判断哪些GameObject存在无用操作。

 

对于这类问题,建议在代码里用bool变量记录状态,不要直接用SetActive或activeSelf等API,其耗时影响会比较大。

对于确实需要频繁显示/隐藏的物体,尤其是UI组件(常见的如战斗内的UI血条),建议采用移出屏幕、修改Scale、修改透明度等方式替代SetActive操作。具体相关案例在我们之前的直播和案例精讲中都有提到。

该回答回由UWA提供,欢迎大家转至社区交流:
https://answer.uwa4d.com/question/5e0083e873f93355f9667f58


Shader

Q:自定义的Shader在场景烘焙光照贴图后:

  • 如果我把Shader打包,那么场景加载后,材质是黑的。
  • 如果Shader不打包,那么场景加载后,正常。

我们也找了一些资料,讲Custom Shader烘焙光照的问题,看了下他们的处理方法,就是在指定下材质的Shader,但是很少有资料讲到这种情况的正式制作流程应该是怎样的,还有就是它的底层原理,不知道大家是否有相关的处理经验和材料呢?感谢!

A:可以按照下图中的参数设置一下Graphics Settings的Shader Stripping试一下效果。


这里会把Lightmap相关的Keyword剔除。

 

也可以只勾选项目实际用到的Lightmap模式,相应的Shader变体会少一点。

该回答回由UWA提供,欢迎大家转至社区交流:
https://answer.uwa4d.com/question/5e008ce5ce53cf56002cad6b

封面图来源于网络


今天的分享就到这里。当然,生有涯而知无涯。在漫漫的开发周期中,您看到的这些问题也许都只是冰山一角,我们早已在UWA问答网站上准备了更多的技术话题等你一起来探索和分享。欢迎热爱进步的你加入,也许你的方法恰能解别人的燃眉之急;而他山之“石”,也能攻你之“玉”。

官网:www.uwa4d.com
官方技术博客:blog.uwa4d.com
官方问答社区:answer.uwa4d.com
UWA学堂:edu.uwa4d.com
官方技术QQ群:793972859(原群已满员)

AcFun.cn是国内一家仿niconico的视频网站,以其弹幕闻名。但网站并没有提供下载视频及弹幕的方法,通过浏览器以及其它的嗅探器可以得到下载地址,但是十分繁琐,且下载下来在本地很难播放,虽然有一些网友做了基于flash的本地播放器,但其效率和方便性皆不尽人意。 你还在为不能下载保存AcFun网站上的视频和弹幕苦恼吗?你还在为不能本地播放弹幕伤心吗?你还在为神字幕被破坏不能再次欣赏到而后悔吗?赶快试试AcFun视频字幕下载转换器,它是一款由网友自发编写的绿色无公害的免费软件。 功能特点: 根据提供的acfun视频网页地址,自动分析视频地址及字幕地址,并将其下载到指定位置 分析acfun弹幕格式,并将其转换为视觉效果基本相同的ssa字幕文件,可以由vobsub播放器插件加载 可以仅转换本地以前保存下来的acfun格式的字弹幕文件 所有处理过程清晰明了,有进度条显示 可以仅下载字幕,不下载视频 可以仅转换某些模式类别的弹幕,忽略掉没用的评论 具有下载列表,在下载过程中可以随时添加新任务 可以一次转换本地保存的多个文件 v2.004 - 20100125 增加修复flv本地视频功能,可以消除由于加载h263头导致不能播放的问题,也可以去除加入在视频前面的前置黑屏 增加下载时自动修复视频功能 增加修复选项设置,与下载时是否自动修复选项设置  修改了程序窗口标题
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值