But you will lose many conveniences that Unity provides including finger ID tracking, stationary state, etc. I made iOS Native Touch which can reduce this input latency. (Unlike audio, we just left the Unity one and use our native method) This is much more difficult as the path that Unity receives touch from Xcode project is almost hardwired and is not meant to be replaced easily. With that still the latency is just about equal to Unity's "Best Latency" (ant the sound cracks more too due to a low buffer size) In addition to setting the best file format, requires editing FMOD Unity's source code to use very low number of buffer size. I have compiled all of my findings in here : On Android it uses AudioTrack, I confirmed it to be faster than SoundPool and no meaningful difference from C side OpneSL ES of NDK. It is faster than AVAudioPlayer, AudioToolbox, and SystemSound. There are various ways of playing audio at native side, here's my choice : I just made ( ) asset store plugins which can make a native call to both iOS and Android's fastest native way from one central interface. If that is not enough you can use native methods of each platform. You might want to have larger buffer size on Windows. As of today with this settings, it make a glitched sound on Windows build while on macOS, Android, iOS is completely fine. ![]() Project Setting > Audio > DSP Buffer Size > set it to Best Latency (small buffer size). Audio latency is one thing but input latency also indirectly increase the perceived audio latency. Your sound is a result of pressing a button. ![]() Your problem came from 2 things : Unity adds audio latency and ALSO input latency. Superpowered tuned its Latency Test app while Google is yet to fix it app. I have researched much into ways to make the game the most responsive. A report from Superpowered suggests that the audio latency issue on the Nexus. Next, I am also developing a music game so I can feel your pain. ![]() (But still an improvement if you compared with Unity audio, since it interface with Android library.) You can still use a free Superpowered library, but it just provides general audio tasks without much improvement. But this is not going to work with normal Google Play distribution since everyone else have just a normal phone. If you order a hardware with modifications from them you could make a sick music application. Imagine you want to build an interactive desk with Android inside. They run a business which you could order a custom android mods with their findings built in and that would work with their library. Their website is informative about audio latency but what's not obvious is that the most important thing that make it work is their special OEM audio server. How can I do this I don't see any code in 'SuperpoweredSDK\SuperpoweredSpatializer\src' for playing sound without latency.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |