Dolphin, the GameCube and Wii emulator - Forums

Full Version: Dolphin needs video and audio sync support
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
It's true. I've tried playing Dance Dance Revolution on my Emulator, and the video just doesn't keep up with the audio, and this is a problem because, whenever I try to hit a pad button on the beat, it's off because the video is behind. Over time, it slightly lags behind, and the beat gets off sync more and more. I haven't tried anything like Rockband or Guitar Hero yet on my emulator, but I'm guessing it does the same thing, and I want to play those games as well. Would it be possible to add support for Dolphin where video and audio would be in sync 100% with one another?

This is a wide variety of games that require precise timing that's dependent on the video and audio, and it's being completely made useless for Dolphin because the audio and video do not stay in sync with one another. If any developer of Dolphin is reading this, or if you know someone who is a developer, let them know that it would be a large step in the right direction in perfect Wii emulation (which is the goal here) if they fixed this issue.

Just thought I'd throw my two cents out there.
Dolphin needs more work on the DSP, this is a given. audio throttling drops performance in some cases.
Don't expect a better implementation in regards to syncing with the HLE plugin than the current implementation with the OpenAL backend. Due to the nature of HLE and the fact the Gamecube/Wii DSP is a co-processor it is impossible to add any kind of time stretching like with the audio plugins for Pcsx2.

LLE already handles syncing and other things much better than HLE does, hell the music loops properly for SMG1/SMG2/ZTP/MKDD unlike HLE. There are some minor sound issues to work out with LLE as well as performance issues to iron out, performance should improve as more instructions are added for LLE JIT and the idle skipping function is improved. Don't expect much more in the way of improvements for the HLE plugin, at least not anytime soon. HLE requires an immense amount of work, there is a ton of stuff missing from the Ucode and developers haven't RE'd everything into equivalent C++ code yet. For the most part, the developers have been unable to RE most of the Ucode for HLE and lack the time to figure it out. I would expect the relatively minor issues to be fixed with LLE before HLE is worked on, if at all. Most of the majorly reported issues with the HLE plugin are not issues with the LLE plugin.

You can likely expect the LLE plugin to replace the HLE plugin in the not so distant future.
Don't count HLE out, it is not impossible to make it as functional as LLE, its just a matter of doing it, infact, part of the problem with HLE is that the the DSP is such an unknown monster. As understanding of the DSP at a hardware level improves the LLE plugin, fixes can make it back to the HLE plugin.
Well it might be possible to fix other issues, just that there is no way to implement proper syncing into the HLE plugin. The OpenAL implementation is as good as there will ever be, developers have stated due to the nature of HLE, time stretching is impossible to implement. In regards to fixing other issue with the HLE plugin, it's very difficult and tedious to do. A lot of stuff is missing from the Ucode, some stuff isn't implemented correctly. This causes issues, namely with no bgm or music, bgm music stopping while playing, improper sound effects, missing music or notes, skipping music, volume issues etc..

The LLE plugin needs a lot less work than HLE and once the JIT is complete, performance should be on par with HLE. Developers attention is primarily focused on LLE since it is more accurate and most of the issues that exist with the HLE plugin do not exist with the LLE plugin.

For HLE quite a bit hasn't been RE'd into equivalent C++ code, developers aren't sure how to and lack time to figure it out. The code for the AFC decoder is basically a slightly modified version of the PCM16 code, there entire implementation is incorrect and it just barely works. This is why PCM16/AFC music stops looping in Super Mario Galaxy, Super Mario Galaxy 2, ZTP, MKDD.. It's an issue with the samples, buffer and syncing which the LLE plugin already does just fine with.