【游戏技术群】959392658  【游戏出海群】12067810
yzc88亚洲城 手机端
  • 开发者工具开发者工具
  • www.yzc88.comManual
  • 蛮牛杯蛮牛杯
  • Unity官方专区Unity官方专区
开发者专栏

关注:2422

当前位置:yzc88亚洲城 技术专区 开发者专栏

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

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

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

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

7318

主题

7860

帖子

3万

积分

Rank: 16

UID
1231
好友
185
蛮牛币
8818
威望
30
注册时间
2013-7-29
在线时间
3742 小时
最后登录
2019-2-22

社区QQ达人活力之星原创精华达人突出贡献奖财富之证yzc88亚洲城QQ群会员蛮牛妹VIP

跳转到指定楼层
楼主
yzc88亚洲城 2018-11-2 10:39:51 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

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

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

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

1. 待解决问题

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


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



图一 染色图示意

实现步骤:


  • 获取 Renderers

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


  • 替换 Material 及颜色



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

  • 渲染截屏



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

  • 统计像素

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



  • 统计模型及材质信息

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



图二 输出统计信息


3. 细节优化


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


  • 知乎@半匪君子




跟我念“站长妹纸萌萌哒!”我说站长,你说YO!爱你们么么哒~
6蛮牛粉丝
1435/1500
排名
1921
昨日变化
7

10

主题

235

帖子

1435

积分

Rank: 6Rank: 6Rank: 6

UID
252607
好友
5
蛮牛币
18304
威望
0
注册时间
2017-11-5
在线时间
488 小时
最后登录
2019-2-22

一掷千金

沙发
yzc88亚洲城 2018-11-2 16:54:34 | 只看该作者
[发帖际遇]: RyeCat 发帖时在路边捡到 2 蛮牛币,偷偷放进了口袋. 幸运榜 / 衰神榜

7日久生情
2582/5000
排名
2298
昨日变化
9

1

主题

1641

帖子

2582

积分

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

UID
119154
好友
0
蛮牛币
2622
威望
0
注册时间
2015-8-21
在线时间
328 小时
最后登录
2019-2-21
板凳
yzc88亚洲城 2018-11-4 13:39:26 | 只看该作者
谢谢楼主大大。

4四处流浪
468/500
排名
15762
昨日变化
5

0

主题

219

帖子

468

积分

Rank: 4

UID
220417
好友
0
蛮牛币
175
威望
0
注册时间
2017-5-3
在线时间
205 小时
最后登录
2019-1-15
地板
yzc88亚洲城 2018-11-7 10:33:19 | 只看该作者
谢谢分享谢谢分享

3偶尔光临
240/300
排名
12375
昨日变化
2

0

主题

89

帖子

240

积分

Rank: 3Rank: 3Rank: 3

UID
269725
好友
0
蛮牛币
329
威望
0
注册时间
2018-2-27
在线时间
77 小时
最后登录
2019-2-23
5#
yzc88亚洲城 2018-11-12 15:08:59 | 只看该作者
感谢楼主分享

排名
28743
昨日变化
8

1

主题

14

帖子

48

积分

Rank: 1

UID
275840
好友
0
蛮牛币
432
威望
0
注册时间
2018-4-6
在线时间
21 小时
最后登录
2018-11-21
6#
yzc88亚洲城 2018-11-15 09:00:20 | 只看该作者
哇塞 好厉害的样子
[发帖际遇]: 13930292545 捡了钱没交公 蛮牛币 降了 3 . 幸运榜 / 衰神榜

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

0

主题

53

帖子

227

积分

Rank: 3Rank: 3Rank: 3

UID
164231
好友
0
蛮牛币
20
威望
0
注册时间
2016-8-25
在线时间
90 小时
最后登录
2018-11-23
7#
yzc88亚洲城 2018-11-16 14:37:57 | 只看该作者
66666666666666666666666666666
[发帖际遇]: fjq168 被钱袋砸中进医院,看病花了 2 蛮牛币. 幸运榜 / 衰神榜

4四处流浪
494/500
排名
6572
昨日变化
2

3

主题

161

帖子

494

积分

Rank: 4

UID
5952
好友
1
蛮牛币
328
威望
0
注册时间
2013-10-19
在线时间
126 小时
最后登录
2019-2-22
8#
yzc88亚洲城 2018-11-21 18:01:56 | 只看该作者
6666666666666666

排名
34628
昨日变化
8

0

主题

9

帖子

22

积分

Rank: 1

UID
300238
好友
0
蛮牛币
47
威望
0
注册时间
2018-10-16
在线时间
5 小时
最后登录
2018-12-3
9#
yzc88亚洲城 2018-11-22 09:14:56 | 只看该作者

5熟悉之中
808/1000
排名
3254
昨日变化
11

0

主题

173

帖子

808

积分

Rank: 5Rank: 5

UID
264326
好友
0
蛮牛币
9656
威望
0
注册时间
2018-1-14
在线时间
177 小时
最后登录
2019-2-23
10#
yzc88亚洲城 2018-11-27 19:32:30 | 只看该作者

排名
21185
昨日变化
4

0

主题

49

帖子

84

积分

Rank: 2Rank: 2

UID
49997
好友
1
蛮牛币
53
威望
0
注册时间
2014-10-20
在线时间
13 小时
最后登录
2019-1-28
11#
yzc88亚洲城 2018-11-30 23:23:54 | 只看该作者
66666666666666
[发帖际遇]: chindarcy 在论坛发帖时没有注意,被小偷偷去了 1 蛮牛币. 幸运榜 / 衰神榜

排名
21185
昨日变化
4

0

主题

49

帖子

84

积分

Rank: 2Rank: 2

UID
49997
好友
1
蛮牛币
53
威望
0
注册时间
2014-10-20
在线时间
13 小时
最后登录
2019-1-28
12#
yzc88亚洲城 2018-12-1 13:30:28 | 只看该作者
感谢楼主分享

7日久生情
2962/5000
排名
241
昨日变化
3

3

主题

178

帖子

2962

积分

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

UID
40098
好友
0
蛮牛币
13747
威望
0
注册时间
2014-8-15
在线时间
759 小时
最后登录
2019-2-23
QQ
13#
yzc88亚洲城 2018-12-1 16:05:52 | 只看该作者
跟我念“站长妹纸萌萌哒!

排名
21996
昨日变化
5

2

主题

24

帖子

76

积分

Rank: 2Rank: 2

UID
251742
好友
0
蛮牛币
1171
威望
0
注册时间
2017-10-31
在线时间
28 小时
最后登录
2019-1-11
14#
yzc88亚洲城 2018-12-5 13:51:44 | 只看该作者
哇塞 好厉害的样子

排名
21996
昨日变化
5

2

主题

24

帖子

76

积分

Rank: 2Rank: 2

UID
251742
好友
0
蛮牛币
1171
威望
0
注册时间
2017-10-31
在线时间
28 小时
最后登录
2019-1-11
15#
yzc88亚洲城 2018-12-5 13:52:51 | 只看该作者
哇塞 好厉害的样子
[发帖际遇]: llk2210 乐于助人,奖励 3 蛮牛币. 幸运榜 / 衰神榜

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

本版积分规则

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