AtomCraft中的内存优化

本文介绍了如何使用AtomCraft最小化音频内存开销。

概述

游戏可以使用的音频内存容量取决于其目标平台的性能。例如,如果你要开发一款移动游戏,那么和家用机游戏相比,你可以使用的内存容量就会比较有限。对于音频设计师来说,能够根据平台的音频内存限制来有效地控制内存开销是非常重要的。

 

AtomCraft在宏观和微观层面上都提供了对内存的完美操控。在这篇文章中,我们将为你介绍如何在项目中控制内存开销,而无需牺牲整体音质。

 

基本概念

在深入介绍之前,我们需要先明确两个重要的概念。

 

第一个概念是AtomCraft的CueSheet系统。简单来说,CueSheet就是声音库,程序员可以将它们载入到内存或者从内存中卸载。因此,我们建议你合理地将音效分配到不同的CueSheet中,这样你就可以在特定时刻只载入你所需要的那些素材,从而降低内存开销。如何将你的Cue分配到CueSheet取决于你要制作的游戏类型,以及你所使用的素材类型。例如,你可以按游戏中的关卡或者地点来分配,或者按角色、武器的类型来分配。

 

下图是一个组织CueSheet的实例:

第二个概念是AtomCraft中每一种自主编码器的特性。CRI Middleware主要开发了两种编码器,即ADX和HCA,它们可以对平台厂商提供的编码器进行补充。CRI Middleware的编码器都是高保真、高压缩率、低CPU负载,并且可运行于所有游戏平台,包括移动设备和嵌入式系统。有了这些特性,CRIWARE引擎可以在主机平台上同时播放几百个声音,在移动平台上也能同时播放几十个声音。要深入了解关于CRIWARE自主音频编码器的信息,请观看这个视频教程(可以直接跳到2:20处观看最有趣的部分!)

 

宏观控制

使用AtomCraft,你可以在Global Settings(全局设置)中设置每种目标平台的编码选项。通过这些选项,你可以为每种平台选择默认的编码器和压缩率。通过这种方式,你可以简单快速地从宏观层面控制内存开销。

 

要使用这一功能:前往Global Settings面板,打开Global Settings目录,选择TargetConfigs(目标配置)目录并点击相应的平台名称。

在中间的面板上,你可以看到编码选项并选择所需的编码器。

ADX是一种高保真、低CPU负载的编码器,可运行于所有游戏平台。使用ADX可以将音频文件压缩至原始大小的1/4。

 

HCA(High Compression Audio,高压缩率音频)编码器可提供低CPU负载、高音质和高压缩率。它可媲美MP3、AAC等通用音频编码器,压缩率从1/6到1/24不等。

 

HCA-MX编码器是HCA的衍生版,它可以在同时播放大量声音时降低CPU负载。这种编码器有一定的限制条件,但它是移动游戏市场上最佳的音频编码器。

 

最后,你还可以设置默认压缩率。

 

你可以通过以下5个选项来指定压缩率:

  • 高质量(最低压缩率):Hi Quality         (Lowest compression ratio)
  • 中高质量:Medium Hi Quality
  • 中等质量:Medium Quality
  • 中低质量:Medium Low Quality
  • 低质量(最高压缩率):Low Quality      (Highest compression ratio)

 

微观控制

你也可以在每一个音频文件的层面来控制内存开销。AtomCraft允许为项目中的每一个音频文件指定不同的编码器和压缩率!这一功能十分有用,因为音频设计师可以自由选择哪些声音需要最高的音质,而哪些声音的音质可以低一些。这样,我们可以根据音效在游戏中的重要性和明显性来调整它们的音质。

 

要覆盖全局设置并微调每个音频文件的内存开销:

 

前往Materials(素材)面板,点击一个音频文件:

在中间面板中,我们可以看到用来覆盖默认设置的选项,在这里你可以选择所需的编码器和压缩率。

最后,我们还可以在无需重新打包游戏的情况下测试微调的结果,因为使用Criware Atom Viewer就可以直接试听二进制文件中的音频。你可以试听经过编码和解码的音频文件,和在游戏中播放的效果是完全一致的。通过这种方法,你可以简单快速地对比不同编码器和压缩选项的效果。

 

 

以上就是关于AtomCraft中内存优化的介绍,如果你想了解ADX2的某个功能,快点告诉我们吧!

(英文原文)

Winnie Fu

CRI Middleware Global Expansion Group

发表评论

电子邮件地址不会被公开。 必填项已用*标注

This site uses Akismet to reduce spam. Learn how your comment data is processed.