记 一次U3D大型多人在线网游性能优化经验
就是类似这种网游
-香港明星代言图片
这种老2D网游(十几年前PC端的游戏)现在要把它搬到手机上,因为是纯2D的游戏,采用了大量的图片(动画序列帧),并没有用到
3D的技术,市面上有不少是用Cocos2D引擎开发的,基本上还原一致。
博主所在的项目采用U3D开发,去年Unity版本2019 LTS刚刚发布,开发2D方面完全没有问题。这里略过一些游戏功能开发过程,只说开发了
大半年后游戏基本做出来了,功能完成度70%,然后整体测试了 一下,发现游戏卡顿、掉帧问题明显,于是开始了为期三周的性能优化。
性能优化,博主首先想到的是看SetPass Calls数量,也就是Draw Call (DC) 的数量, 进入游戏后,发现DC超过了300,游戏很卡
-游戏图片
什么是Draw Call#
在Unity中,每次引擎准备数据并通知GPU的过程称为一次Draw Call。这一过程是逐个物体进行的,对于每个物体,不止GPU的渲染,引擎重新设置材质/Shader也是一项非常耗时的操作。因此每帧的Draw Call次数是一项非常重要的性能指标,对于iOS来说应尽量控制在20次以内,这个值可以在编辑器的Statistic窗口看到。
然后又看了下内存,进游戏后MONO从300MB一直涨到了1.7G,也是很夸张
目前Unity所使用的Mono版本存在一个很严重的问题,即:Mono的堆内存一旦分配,就不会返还给系统。因为对于游戏(特别是移动游戏)来说,内存的占用可谓是寸土寸金的,让Mono毫无必要地锁住大量的内存,是一件非常浪费的事情
记 一次U3D大型多人在线网游性能优化经验相关推荐
- 大型高并发网站之查询性能优化(综合篇)
原文:http://blog.jobbole.com/83475/ http://blog.jobbole.com/83473/ 一.什么是大型网站 首先我们要思考一个问题,什么样的网站才是大型网站, ...
- 记一次《龙之谷》手游代码分析
目录 <龙之谷>手游挺垃圾的代码 首先,工具乱糟糟 其次,用的Unity4.6~4.7的版本 另外,发现使用了slua ulua + tolua的组合 其他,后面补充 主要场景渲染效果如下 ...
- 大型多人在线游戏服务器架构设计
由于大型多人在线游戏服务器理论上需要支持无限多的玩家,所以对服务器端是一个非常大的考验.服务器必须是安全的,可维护性高的,可伸缩性高的,可负载均衡的,支持高并发请求的.面对这些需求,我们在设计服务器的 ...
- BigWorld Pty. Ltd.是一家全球领先的大型多人在线游戏(MMOG)开发解决方案供应商...
BigWorld Pty. Ltd.是一家全球领先的大型多人在线游戏(MMOG)开发解决方案供应商.其开发套件为网络游戏提供了一整套解决方案,可大幅度提高游戏产品质量,并使用户大大降低游戏开发成本,从 ...
- 游戏开发中的问题-----摘自《大型多人在线游戏开发》
原文: 虽然在大型多人在线游戏开发过程中会遇到很多问题和挑战,但最关键的一点就是有能力编写稳健的代码.这意味着我们必须进行良好的设计而不是随意地堆砌代码,这意味着我们必须在代码中加入足够的注释以方便支 ...
- 2015在大型多人在线游戏市场报告
在线多人游戏流行了非常久. 可是在只几年的时间里.大型多人在线游戏在收入,玩家偏好,潜在观众方面发生了巨大的变化. 总体来说,MMO类型的游戏在今年年底,创造了110亿美金的收入,相当于全世界电子游戏 ...
- 用Python架设大型多人在线游戏服务端
用Python架设大型多人在线游戏服务端 用Python架设大型多人在线游戏服务端应用领域非常广泛,包括战网的暗黑破坏神,社区的QQ宠物等.该文档将帮助大家回顾2011届Python介绍的架构的缺陷以 ...
- 高性能游戏服务器架构设计,一种高性能大型多人在线角色扮演游戏服务器架构设计.doc...
一种高性能大型多人在线角色扮演游戏服务器架构设计 一种高性能大型多人在线角色扮演游戏服务器架构设计摘要:大型多人在线角色扮演游戏(Massively Multiplayer Online Role P ...
- Silverlight开发MMORPG大型多人在线角色扮演游戏(团队项目)
MMORPG,是英文"Massive Multiplayer Online Role Playing Game"的缩写,意为"大型多人在线角色扮演游戏".是电脑 ...
最新文章
- makefile中使用变量
- Windows系统C++配置编译OpenCV
- STM32H743+CubeMX-SPI与DRV8889串行通讯,驱动步进电机
- 两名黑客因发现特斯拉漏洞获Model 3一辆和3.5万美元奖金
- TOMCAT中使用HTTPS的过程
- Application_Start 不执行
- Echarts带渐变色的折线图
- 国内邮箱有哪些?vip163微信邮箱登录简单吗?
- Pygame游戏编程
- Uni-app 小程序 APP 的广告变现之路:插屏广告
- 移动端click延迟解决方案
- UnityShader案例篇—旋转、平移和缩放
- Rosalind Java| Complementing a Strand of DNA
- linux_系统帮助propos/whatis/which/whereis/man/info/help...)/bashzsh/build-in command帮助/wildcard/regex
- python课程介绍-Python简介
- 《反恐特警组》(S.W.A.T.)影片介绍
- Android应用卸载广播监听
- 携手京东发布锐龙品牌整机,AMD这次会赶超英特尔吗
- STP生成树详解_01
- 读玉伯之Sea.js、开源与前端之路