【游戏技术群】959392658  【游戏出海群】12067810
游戏蛮牛 手机端
开启辅助访问
 找回密码
 注册帐号

扫一扫,访问微社区

开发者专栏

关注:2393

当前位置:游戏蛮牛 技术专区 开发者专栏

__________________________________________________________________________________
开发者干货区版块规则:

  1、文章必须是图文形式。(至少2幅图)
      2、文章字数必须保持在1500字节以上。(编辑器右下角有字数检查)
      3、本版块只支持在游戏蛮牛原创首发,不支持转载。
      4、本版块回复不得无意义,如:顶、呵呵、不错......【真的会扣分的哦】
      5、......
__________________________________________________________________________________
查看: 2012|回复: 24

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

[复制链接]  [移动端链接]
排名
1
昨日变化

7192

主题

7722

帖子

2万

积分

Rank: 16

UID
1231
好友
185
蛮牛币
11700
威望
30
注册时间
2013-7-29
在线时间
3691 小时
最后登录
2019-1-17

社区QQ达人活力之星原创精华达人突出贡献奖财富之证游戏蛮牛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(),性能会有优势
  • 这里我们并不需要精确统计像素个数,所以为了性能考虑,可降低截图分辨率,避免卡顿
  • 跳帧统计,不需要每帧执行带来编辑器负担


  • 知乎@半匪君子




跟我念“站长妹纸萌萌哒!”我说站长,你说YO!爱你们么么哒~
回复

使用道具 举报

6蛮牛粉丝
1341/1500
排名
2034
昨日变化
3

10

主题

205

帖子

1341

积分

Rank: 6Rank: 6Rank: 6

UID
252607
好友
5
蛮牛币
3482
威望
0
注册时间
2017-11-5
在线时间
460 小时
最后登录
2019-1-17
发表于 2018-11-2 16:54:34 | 显示全部楼层
[发帖际遇]: RyeCat 发帖时在路边捡到 2 蛮牛币,偷偷放进了口袋. 幸运榜 / 衰神榜

回复

使用道具 举报

7日久生情
2420/5000
排名
2439
昨日变化
11

1

主题

1542

帖子

2420

积分

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

UID
119154
好友
0
蛮牛币
2721
威望
0
注册时间
2015-8-21
在线时间
303 小时
最后登录
2019-1-17
发表于 2018-11-4 13:39:26 | 显示全部楼层
谢谢楼主大大。

回复

使用道具 举报

4四处流浪
468/500
排名
15663
昨日变化
3

0

主题

219

帖子

468

积分

Rank: 4

UID
220417
好友
0
蛮牛币
175
威望
0
注册时间
2017-5-3
在线时间
205 小时
最后登录
2019-1-15
发表于 2018-11-7 10:33:19 | 显示全部楼层
谢谢分享谢谢分享

回复 支持 反对

使用道具 举报

3偶尔光临
222/300
排名
12499
昨日变化
189

0

主题

84

帖子

222

积分

Rank: 3Rank: 3Rank: 3

UID
269725
好友
0
蛮牛币
313
威望
0
注册时间
2018-2-27
在线时间
66 小时
最后登录
2019-1-17
发表于 2018-11-12 15:08:59 | 显示全部楼层
感谢楼主分享

回复

使用道具 举报

排名
28567
昨日变化
8

1

主题

14

帖子

48

积分

Rank: 1

UID
275840
好友
0
蛮牛币
396
威望
0
注册时间
2018-4-6
在线时间
21 小时
最后登录
2018-11-21
发表于 2018-11-15 09:00:20 | 显示全部楼层
哇塞 好厉害的样子
[发帖际遇]: 13930292545 捡了钱没交公 蛮牛币 降了 3 . 幸运榜 / 衰神榜

回复 支持 反对

使用道具 举报

3偶尔光临
227/300
排名
11494
昨日变化
2

0

主题

53

帖子

227

积分

Rank: 3Rank: 3Rank: 3

UID
164231
好友
0
蛮牛币
20
威望
0
注册时间
2016-8-25
在线时间
90 小时
最后登录
2018-11-23
发表于 2018-11-16 14:37:57 | 显示全部楼层
66666666666666666666666666666
[发帖际遇]: fjq168 被钱袋砸中进医院,看病花了 2 蛮牛币. 幸运榜 / 衰神榜

回复 支持 反对

使用道具 举报

4四处流浪
486/500
排名
6574
昨日变化
3

3

主题

161

帖子

486

积分

Rank: 4

UID
5952
好友
1
蛮牛币
309
威望
0
注册时间
2013-10-19
在线时间
123 小时
最后登录
2019-1-16
发表于 2018-11-21 18:01:56 | 显示全部楼层
6666666666666666

回复 支持 反对

使用道具 举报

排名
34433
昨日变化
14

0

主题

9

帖子

22

积分

Rank: 1

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

回复

使用道具 举报

5熟悉之中
744/1000
排名
3493
昨日变化
21

0

主题

166

帖子

744

积分

Rank: 5Rank: 5

UID
264326
好友
0
蛮牛币
1182
威望
0
注册时间
2018-1-14
在线时间
162 小时
最后登录
2019-1-17
发表于 2018-11-27 19:32:30 | 显示全部楼层

回复

使用道具 举报

排名
21854
昨日变化
10

0

主题

49

帖子

83

积分

Rank: 2Rank: 2

UID
49997
好友
1
蛮牛币
48
威望
0
注册时间
2014-10-20
在线时间
13 小时
最后登录
2019-1-15
发表于 2018-11-30 23:23:54 | 显示全部楼层
66666666666666
[发帖际遇]: chindarcy 在论坛发帖时没有注意,被小偷偷去了 1 蛮牛币. 幸运榜 / 衰神榜

回复

使用道具 举报

排名
21854
昨日变化
10

0

主题

49

帖子

83

积分

Rank: 2Rank: 2

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

回复

使用道具 举报

7日久生情
2871/5000
排名
257
昨日变化

2

主题

174

帖子

2871

积分

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

UID
40098
好友
0
蛮牛币
13587
威望
0
注册时间
2014-8-15
在线时间
738 小时
最后登录
2019-1-17
QQ
发表于 2018-12-1 16:05:52 | 显示全部楼层
跟我念“站长妹纸萌萌哒!

回复 支持 反对

使用道具 举报

排名
21854
昨日变化
10

2

主题

24

帖子

76

积分

Rank: 2Rank: 2

UID
251742
好友
0
蛮牛币
1074
威望
0
注册时间
2017-10-31
在线时间
28 小时
最后登录
2019-1-11
发表于 2018-12-5 13:51:44 | 显示全部楼层
哇塞 好厉害的样子

回复 支持 反对

使用道具 举报

排名
21854
昨日变化
10

2

主题

24

帖子

76

积分

Rank: 2Rank: 2

UID
251742
好友
0
蛮牛币
1074
威望
0
注册时间
2017-10-31
在线时间
28 小时
最后登录
2019-1-11
发表于 2018-12-5 13:52:51 | 显示全部楼层
哇塞 好厉害的样子
[发帖际遇]: llk2210 乐于助人,奖励 3 蛮牛币. 幸运榜 / 衰神榜

回复 支持 反对

使用道具 举报

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

本版积分规则

快速回复 返回顶部 返回列表