mirror of
https://github.com/mackron/miniaudio.git
synced 2026-04-21 15:56:58 +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
|
||||
dependencies. See below for platform-specific details.
|
||||
|
||||
Note that GCC and Clang require `-msse2`, `-mavx2`, etc. for SIMD optimizations.
|
||||
|
||||
|
||||
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
|
||||
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
|
||||
---------
|
||||
- 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
|
||||
=====================
|
||||
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
|
||||
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
|
||||
`MA_SOUND_FLAG_NO_SPATIALIZATION` flag. It can be re-enabled again post-initialization with
|
||||
`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
|
||||
WASAPI and Core Audio, however other backends such as PulseAudio may naturally support it, though
|
||||
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
|
||||
is due to 64-bit file APIs not being available.
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user