Dolphin, the GameCube and Wii emulator - Forums

Full Version: About Netplay (Dualcore and Wiimotes)
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2
I've been having a few issues with netplay on Dolphin, so I'm asking here for up to date information on what's currently going with the netplay, if we might be doing something wrong or if there's plans on fixing the issues, or else if there's an older revision that could work. We have done extensive testing using all information we could find, but the netplay guide is out of date and good info for recent revisions is hard to find, but that's understandable with how fast the emulator is changing. The testing we did extends to sharing the whole emulator, including the portable User folder and going in netplay without changing anything.

-----------

Here are the people and vague info on them.

1. Me, in america, pretty good computer with Intel and Nvidia, hosting most of the time unless testing with a different host.
2. Guy 2, in europe, about the same specs as me, Intel and Nvidia.
3. Guy 3, in america, pretty good computer but with AMD CPU and GPU.
4. Guy 4, in europe, not very good computer and using 32bit windows, we'd still like to play Dokapon Kingdom with him though. (I've found out that there are revisions compiled for 32bit after wiimote netplay was implemented, so that should work fine, didn't test yet)

Here are the revisions we tried.

1. 4.0-4281 -- Main revisions that I've been using for a few weeks, and that we used for all the netplay unless for testing.
2. 4.0-1609 -- Tried the most recent 32bit revision, for Guy 4, and also because it seemed old enough to have working wiimote netplay (it didn't though).
3. 4.0-4843 -- Tried the most recent revision (yesterday), but none of the issues we have are fixed, and dualcore determinism now seems to 100% crash my emulator.

And finally here are the games we tried.

1. Dokapon kingdom -- Apart from the fact that it needs a wiimote input to start, works perfectly. We played about 5 hours without desync, that was without Guy 4.
2. Mario Kart Wii -- Game is harder to run. Me and Guy 2 have played for 6 or more hours without a single desync, single core or dual core. But with Guy 3, the performance impact is quite heavy and only Guy 3 often desyncs after about 10 minutes.
3. New Super Mario Bros Wii -- I thought this game would work fine since it was used for testing when wiimote netplay was added, but it desyncs in less than a minute every time. More about wiimotes below.

-----------

Performance

Before the real issues, I want to ask about performance and dual core in netplay. The netplay guide doesn't mention dualcore determinism at all and the progress report is very unclear about certain things. 1. It says determinism is activated when netplay is started. That seems to mean it activates whether we turn on Dual Core or not, but according to tests, turning on dual core gives a big boost to performance. Can we not manually set determinism on or off and actually know what the hell is happening? Just indicate what it does on the options menu, I don't see the problem. 2. It says determinism works with most games. So it doesn't work with some games, but is it still activated automatically? Is there any way to find out what games don't support it? Another thing, when we played Dokapon Kingdom for like 5 hours, it turned out that someone (one of three people) had Dual Core on the whole time. So somehow that didn't cause any desync.

Also, when playing Mario Kart Wii and testing out the performance with both a race start and the track selection menu which is quite slow, some weird results pop up. Ex. We all run the track selection menu at around 90~95% with single core. When me and Guy 2 go there in netplay, it runs at 87%, but with me and Guy 3 or with all 3, it runs at about 60%. What can cause such a performance impact? Difference of Intel and AMD? Graphic backends? Although we tried with him on both backends.


Wiimotes

Now, the real issue we're having, is with the wiimote netplay. I've seen in a lot of places that wiimote netplay isn't very good, but it seems to at least work fine if done right, so either we're missing something, or something broke since they were added. In all 3 revisions that we tried, these issues were the same.

1. If only the host has a wiimote, everything is fine. With extension or not, as long as the others have the extension set right, there is no problem.

2. When 2 people have a wiimote with an extension, the first issue happens. Every input for the extension alone is completely broken. And yes, everyone has all the extensions set to the same thing. In Dokapon Kingdom, the cursor will constantly go up or left, the menus will be moving very fast. In Mario Kart Wii we can see exactly what the inputs do: when the stick is left alone, the kart will stay straight, but pushing both left and right will make the kart turn left. The look back button © is constantly held, and pressing it will make the camera go forward. Pressing the item button (Z) will also make the camera go forward. So with both Nunchuk and Classic extensions, similar things happen, the inputs are all mixed up. No desyncs seem to be caused, though.

3. So when we figured that it was only the extension that was fucked, we figured we could try New Super Mario Bros Wii with no extension, and it's the game the devs used when implementing the wiimote netplay to boot. But no, the game desyncs incredibly fast, 20 or 30 seconds into the fist level, every time. Controls are fine, though. And, with someone plugged in with a gamecube controller and just watching (not a spectator), there was no desync at all. So again, it looked like having 2 wiimotes in netplay is causing the issue.

So yeah, I'd like to know what can be done about this, if you were aware of these wiimote issues and if there's plans for fixing them, and in the meantime, what revisions could we use to play with 2 wiimotes for New Super Mario Bros Wii and stuff. Or if we could be doing something wrong somewhere. Also if anyone knows why Guy 3 could be the only one desyncing in Mario Kart Wii. I'm aware that the netplay stuff is something fiddely and there might not be any clear answer, but anything is helpful.
I can only answer a few of your questions as I do not use netplay frequently enough.

As for why Guy 3 desyncs, it is because he has an AMD CPU. AMD does not have good single core speeds, which Dolphin really needs since it only runs on two cores for everything (GPU just makes things look nice).

Mario Kart Wii is deceptive. The multiplayer is way more intensive than the single player mode. You and Guy 2 have good CPUs so you aren't slowing down and desyncing. However Guy 3 cannot run the multiplayer at fullspeed due to his CPU not being able to run fullspeed.

What are Guy 4's specs?
...what? No one should desync due to CPU Speed. Slowdown, sure.

Wii Netplay can be a pain in the ass depending on game. I have no recommendations for it.

Dualcore Determinism is used on Netplay because if you don't have Dualcore Determinism it will immediately desync on dualcore. Single Core does not need dualcore determinism, and it won't be activated on single core.
Really? I had thought that when someone isn't playing at fullspeed due to their CPU not being strong enough to run fullspeed, that they will desync?
Yeah, I've heard of that aswell. It might not be supposed to happen, but users have complained about it, and had it go away when the slower computer was made less slow.
Slowdowns causing desyncs doesn't really make sense, no, technically and with actual tests. We're all going to have different speeds at some points, especially in mario kart wii even if it's pretty much always fullspeed. I don't know the details, but the emulator should wait for all inputs on every frame. AMD might still cause desync somehow.

Anything on the wiimotes? That's really my main issue. Netlaying New Super Mario Bros. Wii successfully would be great.
No, slowdowns don't cause desyncs.

Wiimotes and stuff, I have no idea. Sometimes it works, sometimes it doesn't. The only way you really can guarantee it working is to use single core + a fresh install of dolphin with no save files.
(12-29-2014, 11:26 AM)JMC47 Wrote: [ -> ]No, slowdowns don't cause desyncs.

Wiimotes and stuff, I have no idea.  Sometimes it works, sometimes it doesn't.  The only way you really can guarantee it working is to use single core + a fresh install of dolphin with no save files.

I didn't try an all fresh install I guess. I thought sharing everything would be enough.

Something I did find out earlier about the extension issue; it's not the host who doesn't get the issue, but the wiimote slot 1. Switched the numbers and I get the mixed up inputs as the host, on slot 2. If people are on, say, slot 3 and 4, and slot 1 is empty, the game freezes at the first screen, as it does when the extensions are not all the same on everyone.

Edit: Just tried fresh install (4.0-4281) on both sides, didn't touch anything apart from iso path, turning off dualcore and setting all the wiimote extensions. It's all the same, extension inputs are all mixed up on slot 2 and NSMBW was desynced before the first goomba.
When you say fresh install, have you created a file called portable.txt in the folder where Dolphin.exe is located or deleted the Dolphin Folder in My Documents? Cause that's the only way to do a fresh install, not just redownloading Dolphin.
(12-29-2014, 03:32 PM)KHg8m3r Wrote: [ -> ]When you say fresh install, have you created a file called portable.txt in the folder where Dolphin.exe is located or deleted the Dolphin Folder in My Documents? Cause that's the only way to do a fresh install, not just redownloading Dolphin.

Our netplay builds are all portable, yes, so we just renamed the User folder as a "fresh install".

I just did a bunch more tests with multiple dolphin instances on the same computer, still nothing. Surprisingly Mario Kart Wii still runs at full speed. I wish it would run that well when trying to record a video.

Tried putting all the wiimotes to Emulated Wiimote instead of only the first one, thought that maybe when the game replaces them on netpay it does something wrong, but it replaces the slots anyway (slots 3 and 4 go back to None).

Tried putting 2 local wiimotes on each side, but it pops up a desync error right away and I can't get anything out of it, it goes crazy.

I'm out of things to try, if someone can try out wiimote netplay and confirm if this also happens (mixed up inputs on extension), that would at least be something.
Pages: 1 2