mirror of
https://github.com/mackron/miniaudio.git
synced 2026-04-22 00:06:59 +02:00
Update some documentation.
This commit is contained in:
+23
-12
@@ -460,6 +460,8 @@ is at the end, use `ma_sound_at_end()`. Looping of a sound can be controlled wit
|
|||||||
miniaudio should work cleanly out of the box without the need to download or install any
|
miniaudio should work cleanly out of the box without the need to download or install any
|
||||||
dependencies. See below for platform-specific details.
|
dependencies. See below for platform-specific details.
|
||||||
|
|
||||||
|
Note that GCC and Clang require `-msse2`, `-mavx2`, etc. for SIMD optimizations.
|
||||||
|
|
||||||
|
|
||||||
2.1. Windows
|
2.1. Windows
|
||||||
------------
|
------------
|
||||||
@@ -3601,6 +3603,12 @@ Some backends have some nuance details you may want to be aware of.
|
|||||||
miniaudio's built-in resampler is to take advantage of any potential device-specific
|
miniaudio's built-in resampler is to take advantage of any potential device-specific
|
||||||
optimizations the driver may implement.
|
optimizations the driver may implement.
|
||||||
|
|
||||||
|
BSD
|
||||||
|
---
|
||||||
|
- The sndio backend is currently only enabled on OpenBSD builds.
|
||||||
|
- The audio(4) backend is supported on OpenBSD, but you may need to disable sndiod before you can
|
||||||
|
use it.
|
||||||
|
|
||||||
15.4. UWP
|
15.4. UWP
|
||||||
---------
|
---------
|
||||||
- UWP only supports default playback and capture devices.
|
- UWP only supports default playback and capture devices.
|
||||||
@@ -3631,14 +3639,28 @@ Some backends have some nuance details you may want to be aware of.
|
|||||||
|
|
||||||
16. Optimization Tips
|
16. Optimization Tips
|
||||||
=====================
|
=====================
|
||||||
|
See below for some tips on improving performance.
|
||||||
|
|
||||||
16.1. High Level API
|
16.1. Low Level API
|
||||||
|
-------------------
|
||||||
|
- In the data callback, if your data is already clipped prior to copying it into the output buffer,
|
||||||
|
set the `noClip` config option in the device config to true. This will disable miniaudio's built
|
||||||
|
in clipping function.
|
||||||
|
- By default, miniaudio will pre-silence the data callback's output buffer. If you know that you
|
||||||
|
will always write valid data to the output buffer you can disable pre-silencing by setting the
|
||||||
|
`noPreSilence` config option in the device config to true.
|
||||||
|
|
||||||
|
16.2. High Level API
|
||||||
--------------------
|
--------------------
|
||||||
- If a sound does not require doppler or pitch shifting, consider disabling pitching by
|
- If a sound does not require doppler or pitch shifting, consider disabling pitching by
|
||||||
initializing the sound with the `MA_SOUND_FLAG_NO_PITCH` flag.
|
initializing the sound with the `MA_SOUND_FLAG_NO_PITCH` flag.
|
||||||
- If a sound does not require spatialization, disable it by initializing the sound with the
|
- If a sound does not require spatialization, disable it by initializing the sound with the
|
||||||
`MA_SOUND_FLAG_NO_SPATIALIZATION` flag. It can be re-enabled again post-initialization with
|
`MA_SOUND_FLAG_NO_SPATIALIZATION` flag. It can be re-enabled again post-initialization with
|
||||||
`ma_sound_set_spatialization_enabled()`.
|
`ma_sound_set_spatialization_enabled()`.
|
||||||
|
- If you know all of your sounds will always be the same sample rate, set the engine's sample
|
||||||
|
rate to match that of the sounds. Likewise, if you're using a self-managed resource manager,
|
||||||
|
consider setting the decoded sample rate to match your sounds. By configuring everything to
|
||||||
|
use a consistent sample rate, sample rate conversion can be avoided.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -3647,17 +3669,6 @@ Some backends have some nuance details you may want to be aware of.
|
|||||||
- Automatic stream routing is enabled on a per-backend basis. Support is explicitly enabled for
|
- Automatic stream routing is enabled on a per-backend basis. Support is explicitly enabled for
|
||||||
WASAPI and Core Audio, however other backends such as PulseAudio may naturally support it, though
|
WASAPI and Core Audio, however other backends such as PulseAudio may naturally support it, though
|
||||||
not all have been tested.
|
not all have been tested.
|
||||||
- The contents of the output buffer passed into the data callback will always be pre-initialized to
|
|
||||||
silence unless the `noPreSilencedOutputBuffer` config variable in `ma_device_config` is set to
|
|
||||||
true, in which case it'll be undefined which will require you to write something to the entire
|
|
||||||
buffer.
|
|
||||||
- By default miniaudio will automatically clip samples. This only applies when the playback sample
|
|
||||||
format is configured as `ma_format_f32`. If you are doing clipping yourself, you can disable this
|
|
||||||
overhead by setting `noClip` to true in the device config.
|
|
||||||
- Note that GCC and Clang requires `-msse2`, `-mavx2`, etc. for SIMD optimizations.
|
|
||||||
- The sndio backend is currently only enabled on OpenBSD builds.
|
|
||||||
- The audio(4) backend is supported on OpenBSD, but you may need to disable sndiod before you can
|
|
||||||
use it.
|
|
||||||
- When compiling with VC6 and earlier, decoding is restricted to files less than 2GB in size. This
|
- When compiling with VC6 and earlier, decoding is restricted to files less than 2GB in size. This
|
||||||
is due to 64-bit file APIs not being available.
|
is due to 64-bit file APIs not being available.
|
||||||
*/
|
*/
|
||||||
|
|||||||
Reference in New Issue
Block a user