【译】UNITY数据压缩部分的未来发展

发表于2016-01-07
评论1 2.3k浏览

 原文地址:http://blogs.unity3d.com/2015/12/16/announcing-unitys-new-data-compression-team/

  原文作者未做版权声明,视为共享知识产权进入公共领域,自动获得授权。

大家好:

  我的名字是Rich Geldreich,是一名游戏开发者、图形程序员和数据压缩专家,在过去的20年里,我一直在Ensemble Studios(微软)和Valve等公司做游戏引擎的创建、优化以及增强方面的工作。

  在过去的几年里,经常在深夜切换游戏的时候,我写了几个用于游戏开发者的闭源或者开源压缩库,比如crunch, LZHAM, miniz, jpeg-compressor。我还写了picojpeg,一个特别为低内存8bit的嵌入CPU优化过的JPEG图片解码器。除了游戏产品,这些压缩库在很多令人惊讶的领域里得到了应用,比如picosatellites,在WebGL content delivery用于GPU加速UHD video解码,以及一些教育材料。

所以什么是压缩,它为什么重要?

  据领域专家Matt Mahoney所言,数据压缩是减少存储或者传输数据的字节数的艺术。换个角度说,压缩是一个非常关键的科技,它可以节省时间、节约存储空间、减少内存使用率或者减少贷款。压缩让那些受限于硬件、存储或者传输资源的事情变得可能。

  主要有两种类型的压缩系统,如专业的有损压缩系统(想下JPEG或者MP3)和一般的无损压缩系统(比如ZIP)。在这两个类别里几乎有无穷无尽种类的用用和特定算法。一些关键和有价值的压缩系统成为世界标准并且直接使用专门的集成电路集成在硬件里面。

  数据压缩团队的工作领域是任何可压缩的东西。Unity已经实现了一些定制的和现成的压缩系统来压缩声音、材质、动画、网格和assertbundle等游戏资源。没有这些系统,Unity无法运营在一些内存受限的平台上,特别是手机设备。

  我们团队的责任是优化和维护已有的压缩系统。在近期,我们专注于开发一个新的离线实时压缩系统供Unity几个内部团队使用。我们团队最重要的长期目标是检查整个Unity系统,来让Unity有最好的压缩系统。

到目前为止的进展

  自从来到UnityAlexander Suvorov和我开始深入研究无损压缩。无损压缩使得下载Unity资源包的时间和空间大大减少。我们的目标不仅仅是达到业界前言,而是创造业界前沿。我们还会讨论在GPU纹理压缩领域的长期目标。

  在实践方面。我们已经开发并分析了我们第一个手机二进制增量压缩库。这个库可用于Unity将一些新的数据传输到一些需要旧的压缩格式的地方。最后,我们已经开始测试用于网页应用的LZHAM无损压缩程序,它是由Javascript开发的。 

  在我们对无损压缩的研究过程中,我们发现了至少一个功能可以加入到当前的无损压缩中,这个功能将使得我们轻易的构建新的自定义纹理、几何信息和动画的压缩方法。我们也在考虑如何重定义无损压缩的输入格式。在和Unity云构建和服务团队的讨论后,我们开始研究如何让离线工作的压缩程序可以实时工作。

  最后,当我们在做上述工作时,我们找到了压缩团队的长期目标:我们如何构建一个数据压缩引擎以更好的配合Unity的工作。我们团队的长期目标是构建几个新的为Unity数据专门优化的有损和无损压缩引擎。

  在Unity工作的时光非常让人激动,我等不及要看未来会是个什么样子。





如社区发表内容存在侵权行为,您可以点击这里查看侵权投诉指引