欢迎来到报告吧! | 帮助中心 分享价值,成长自我!

报告吧

换一换
首页 报告吧 > 资源分类 > PDF文档下载
 

2018腾讯移动游戏技术评审标准与实践案例.pdf

  • 资源ID:99896       资源大小:10.43MB        全文页数:211页
  • 资源格式: PDF        下载积分:9.9金币 【人民币9.9元】
快捷下载 游客一键下载
会员登录下载
三方登录下载: 微信开放平台登录 QQ登录  
下载资源需要9.9金币 【人民币9.9元】
邮箱/手机:
温馨提示:
用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
支付说明:
本站最低充值10金币,下载本资源后余额将会存入您的账户,您可在我的个人中心查看。
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,下载共享资源
 
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,既可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

2018腾讯移动游戏技术评审标准与实践案例.pdf

1 2 3 Un it y 之 C# 效率篇 腾讯互娱高级工程师 - 陶涛 一、 简介 效率包括了代码的 GC 大小与内存大小,执行速度等等。其中执行速度不是关注的重点。 Mo no 项目主页: h tt p:/ /ww w.mo n o - pr o j e ct / I L SPY 反编译工具,功能比 N ET .R e fl e ct o r 好用多了。 具体的使用方法可以百度。 简单的过程: 把编译的 dl l( L i bra ry Scri ptA ss e m bl i e s 目录下的 A ss e m bl y - CS h ar p.dl l )拖入左边窗口,选择需要查看的类以及函数,然后选择翻译的语言,具 体如下 环境 4 IL 代码 举个简单的例子,来说明 IL 代码把,具体可查阅 m sdn 文档。 C# 代码: object objValue = 4; int value = ( int )objValue; 生成的 IL 代码如下:(注释有详细的说明) 二、 GC 与内存篇 f o r 与 f o r eac h 真相 目的 在 Mo n o 下,研究两种不同方式的 GC 情况。 环境 同简介中的环境 测试代码 using UnityEngine; using System.Collections; using Sy stem.Collections.Generic; public class TestCodPerfomanceScript : MonoBehaviour / Use this for initialization List mData = new List(); void Start () mData.Add(1); / 可有 n 个元素, n 也可以为 0 void testForForeach_foreach() foreach (var e in mData) /Debug.Log(e); 5 void testForForeach_for() int len = mData.Count; for ( int i = 0; i C # 代码 从代码中,我们可知 fo reac h 中,编译器加了不少代码。从这里应该是有发生过装箱的操作。从对 test Fo rF o reac h _n o n f o reac h 函数的反编译 C# 代码来看,应该是 u sin g 那块产生装箱操作。继续查看反编译的 IL 代码。 反编译 - >I L 代码 test Fo rF o reac h _f o rea ch 的 IL 代码 从图中可以清楚中的看到有一次装箱过程。 7 数据结论 可以显然 可知, fo reac h 每次有 40B 的 GC 产生(这个是 Mo n o 的一个 bu g )。其余两种方式不产生 GC 。 产生 GC 的根本原因是使用了 us ing 语句。( G e tEnu m e ra tor( ) 返回值类型,在u sin g 中装箱了) 那么,我们写一段测试代码,在去验证一下: void testForForeach_nonforeachUsing() using (var e = mData.GetEnumerator() while (e.MoveNext() 得到的数据是 意义 所以,在目前的项目中, fo reac h 还是有 GC 的。(不管是 I L i st 还是 A rr ayL i st都会有 GC ) 具体见测试数据 建议项目中采用 test Fo rF o reac h _f o r( ) 和 test F o rF o reac h _n o n f o reac h ( ) 的写法。尤其是在 u pdat e 或 L at e U pdat e 中。 在处理 Dictio n ar y 遍历的时候,我们可以这样: var enumerator = m _Dictionary.GetEnumerator(); while (enume rator.MoveNext() var element = enumerator.Current; element.Value.UpdateComponent(deltaTime);

注意事项

本文(2018腾讯移动游戏技术评审标准与实践案例.pdf)为本站会员(认知)主动上传,报告吧仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知报告吧(点击联系客服),我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2017-2022 报告吧 版权所有
经营许可证编号:宁ICP备17002310号 | 增值电信业务经营许可证编号:宁B2-20200018  | 宁公网安备64010602000642号


收起
展开