2012-03-15 1 views
0

Я предопределяю SoundEffectInstance для каждого SoundEffect, но у него все еще есть время для загрузки, когда в первый раз воспроизводится звук. Это какая-то ленивая погрузка? Теперь я написал sound.Play(0, 0, 0); за каждый SoundEffect во время загрузки. Это займет некоторое время при загрузке, но больше не ждет, когда SoundEffectInstance будет играть в первый раз. Мне это не нравилось. Итак, есть ли еще более элегантное решение этой проблемы?Почему игра SoundEffectInstance занимает больше времени в первый раз?

ответ

0

В первый раз, когда звук воспроизводится, он загружается в память, что потребует времени.

Вы можете попытаться скрыть это поведение, пытаясь воспроизвести дорожку прежде, чем она понадобится, а затем немедленно приостановить ее, чтобы она была в памяти, когда вам это нужно.

Кроме того, вы можете попробовать различные сжатия и форматы аудио, так как это может повлиять и на время загрузки.

+0

Я пытался играли раньше, но с 'вар TMP = sound.CreateInstance();' ' tmp.Volume = 1;' ' tmp.Play();' ' tmp.Stop();' но это не актуально – xander27