CP干货:游戏开发者需要注意的4个内存使用问题

2015-10-08 14:50:20   来源:新浪游戏

  从销售角度来看,你的全新手机游戏总是应该适用于今天人们所使用的大多数设备。“大多数设备”可能会让开发者感到惊讶。在2015年1月,世界各地的手机用户数已经达到36亿人。所以开发者的工作便是让游戏/应用能够适应这些设备的种种硬件约束条件。开发者们在开发像游戏等需要耗费内存的软件时需要进行更多思考。通过编写这篇文章,我希望能够帮助一些不了解技术的人进一步理解一些内存问题,而这也是他们在致力于2D游戏项目时需要考虑的内容。

  1)内存泄露:内存泄露指的是未被释放的分配内存块。

  类比:让我们想象你在一个拥有3个方形储物柜的房间寻找一个储物柜。

lockers(from game career guide)

  1.John和Danny“需要”储存自己的装备,而一个储物柜便足以满足他们每个人。所以现在我们拥有2个已被使用的储物柜,以及1个闲置的储物柜。

  2.这时候John需要储存他的头盔,并且不再需要他之前储存的装备。所以现在最理想的情况是他应该拿出之前的装备并将头盔装进去。但是他却向管理者请求另一个储物柜并希望将头盔放在全新储物柜中。从逻辑上看,在这之后所有的储物柜便都满了。而现在的John会忘记自己储存在第一个储物柜中的装备。

  3.现在Danny需要储存2个头盔并需要2个储物柜,所以他决定拿掉自己的装备并空出1个储物柜。然后他向管理者申请了一个新的储物柜,但是因为所有储物柜都满了所以遭到了管理者的拒绝。

  在这里,即使John从储物柜中拿掉无用的装备,Danny也不能再使用多出来的储存空间。

  2)相同纹理的多个例子:一个纹理将占用宽度*高度*4(游戏邦注:红色,绿色,蓝色和透明度各占据1个字节)的储存空间。所以一张512×512规格的图像将占据1.05兆的内存。而同样的纹理将占据其3倍的储存空间,也就是3.15兆。所以如果我们想要使用这些图像作为纹理的话我们便需要准备多出3倍的内存。

  类比:让我们以一张呈现出你最喜欢的角色“buttman”并且不能无限次使用的方形贴纸为例。

sticker(from game career guide)

  你需要将这个新角色呈现给3个不同的人。所以你能够:

  1.获得2张一样的贴纸,获得3个木质框架能够在上面贴贴纸,并且你将把这些木制框架递交给那3个人。

  2.让那3个人去获得属于自己的木制框架并让他们将贴纸贴到框架上。

  第2个例子适合我们,因为我们可以反复使用同样的贴纸。这也适用于软件程序中,即所有人可以同时想到buttman。

  3)不必要的迭代:比起多次调用,在资源中调用for/while循环更简单。你可以在一个循环中处理多个任务。

  类比:你是一个间谍,并需要向3个遥远的不同场所运输包裹。并且你需要从这3个不同场所的不同boss那收集到重要的秘密信息。

  因为你是从不同boss那接到这些任务,所以你可以:

  1.根据不同boss去分配你的任务。例如你可以驾车前往所有的这3个场所并先完成bossA所分配的任务,然后再驾车前往同样的3个场所完成BossB所分配的任务。反之亦然。

  2.根据不同场所去分配你的任务。例如你可以先驾车前往第一个场所,递交包裹并获得信息,然后再驾车前往下个场所。

  如果你所制定的任务计划是像第1种情况那样的话你便是一个愚蠢的间谍,因为你需要花费更多时间和资源去完成同样的任务。

  4)在内存中保留未使用的对象:任何时候都只有一定的对象能够被使用或出现在屏幕上。因为我们拥有优先的内存空间,所以任何被留在内存里的额外对象都是在耗费资源。

  类比:你需要将一辆马车从A点推到B点。让我们假设如果马车未负载任何东西或者载着最轻的东西,这便是一个较简单的任务。但是因为你喜欢啤酒,所以你选择用马车去载一桶啤酒,从而加重了自己任务的难度。

  所以在这里的最佳解决方法便是放弃你所深爱的啤酒。

  这里所列出的问题绝对超过我在一篇文章中能够写下的内容。作为一名开发者,你应该尽快识别这些问题并使用有效的解决方法。先克服这些挑战再发行产品是真正让人兴奋的游戏开发过程。每个人每一天只拥有24个小时。对于我们而言,人们能够花费这些宝贵的时间去尝试我们所创造的内容便是推动着我们去开发游戏的最佳动力。

