Project

General

Profile

Actions

Emulator Issues #12584

open

Feature Request: Simplify Dolphin's code and remove "SyncGPU" Option.

Added by JMC4789 almost 3 years ago. Updated almost 3 years ago.

Status:
Accepted
Priority:
Low
Assignee:
-
% Done:

0%

Operating system:
N/A
Issue type:
Bug
Milestone:
Regression:
No
Relates to usability:
No
Relates to performance:
No
Easy:
No
Relates to maintainability:
Yes
Regression start:
Fixed in:

Description

Something I've noticed in recent years is that the SyncGPU option is rather lackluster. Due to how Dolphin has been evolving over the years, there isn't really a great usecase for SyncGPU. For stuff like netplay, we have Deterministic GPU and single core. If you want accuracy? Single Core is outright better than SyncGPU.

Performance wise, while SyncGPU can theoretically be faster than Single Core, it suffers from lots of stutters and hitches that aren't present in Single Core. There's also many cases where SyncGPU is outright slower, buggier, or unstable compared to SyncGPU in games that require stability.

Our Fifo code is extremely complicated right now with tons of paths, and it's probably where a lot of the remaining bugs and timing issues in Dolphin remain. By removing one of the paths, we could greatly simplify the codebase to make potential improvements easier while lowering the amount of testing that would need to be done on timing changes.

By removing the SyncGPU option, we would still use GPU timings on single core. Dualcore, on the other hand, would remain dualcore. And DeterministicDualcore for Netplay would be unaffected.

Actions #1

Updated by phire almost 3 years ago

I approve this.

Looks like SyncGPU has suffered quite a bit of code rot.

Actions #2

Updated by JMC4789 almost 3 years ago

  • Subject changed from Discussion: Simplify Dolphin's code and remove "SyncGPU" Option. to Feature Request: Simplify Dolphin's code and remove "SyncGPU" Option.
  • Status changed from New to Accepted
  • Priority changed from Normal to Low
  • Relates to maintainability changed from No to Yes
Actions

Also available in: Atom PDF