mmo游戏服务器性能指标,关于performance:厚积薄发MMORPG手游合理的性能参数

1)MMORPG手游正当的性能参数

​2)应用ScriptableBuildPipeline打包的疑难

3)如何获取到Animation批改材质球色彩后的色彩值

4)嵌套预设AssetBundle打包的疑难

5)LWRP渲染下,Profiler中函数开销高

这是第219篇UWA技术常识分享的推送。明天咱们持续为大家精选了若干和开发、优化相干的问题,倡议浏览工夫10分钟,认真读完必有播种。

UWA 问答社区:answer.uwa4d.com

UWA QQ群2:793972859(原群已满员)

Performance

Q:想求教一下大家,一款MMORPG游戏上线时的性能参数是如何制订的?有没有可参考的性能参数能够领导一下?

A1:制订指标要依据多方维度来综合思考,包含产品定位、团队程度、老本估算和工夫估算等等,很难一概而论,以下是咱们针对新我的项目立项要指定美术指标时一贯的做法,能够参考:

拿对标美术体现的竞品来看他们各项性能指标如何,用RenderDoc或者NSight可能失去比拟精确的数据,也能够抽出他们资源来做下一步操作。

制作成果Demo,尝试技术上还原竞品的成果,这时尽量做到体现上和性能上都能还原。

有了成果Demo后,根本指标曾经有了,不过还是得本人团队从美术到技术再到策动残缺地把流程跑通,而且可能还要对体现的要求进行进步以晋升产品竞争力,这时候尽可能依据上线工夫推断适合的指标机型,略微超前地指定渲染能力指标。

感激邓永健@UWA问答社区提供了答复

A2:能够参考UWA的蓝皮书《Unity手游性能蓝皮书》。

感激jessica@UWA问答社区提供了答复

Build

Q:我应用ScriptableBuildPipeline打包AssetBundle比原始Build Pipeline慢,有人应用ScriptableBuildPipeline打包取得更快的打包速度了吗?想弄清楚是我本人某些做法不对,还是自身ScriptableBuildPipeline就是打包更慢。

通过测试失去以下数据:

全量打包 增量打包(资源无变动)

原生 560s 7s

SBP 610s 480s

A:测试的数据(AssetBundle的数量大略在3200个左右, 统计耗时:ms)

所以集体感觉SBP + CacheServer, 可能在肯定水平上晋升打包速度。

感激杨宇杰@UWA问答社区提供了答复

Rendering

Q:如果用Animation动静更新_Color后,材质球上的_Color色彩获取不到,GetColor获取到的色彩始终是Animation运行前的色彩,求教怎么获取动画更新后材质球的色彩?

复现步骤:

1. 新建材质球A,轻易应用Shader带Color属性的,(我这里应用Shader: Legacy Shaders/Diffuse),_Color默认红色;

2. 新建物体Cube,将材质球A拖到Cube上;

3. 创立Animation,批改Cube上A的_Color色彩,给蓝色或者非红色;

4. 创立一个脚本在Update中打印_Color的色彩(mat.GetColor(“_Color”));

5. 运行后色彩值应用时初始值红色,不是动画Animation批改后的色彩。

A1:实测应用MaterialPropertyBlock是能够获取到的。代码如下:

void Start()

{

render = GetComponent();

mpb = new MaterialPropertyBlock();

}

void Update()

{

render.GetPropertyBlock(mpb);

Color color= mpb.GetColor("_Color"); ;

Debug.Log(color);

}

感激Xuan@UWA问答社区提供了答复

A2:最初发现是美术在Animation里把_Color指定一个固定值,没有勾选刷新,所以始终不对。

感激题主王@UWA问答社区提供了答复

AssetBundle

Q:嵌套预设AssetBundle打包存在两份资源冗余,目前解决办法有预设b的材质球和Mesh独自打成AssetBundle,然而这样会导致AssetBundle打得太散。求问有什么解决办法?

目前解决办法如下:

1. 空工程,预设b带了贴图tex_b和tex_c.应用嵌套预设把b嵌套在预设a外面(Unity版本2018.4.24)。

2. 预设a和b都独自打成AssetBundle。

3. 打包AssetBundle后,应用AssetStudio后查看预设a的AssetBundle,蕴含了预设b的贴图和Mesh。

A:设计使然:在运行时不存在预制体的概念。预制体在构建过程中是被 “烘焙”好的,因而每个预制体(无论嵌套与否)都是残缺且彼此独立的。

https://issuetracker.unity3d.com/issues/nestedprefabs-when-building-assetbundles-with-nested-prefab-assets-are-duplicated-in-parent-prefab-assetbundle

能够将子预制体依赖的资源显式地与子预制体打包在一起(如果能辨别出哪个是子预制体)。

感激Welkin_Totoro@UWA问答社区提供了答复

Rendering

Q:降级工程到了Unity 2019.3,并且应用LWRP轻量渲染管线,PostLateUpdate.FinishFrameRendering的耗时高达54ms。真机Profiler如下图:

A:呈现了驰名的API Gfx.WaitForPresent,阐明你们是GPU Bound。同时,能够看到DoRenderLoop 22ms,的确GPU比拟重度,CPU这边丢Command Buffer都丢了22ms。

所以,倡议优化GPU,大概率用了不少后效?用了重度Shader?绘制了不少货色?能够让渲染负责人看看。

感激王烁@UWA问答社区提供了答复

封面图来源于网络

明天的分享就到这里。当然,生有涯而知无涯。在漫漫的开发周期中,您看到的这些问题兴许都只是冰山一角,咱们早已在UWA问答网站上筹备了更多的技术话题等你一起来摸索和分享。欢送酷爱提高的你退出,兴许你的办法恰能解他人的当务之急;而他山之“石”,也能攻你之“玉”。

官网:www.uwa4d.com

官网技术博客:blog.uwa4d.com

官网问答社区:answer.uwa4d.com

UWA学堂:edu.uwa4d.com

官网技术QQ群:793972859(原群已满员)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值