找回密码
 注册帐号

扫一扫,访问微社区

士郎 Unity3D 渲染密度及渲染屏占比统计工具

28
回复
3255
查看
[ 复制链接 ]
排名
1
昨日变化

7741

主题

8296

帖子

3万

积分

Rank: 16

UID
1231
好友
186
蛮牛币
10549
威望
30
注册时间
2013-7-29
在线时间
3975 小时
最后登录
2019-5-21

活力之星原创精华达人突出贡献奖财富之证游戏蛮牛QQ群会员蛮牛妹VIP

2018-11-2 10:39:51 显示全部楼层 阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?注册帐号

x
本文基于 UWA Day 2018 《Unity引擎移动游戏性能优化全解析》提出的通过渲染密度和渲染屏占比进行完善的方法

1. 待解决问题

在建模过程中,有一些模型由于整体体积较大或者结构复杂,常常需要更多的面片数和顶点数,然而在实际游戏界面中,这些模型的实际出现内容并没有那么多,在相机中的实际视觉占比较低。这时我们需要在基本不影响整体视觉效果的同时选择并优化模型。一种可行的做法是选取实际屏幕空间里像素数目相对于模型面片数和顶点数较多的模型,适当减少面片数和顶点数,从而优化渲染,提高性能。本插件通过等间隔截取样本帧并统计各个模型在相机中的平均像素,实现了统计像素数与模型顶点数和模型大小的比,二者数值较大则考虑优化,方便了建模优化


2. 实现思路
在某帧中对视野中所有Render进行染色,不同Render染不同颜色,截图并根据颜色统计对应Render所占像素数,最终对于所有采样帧数据取均值,得到每一个Render的平均像素数。之后获取模型顶点数和模型大小信息,计算相关数据即可


1.jpg
图一 染色图示意

实现步骤:


  • 获取 Renderers

因为不在相机视野中的物体显然无需统计,所以只需获取视锥体里的 Renderers 即可。这里使用 CalculateFrustumPlanes + TestPlanesAABB 和 Layer 简单过滤一次


  • 替换 Material 及颜色



现在赋予每个 Renderer 以Unlit/Color 材质,将其按照编号 index 赋予相应的颜色,指定相应转换公式

  • 渲染截屏



将相机设为黑色背景色,然后使用 RenderTexture 配合 camera.Render 渲染即可;记得渲染完成后将相机的相关属性还原

  • 统计像素

将贴图拷回内存,遍历像素然后将颜色重新映射回 index 即可



  • 统计模型及材质信息

一方面统计每个模型的 Mesh 数目和顶点数目和对应的平均屏幕空间像素,另一方面统计每个材质的大小和其平均屏幕空间像素。这部分需要注意的是不同 Renderer 可能使用相同的 Mesh 或 Texture。最后输出到指定 .csv 文件即可

3.jpg

2.jpg

图二 输出统计信息


3. 细节优化


  • 统计的时候利用 Texture2D. GetPixels32(),性能会有优势
  • 这里我们并不需要精确统计像素个数,所以为了性能考虑,可降低截图分辨率,避免卡顿
  • 跳帧统计,不需要每帧执行带来编辑器负担


  • 知乎@半匪君子



回复

使用道具 举报

7日久生情
1614/5000
排名
1839
昨日变化

11

主题

286

帖子

1614

积分

Rank: 7Rank: 7Rank: 7Rank: 7

UID
252607
好友
5
蛮牛币
14300
威望
0
注册时间
2017-11-5
在线时间
585 小时
最后登录
2019-5-19
2018-11-2 16:54:34 显示全部楼层
回复

使用道具 举报

7日久生情
2737/5000
排名
2230
昨日变化

1

主题

1754

帖子

2737

积分

Rank: 7Rank: 7Rank: 7Rank: 7

UID
119154
好友
0
蛮牛币
2876
威望
0
注册时间
2015-8-21
在线时间
352 小时
最后登录
2019-5-20
2018-11-4 13:39:26 显示全部楼层
谢谢楼主大大。
回复

使用道具 举报

4四处流浪
483/500
排名
15907
昨日变化

0

主题

224

帖子

483

积分

Rank: 4

UID
220417
好友
0
蛮牛币
120
威望
0
注册时间
2017-5-3
在线时间
213 小时
最后登录
2019-3-6
2018-11-7 10:33:19 显示全部楼层
谢谢分享谢谢分享
回复 支持 反对

