文档章节

[Unity3D]游戏在播放声音发生卡顿

diguo2046
 diguo2046
发布于 2017/04/05 17:28
字数 645
阅读 120
收藏 0

问题

  • 有时游戏在播放声音时会发生卡顿

原因

音响效果和音乐(环境声)应采用不同处理方式来避免这种问题。 

解决方案

使用声音文件时考虑以下建议:

对于音乐和(或)环境声(Ambient Sounds):

存储在长音频剪辑剪辑(Audio Clips)中的音乐会占据大量内存,您有两种选择:

  • 使用流(Streaming)载入方式(Load Type),并且设置压缩格式(Compression Format)为Vorbis。如此设置即可使内存使用量减至最低,但相对的会占用更多CPU资源和I/O吞吐量。
  • 使用压缩并存储至内存(Compressed In Memory)载入方式,设置压缩格式为Vorbis。与第一个方案唯一的区别是,前者占据更多I/O吞吐,而此种方式占用更多内存。注意,您可以调整Quality滑块来通过降低音频质量来减小音频剪辑压缩后的尺寸。一般来说,100%的Quality值略高,我们推荐70%。注意,使用该种设置添加两个以上的音乐或环境声剪辑时会大量消耗CPU。

音效通常是短或中等长度的音频剪辑,它们的播放频率可能很高,也可能很低。对于这些可能的情况,使用时请参考如下规则:

  • 对于经常播放的短音频剪辑,使用载入时压缩(Decompress On Load)载入方式(Load Type),PCM或ADPCM压缩格式(Compression Format)。选择PCM时,播放无需解压,适用于短且使用频率高的音频剪辑。您也可以用ADPCM压缩格式,播放该格式需要解压缩,但解压缩ADPCM比Vorbis快很多。
  • 对于经常播放的中等长度剪辑,使用压缩并存储至内存(Compressed In Memory)和ADPCM压缩格式(Compression Format)。原始PCM的大小大概是ADPCM的3.5倍,ADPCM的解压缩算法也比Vorbis解压缩算法占用更少CPU。
  • 对于播放频率低的短音频剪辑,使用压缩并存储至内存(Compressed In Memory)和ADPCM压缩格式(Compression Format),理由同2。
  • 对于播放频率低的中等长度剪辑,使用压缩并存储至内存(Compressed In Memory)和Vorbis压缩格式(Compression Format)。使用ADPCM处理该种声音效果(SFX)未免显得浪费了存储空间,况且播放的频率又很低,所以使用更多CPU资源解压缩还是可以接受的。

本文转载自:https://support.unity3d.com/hc/zh-cn/articles/208211393

共有 人打赏支持
下一篇: git常用命令
diguo2046
粉丝 1
博文 12
码字总数 583
作品 0
衡阳
程序员
私信 提问
Unity3D 游戏引擎之详解游戏开发音频的播放(十五)

Unity3D 游戏引擎之详解游戏开发音频的播放 雨松MOMO原创文章如转载,请注明:转载自雨松MOMO的博客原文地址:http://blog.csdn.net/xys289187120/article/details/6989328 游戏音频的播放在任...

彭博
2012/03/09
630
0
Hololens 开发笔记——Audio Source

版权声明:本文版权归Jitwxs所有,欢迎转载,但未经作者同意必须保留原文链接。 https://blog.csdn.net/yuanlaijike/article/details/84250907 文章目录 音频资源 Unity中的音频文件分为两类...

Jitwxs
2018/11/19
0
0
Hololens 开发笔记(8)——Audio Source

版权声明:本文版权归Jitwxs所有,欢迎转载,但未经作者同意必须保留原文链接。 https://blog.csdn.net/yuanlaijike/article/details/85202636 一、音频资源 Unity中的音频文件分为两类:原生...

Jitwxs
2018/12/22
0
0
unity pro 2017 Mac(游戏开发制作工具)详细破解教程!

Unity 2017 for Mac的优点在于它可以让您创建可在所有主流桌面和移动操作系统上播放的游戏,而不会影响游戏体验和性能。如果你需要一个高端和基于GUI的游戏开发工具附带一个非常强大的引擎,...

无言苍白
2018/08/22
0
0
Unity 引擎宣布放弃支持 Flash 平台

相信很多独立游戏以及移动游戏开发者都不会对Unity引擎感到陌生。今天,Unity公司CEO David Helgason发布消息称,游戏引擎Unity今后将不再支持Flash平台,且于今天起不再销售针对Flash开发者...

oschina
2013/04/25
4.2K
23

没有更多内容

加载失败,请刷新页面

加载更多

jenkins 配置

1. ssh-keygen -t rsa 2. 配置 GitLab 用户 创建一个用户或选择一个已有用户,用来让 Jenkins 和 GitLab API 交互。这个用户将需要是全局的管理员或添加进每个组/工程,并作为成员。需要开发...

关上越
14分钟前
1
0
中台迷思

到处都在喊中台,到处都是中台,中台这个词在我看来已经被滥用了。 在有些人眼里:中台就是技术平台,像微服务开发框架、Devops平台、PaaS平台,容器云之类的,人们都叫它“技术中台”。 在有...

老道士
21分钟前
1
0
Linux命令参数解析

Linux命令参数 通过一个例子来理解什么是Linux命令参数。以Linux中常用的删除命令“rm”为例,输入“rm --help”可以看到如下信息,其中红色框内的就是命令参数。经常使用Linux对命令参数应该...

RongJinhui0
24分钟前
1
0
边缘节点服务ENS重磅升级 阿里云首次定义“边缘云计算”概念层层深入

摘要: 在这一横一纵之间,阿里云在2018年率先提供了基于运营商边缘节点和网络的弹性分布式算力资源平台,也就是边缘节点服务ENS,连接最后10公里的ENS可以帮助用户将计算、转发等业务下沉至...

阿里云云栖社区
28分钟前
1
0
阿里云 Aliplayer高级功能介绍(四):直播时移

基本介绍 时移直播基于常规的HLS视频直播,直播推流被切分成TS分片,通过HLS协议向播放用户分发,用户请求的m3u8播放文件中包含不断刷新的TS分片地址;对于常规的HLS直播而言,TS分片地址及相...

阿里云官方博客
32分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部