• Login
  • Register
  • Dolphin Forums
  • Home
  • FAQ
  • Download
  • Wiki
  • Code


Dolphin, the GameCube and Wii emulator - Forums › Dolphin Emulator Discussion and Support › General Discussion v
« Previous 1 ... 201 202 203 204 205 ... 368 Next »

Xenoblade Audio Option Request
View New Posts | View Today's Posts

Pages (2): « Previous 1 2
Thread Closed 
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Thread Modes
Xenoblade Audio Option Request
03-19-2012, 02:35 AM (This post was last modified: 03-19-2012, 02:43 AM by etking.)
#11
etking Offline
Banned
Posts: 189
Threads: 1
Joined: Feb 2012
Maybe there is a misunderstanding about the word "cache", I do not mean any emulation related cache but system RAM or filesystem cache. The audio issues in DKCR and others seem to get much worse when there is a lot of HDD activity caused by other programs on the PC or by bad quality backup media on the real Wii as you can read on the DKCR thread.

If the same problem also happens on real Wii hardware, the bug can clearly be located and fixed because it is no emulation bug and has external causes like file system speed.

And if that was the case, simple caching of the audio files to be readily available for the emulator to access could help because streaming audio from RAM instead of HDD is much faster.

Sound loops can be caused by insufficient caching since if the cache is running out data and the HDD is to slow to provide the rest of the stream, the sound plays from the beginning. In Zelda SS sound loops are very rare and only happen if there is a lot of other HDD activity in the background. Then the sound loops after some seconds of play until you enter an area with different sound. I'd guess it's caused by a buffer underrun, which is also the cause for the Xenoblade errors.

So the audio buffer underrun problems in Xenoblade, DKCR and Zelda SS seem to be very related and might be addressed in a comparable way. If the Xenoblade buffer underrun can be fixed that easily by the Xenoblade HLE patch, why not fixing the other buffer underruns too by changing audio parameters cache size and looping behavior per game by introducing some adjustable parameters to the HLE engine.

This way a fix for one game would not cause any trouble in other games and all games could work simultaneously without requiring a special dolphin build each. And this solution might be much easier than rewriting the complete HLE Engine. Using LLE is not a solution because it is too slow for 1080p gaming on most systems.
Find
03-19-2012, 02:40 AM (This post was last modified: 03-19-2012, 02:41 AM by neobrain.)
#12
neobrain Offline
"Wow, I made my code 1000x faster! That means I can make it 2048x slower now!"
**********
Developers (Some Administrators and Super Moderators)
Posts: 3,208
Threads: 50
Joined: Jun 2009
I think you want to use the term "buffer" instead of "cache"..

Anyway, if fixing HLE was that simple it would've already been done. People have spent so much time thinking about how the situation could be improved that any idea ANYONE who is not involved in development comes up with isn't going to work out. No offense, but that includes yours as well, and until you actually know what you're talking about there's really no point in further trying to make a point here.
My blog
Me on Twitter
My wishlist on Amazon.de
Find
03-19-2012, 03:20 AM (This post was last modified: 03-19-2012, 04:19 AM by etking.)
#13
etking Offline
Banned
Posts: 189
Threads: 1
Joined: Feb 2012
Maybe you are right. But when I look at the Xenoblade patch code, in addition to some additional calculations there are some variables, which you could make configurable as part of the game specific ini files for others to experiment with, for example: MAX_SAMPLES, NUM_BUFFERS, SAMPLES_PER_BUFFER...

Then, in addition there could be two or 3 hard coded buffer behavior styles to choose from. And by default, just the current behavior would be used.

37 -#define MAX_SAMPLES (1024 * 8)
38 +#define MAX_SAMPLES (1024)

63 -const int NUM_BUFFERS = 3;
64 -const int SAMPLES_PER_BUFFER = 96;
65 +const int NUM_BUFFERS = 9;
66 +const int SAMPLES_PER_BUFFER = 49;

A big problem of the removed plug-in interface and unified plugins in my opinion is that there is less evolution since it is much harder to bring creative and non unified ideas to the project.

The Xenoblade Fix also largely improves the audio in Rune Factory Oceans / Tides of Destiny despite not fixing it completely. Another reason for implementing a configurable and more flexible HLE audio.
Find
03-19-2012, 08:08 AM (This post was last modified: 03-19-2012, 08:10 AM by NaturalViolence.)
#14
NaturalViolence Offline
It's not that I hate people, I just hate stupid people
*******
Posts: 9,013
Threads: 24
Joined: Oct 2009
Quote:Maybe there is a misunderstanding about the word "cache", I do not mean any emulation related cache but system RAM or filesystem cache. The audio issues in DKCR and others seem to get much worse when there is a lot of HDD activity caused by other programs on the PC or by bad quality backup media on the real Wii as you can read on the DKCR thread.

If the same problem also happens on real Wii hardware, the bug can clearly be located and fixed because it is no emulation bug and has external causes like file system speed.

And if that was the case, simple caching of the audio files to be readily available for the emulator to access could help because streaming audio from RAM instead of HDD is much faster.

