加入收藏 | 设为首页 | 会员中心 | 我要投稿 顺游网_765游戏网 (https://www.765youxi.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 游戏资讯 > 国外资讯 > 正文

LOL工程师:如何更好地控制皮肤的内存占用

发布时间:2017-02-22 21:54:26 所属栏目:国外资讯 来源:互联网
导读:副标题#e# 近日,LOL的开发商Riot展示了工程师们在面对工作中的各种问题时,如何朝着技术提升和工作方式的优化而努力,最终给玩家带来更好的体验。Riot的工程师Eric Friedman和Scott DeFreitas在官博中以终极皮肤元素使者拉克丝为例详细解释了优化的过程。

和使用一个完整纹理文件展示效果不同的是,一个纹理资源包可以让美术师们使用纹理的所有颜色通道创作一个灰度图像。

光辉3.jpg

如果全部使用灰色,那么元素使者拉克丝就不会那么受欢迎,所以美术师们需要为她增加色彩,这时候我们开始使用调色板,调色板的纹理通常是可以让很多效果共享使用的,因此降低了特定色彩的使用空间。

光辉4.jpg

VFX美术师们使用这种技术的优势而大大降低了元素使者拉克丝效果的内存占用。

光辉5.jpg

在纹理经过了优化之后,我们离30MB的内存使用就非常接近了。更好的是,这种技术还可以给未来的皮肤解决不少空间。

仍不算目标完成

我们的确为此感到高兴,但当看到内存使用报告的时候,元素使者拉克丝的占用空间仍然超出了20%,这时候离登录公测服还有一周时间,所以我们必须尽早找到并解决问题。

在快速浏览内存报告工具的时候我们发现,有超过10MB的内存被分配到了未经计算的纹理上,这是导致我们VFX系统内存问题的一个重要原因。

我们的效果系统可以被描述为‘一个每小时200英里的固定功能牵引器’,换句话说,每个发射器(emitter)都可以所所有的效果,也就是说所有发射器都使用了全部效果才用得到的内存占用。此前,我们打造了一个粒子系统满足当时的需求,当时并不用计算内存成本,因为普通皮肤占用空间并不大,根本不会超出预算空间。可是元素使者拉克丝要加载3000多个发射器,因此内存占用很快就超标了。

我们发现我们使用的发射器为了具备使用多个动画而增加了存储能力,所以占用了大量内存,以下表格是《英雄联盟》普通数据类型和动画数据所占用的空间对比:

光辉6.jpg

每个发射器都占用50字节左右的动画类型,而其中超过95%都是经常使用但根本不需要用到动画的,考虑到这个皮肤使用3000多个发射器,可以想象资源浪费到底有多严重。为此我们做了简单的调整,对不同的结构只在需要的时候调用动画数据,所以很快就把内存占用降到了预算以内,而且还在环境、其他英雄、物品等方面节约了10-15MB的空间。

未来的皮肤制作

通过深入了解效果系统,我们了解了更多有关粒子方面的东西,虽然还有很多工作需要完善,但这已经是非常不错的第一步,不仅让元素使者拉克丝的游戏内存占用控制到了预算以下。除了效果系统之外,我们还找到了其他英雄和皮肤节约空间的解决方案。

如以上所说,我们做的这些变化都不是具有革命性的,我们只是在推出新内容的过程中,朝着更好的技术和研发过程优化,每个项目都可以增强我们的工具和制作过程,让未来的同事们做起来更简单,给玩家带来更好的体验。

来源:GameLook

【编辑:17173风间】

(编辑:顺游网_765游戏网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

推荐文章
    热点阅读