除了服务器连接和套接字之外,游戏是否使用多线程来播放音乐和其他操作?
这就是为什么当游戏冻结(因为任何原因)音乐有时可以继续播放,因为只有游戏线正在放缓?
发布于 2013-09-11 12:46:30
是。音频设备播放固定的样本缓冲区大小,然后请求下一个缓冲器。此外,通常音乐是从磁盘流,所以有另一个线程处理数据流。
发布于 2013-09-11 15:42:36
声音后端通常使用线程来确保声音/音乐是连续播放的,并且在进行更大的计算时不会被中断或扭曲。但是,您不需要自己处理这些问题,因为它们是由后端实现的,例如OpenAL。
还有一个可以通过线程解决的问题,即从硬盘上播放音乐,但这并不像播放声音本身那样重要,主要取决于您一次缓冲多少秒,并且有一个重发循环(如游戏循环)--一个专用线程不应该是必需的。
https://gamedev.stackexchange.com/questions/62049
复制相似问题