Sound loops can be caused by insufficient caching since if the cache is running out data and the HDD is to slow to provide the rest of the stream, the sound plays from the beginning. In Zelda SS sound loops are very rare and only happen if there is a lot of other HDD activity in the background. Then the sound loops after some seconds of play until you enter an area with different sound. I'd guess it's caused by a buffer underrun, which is also the cause for the Xenoblade errors.

So the audio buffer underrun problems in Xenoblade, DKCR and Zelda SS seem to be very related and might be addressed in a comparable way. If the Xenoblade buffer underrun can be fixed that easily by the Xenoblade HLE patch, why not fixing the other buffer underruns too by changing audio parameters cache size and looping behavior per game by introducing some adjustable parameters to the HLE engine.

This way a fix for one game would not cause any trouble in other games and all games could work simultaneously without requiring a special dolphin build each. And this solution might be much easier than rewriting the complete HLE Engine. Using LLE is not a solution because it is too slow for 1080p gaming on most systems.

You're only making it worse by continuing to prove you have no idea what you're talking about. You're created assumptions without evidence based on your extremely limited information about the situation. Normally I would explain why your assumptions are wrong in detail but that would require a very long time consuming post, why do that when I can prove your assumptions wrong with one simply fact (also I don't have the time to do that as much anymore). If any of this was true than using a ramdisk would help, but it doesn't. Storing both the game and dolphin entirely within ram has been shown to make absolutely no difference. Don't believe me? Try it yourself.

Please stop talking about this as if you know what you're talking about, you clearly don't. Especially if you think bad media causing audio issues implies a buffering issue.

Quote:Using LLE is not a solution because it is too slow for 1080p gaming on most systems.

Resolution has nothing to do with cpu performance.
"Normally if given a choice between doing something and nothing, I’d choose to do nothing. But I would do something if it helps someone else do nothing. I’d work all night if it meant nothing got done."  
-Ron Swanson

"I shall be a good politician, even if it kills me. Or if it kills anyone else for that matter. "
-Mark Antony
Website Find
03-19-2012, 09:18 AM (This post was last modified: 03-19-2012, 09:50 AM by etking.)
#15
etking Offline
Banned
Posts: 189
Threads: 1
Joined: Feb 2012
The HLE audio is broken and causes audio problems in many games, you do not know the exact cause, I do not know the cause. But we all want to fix it and currently we have many different HLE patches that fix one game and break 10 others. By providing additional options we could instantly fix two games, Xenoblade and Rune Factory. By playing around with these new options we might be able to fix even more.

I just want to support the idea of bringing the Xenoblade patch to the main branch of Dolphin because we get two more games instantly working and the chance to improve many others over time.

If the real wii has problems with low data rates in DKCR and Dolphin has exactly the same problems which are even getting worse when you have large HDD activity due to other processes, lets say a torrent client downloading the newest Ubuntu Linux in the background, you have to just count one and one together. Sure there are more problems in the DSP and HLE code mixed in, making the overall thing much more complicated.

But the HLE audio problems need to be somehow addressed and I am just suggesting a solution which would fix some games without breaking others. Way too often a fix for one game causes problems in another but with additional audio parameter this could be avoided.

In my opinion the broken HLE audio is by far the most important open issue in Dolphin and should get highest priority. But instead "use LLE" is always suggested which is not an option for most users because it is way to slow and resource demanding. And LLE audio has a lot to do with resolution because if the framerate falls too much you get bad sound. Most system can handle HLE in 1080p without becoming too slow but for LLE resolution must be reduced because framerate is much more important since a single frame less can make a big difference.

By integrating all the available HLE audio patches for different games in an intelligent manner with new and configurable parameters for the community to experiment with, compatibility could be largely improved without braking a single game.
Of course this is just a suggestion, nothing more, nothing less. We can also leave everything as it is right now and no progress is being made at all.

Currently you have to install 10 differently patched revisions of Dolphin to be able to play your games without problems and the idea should be to reduce this number to one.
Find
03-20-2012, 02:37 AM
#16
neobrain Offline
"Wow, I made my code 1000x faster! That means I can make it 2048x slower now!"
**********
Developers (Some Administrators and Super Moderators)
Posts: 3,208
Threads: 50
Joined: Jun 2009
Workarounds aren't fixes. Options aren't fixes, either. You really should rethink some of your assumptions (or even better, ALL of them), because apparently most of them are just plain wrong. That basically applies at least everywhere you used the word "clearly".

Anyway, I'll go ahead and save us all some time by closing this thread. We got your point, but we don't agree with it. There's been tons of arguments in this thread as to why what you're suggesting isn't as useful as you think. There's no reason to further discuss this.
My blog
Me on Twitter
My wishlist on Amazon.de
Find
« Next Oldest | Next Newest »
Pages (2): « Previous 1 2
Thread Closed 


  • View a Printable Version
  • Subscribe to this thread
Forum Jump:


Users browsing this thread:



Powered By MyBB | Theme by Fragma

Linear Mode
Threaded Mode