from:手游那点事

新浪声明:新浪网登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。
精彩推荐
相关新闻

CP干货:不做炮灰,为开发者最大化变现支一招

  随着国内智能手机市场的繁荣,庞大的用户群对APP的需求也急速提升。截至2014年底,App Store的应用数量已达到121万,而谷歌P...

相关CP干货:APP刷量解密及如何预防渠道刷量
2015-09-28 14:37:06 来自:产业服务-新闻

CP运营: 国庆前游戏运营一定要注意的六个方面

  长假来临,大好的假期就在眼前,但是由于苦逼的“工作需要”,放假期间依然有很多工作要做,需要提前准备好,不然美好的假期...

相关CP干货:选择发行商时,必须考虑的五件事
2015-09-25 13:41:02 来自:产业服务-新闻

CP干货:运营如何让非活跃玩家重返游戏

  一款移动游戏要想赢得成功,留存用户与获取新用户同样重要,某些时候甚至更为重要。开发者如何应对游戏中的用户流失问题,如...

相关CP干货:手机游戏上线前需要准备什么
2015-09-25 16:36:41 来自:产业服务-新闻
CGWR

中国网络游戏排行榜(China Game Weight Rank)是由新浪游戏推出的目前国内最全面、最专业、最公正的最新网络游戏评测排行榜,涵盖2010至今内所有新游戏,力图为中国游戏玩家打造最值得信赖的新网游推荐平台。

新浪中国网络游戏排行榜是以由新浪游戏专业评测员组成的评测团队为核心,以游戏的画质、类型、风格、题材等游戏特性为依据,对中国(大陆港澳台)、欧美、日韩等地区正在进行测试或正式运营的新网游产品进行评测并打分后产生的权威游戏排行榜。新浪中国网络游戏排行榜将网络游戏从六大项、二十八个小分项与同类游戏进行横向比较,再将该游戏与自身的不同版本进行纵向对比后,由评测中心根据加权平均数得出最后的游戏分数,并以游戏测试及上线时间点为分组,根据每款游戏的CGWS分数在每个季度发布排行榜榜单,实现了排行榜的透明化和实时化,帮助玩家准确、迅速地找到心目中的理想游戏。

评天下游戏、测产品深浅—新浪中国网络游戏排行榜CGWR! http://top.sina.com.cn

专题活动

国庆长假来临 本周4款游戏测试

本周就要迎来国庆的七天长假了,有四款游戏赶在节前进行测试,包括《机动战士敢达OL》新资料片更新,《仙魔劫》首测。查看测试表>>

多娇游戏圈 女神萌妹天天看

游戏圈女神多娇又爱玩 来看一周游戏美女汇总!

合金装备V:幻痛专区

更多资讯、攻略、视频,尽在新浪游戏《合金装备V:幻痛》游戏专区。

荐一贱:战舰世界VS山寨舰娘

小编辛辣点评本周荐高品质网游《战舰世界》,狂吐槽山寨舰娘。

Q萌情怀手游大作《冒险岛》

100%还原端游情怀萌作《冒险岛手游》萌妹试玩解说。

大汇站:十佳新网游

还在犹豫玩什么?大汇站君评选出2015十佳新网游,快来一战!

新游尾行:诛仙世界

《诛仙世界》8月18日开测,海量内容独家爆料。

新浪简介 About Sina | 网站地图 | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 会员注册 | 产品答疑

Copyright © 1996-2015 SINA Corporation, All Rights Reserved

新浪公司 版权所有

用微信扫描二维码
分享至微信朋友圈