就是类似这种网游

-香港明星代言图片

这种老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大型多人在线网游性能优化经验相关推荐

  1. 大型高并发网站之查询性能优化(综合篇)

    原文:http://blog.jobbole.com/83475/ http://blog.jobbole.com/83473/ 一.什么是大型网站 首先我们要思考一个问题,什么样的网站才是大型网站, ...

  2. 记一次《龙之谷》手游代码分析

    目录 <龙之谷>手游挺垃圾的代码 首先,工具乱糟糟 其次,用的Unity4.6~4.7的版本 另外,发现使用了slua ulua + tolua的组合 其他,后面补充 主要场景渲染效果如下 ...

  3. 大型多人在线游戏服务器架构设计

    由于大型多人在线游戏服务器理论上需要支持无限多的玩家,所以对服务器端是一个非常大的考验.服务器必须是安全的,可维护性高的,可伸缩性高的,可负载均衡的,支持高并发请求的.面对这些需求,我们在设计服务器的 ...

  4. BigWorld Pty. Ltd.是一家全球领先的大型多人在线游戏(MMOG)开发解决方案供应商...

    BigWorld Pty. Ltd.是一家全球领先的大型多人在线游戏(MMOG)开发解决方案供应商.其开发套件为网络游戏提供了一整套解决方案,可大幅度提高游戏产品质量,并使用户大大降低游戏开发成本,从 ...

  5. 游戏开发中的问题-----摘自《大型多人在线游戏开发》

    原文: 虽然在大型多人在线游戏开发过程中会遇到很多问题和挑战,但最关键的一点就是有能力编写稳健的代码.这意味着我们必须进行良好的设计而不是随意地堆砌代码,这意味着我们必须在代码中加入足够的注释以方便支 ...

  6. 2015在大型多人在线游戏市场报告

    在线多人游戏流行了非常久. 可是在只几年的时间里.大型多人在线游戏在收入,玩家偏好,潜在观众方面发生了巨大的变化. 总体来说,MMO类型的游戏在今年年底,创造了110亿美金的收入,相当于全世界电子游戏 ...

  7. 用Python架设大型多人在线游戏服务端

    用Python架设大型多人在线游戏服务端 用Python架设大型多人在线游戏服务端应用领域非常广泛,包括战网的暗黑破坏神,社区的QQ宠物等.该文档将帮助大家回顾2011届Python介绍的架构的缺陷以 ...

  8. 高性能游戏服务器架构设计,一种高性能大型多人在线角色扮演游戏服务器架构设计.doc...

    一种高性能大型多人在线角色扮演游戏服务器架构设计 一种高性能大型多人在线角色扮演游戏服务器架构设计摘要:大型多人在线角色扮演游戏(Massively Multiplayer Online Role P ...

  9. Silverlight开发MMORPG大型多人在线角色扮演游戏(团队项目)

    MMORPG,是英文"Massive Multiplayer Online Role Playing Game"的缩写,意为"大型多人在线角色扮演游戏".是电脑 ...

最新文章

  1. makefile中使用变量
  2. Windows系统C++配置编译OpenCV
  3. STM32H743+CubeMX-SPI与DRV8889串行通讯,驱动步进电机
  4. 两名黑客因发现特斯拉漏洞获Model 3一辆和3.5万美元奖金
  5. TOMCAT中使用HTTPS的过程
  6. Application_Start 不执行
  7. Echarts带渐变色的折线图
  8. 国内邮箱有哪些?vip163微信邮箱登录简单吗?
  9. Pygame游戏编程
  10. Uni-app 小程序 APP 的广告变现之路:插屏广告
  11. 移动端click延迟解决方案
  12. UnityShader案例篇—旋转、平移和缩放
  13. Rosalind Java| Complementing a Strand of DNA
  14. linux_系统帮助propos/whatis/which/whereis/man/info/help...)/bashzsh/build-in command帮助/wildcard/regex
  15. python课程介绍-Python简介
  16. 《反恐特警组》(S.W.A.T.)影片介绍
  17. Android应用卸载广播监听
  18. 携手京东发布锐龙品牌整机,AMD这次会赶超英特尔吗
  19. STP生成树详解_01
  20. 读玉伯之Sea.js、开源与前端之路

热门文章

  1. 2023 iapp 防止被逆向工具加固源码
  2. UHF超高频RFID应用RFID珠宝盘点管理
  3. 入门网安,少走弯路!这篇文章让你少走99%的弯路!
  4. aspose-pdf 去除水印以及处理的页数限制
  5. 软件必备模块-软件设计
  6. PDF分割页面怎么实现?这些方法亲测实用
  7. 如何激活jrebel
  8. 判断在直线的左边右边c语言,正确驾驶姿势
  9. 【FPGA】Verilog代码实现温湿度传感器DHT11
  10. 智能制造企业共同打造智慧城市