使用道具 举报

3偶尔光临
284/300
排名
11817
昨日变化

0

主题

107

帖子

284

积分

Rank: 3Rank: 3Rank: 3

UID
269725
好友
0
蛮牛币
380
威望
0
注册时间
2018-2-27
在线时间
95 小时
最后登录
2019-5-20
2018-11-12 15:08:59 显示全部楼层
感谢楼主分享
回复

使用道具 举报

排名
28926
昨日变化
1

1

主题

14

帖子

48

积分

Rank: 1

UID
275840
好友
0
蛮牛币
504
威望
0
注册时间
2018-4-6
在线时间
21 小时
最后登录
2018-11-21
2018-11-15 09:00:20 显示全部楼层
哇塞 好厉害的样子
回复 支持 反对

使用道具 举报

3偶尔光临
264/300
排名
11658
昨日变化

0

主题

64

帖子

264

积分

Rank: 3Rank: 3Rank: 3

UID
164231
好友
0
蛮牛币
8
威望
0
注册时间
2016-8-25
在线时间
116 小时
最后登录
2019-4-18
2018-11-16 14:37:57 显示全部楼层
66666666666666666666666666666
回复 支持 反对

使用道具 举报

5熟悉之中
509/1000
排名
6482
昨日变化

3

主题

164

帖子

509

积分

Rank: 5Rank: 5

UID
5952
好友
1
蛮牛币
309
威望
0
注册时间
2013-10-19
在线时间
134 小时
最后登录
2019-4-21
2018-11-21 18:01:56 显示全部楼层
6666666666666666
回复 支持 反对

使用道具 举报

排名
34883
昨日变化

0

主题

9

帖子

22

积分

Rank: 1

UID
300238
好友
0
蛮牛币
47
威望
0
注册时间
2018-10-16
在线时间
5 小时
最后登录
2018-12-3
2018-11-22 09:14:56 显示全部楼层
回复

使用道具 举报

5熟悉之中
907/1000
排名
2966
昨日变化

0

主题

191

帖子

907

积分

Rank: 5Rank: 5

UID
264326
好友
0
蛮牛币
9808
威望
0
注册时间
2018-1-14
在线时间
219 小时
最后登录
2019-5-20
2018-11-27 19:32:30 显示全部楼层
回复

使用道具 举报

排名
21326
昨日变化

0

主题

49

帖子

84

积分

Rank: 2Rank: 2

UID
49997
好友
1
蛮牛币
53
威望
0
注册时间
2014-10-20
在线时间
13 小时
最后登录
2019-1-28
2018-11-30 23:23:54 显示全部楼层
66666666666666
回复

使用道具 举报

排名
21326
昨日变化

0

主题

49

帖子

84

积分

Rank: 2Rank: 2

UID
49997
好友
1
蛮牛币
53
威望
0
注册时间
2014-10-20
在线时间
13 小时
最后登录
2019-1-28
2018-12-1 13:30:28 显示全部楼层
感谢楼主分享
回复

使用道具 举报

7日久生情
3132/5000
排名
227
昨日变化

3

主题

206

帖子

3132

积分

Rank: 7Rank: 7Rank: 7Rank: 7

UID
40098
好友
0
蛮牛币
14393
威望
0
注册时间
2014-8-15
在线时间
853 小时
最后登录
2019-5-13
QQ
2018-12-1 16:05:52 显示全部楼层
跟我念“站长妹纸萌萌哒!
回复 支持 反对

使用道具 举报

排名
21326
昨日变化

3

主题

29

帖子

96

积分

Rank: 2Rank: 2

UID
251742
好友
0
蛮牛币
1331
威望
0
注册时间
2017-10-31
在线时间
40 小时
最后登录
2019-5-21
2018-12-5 13:51:44 显示全部楼层
哇塞 好厉害的样子
回复 支持 反对

使用道具 举报

排名
21326
昨日变化

3

主题

29

帖子

96

积分

Rank: 2Rank: 2

UID
251742
好友
0
蛮牛币
1331
威望
0
注册时间
2017-10-31
在线时间
40 小时
最后登录
2019-5-21
2018-12-5 13:52:51 显示全部楼层
哇塞 好厉害的样子
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册帐号

本版积分规则