Project

General

Profile

Actions

Emulator Issues #5234

closed

Auto Frame-skipping (enhancement)

Added by avandijk1982 over 12 years ago.

Status:
Invalid
Priority:
Normal
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:
No
Regression start:
Fixed in:

Description

Well, since this is a rather dolphin-wide issue, this applies to all games.

The main issue is this: When in Dualcore mode, the GPU-thread is forcing the CPU thread to slow down.
However, if I force Dolphin.exe's affinity in Windows-Taskmanager to one core only, the GPU-thread yields to the CPU-thread and starts skipping frames to let it reach 100% speed.

In Short, on one core I can play at 100% speed (with some frame-skipping), but when using both cores, the game slows down on me to 70% speed, but with fluid graphics.

The Frame-skipping option already available doesn't make a difference, and my GPU is able to handle it for sure: I can play with 1xIR to 3xIR with that same speed. So 1xIR gives me the same speed (70%) as 3xIR, and the core with the CPU thread isn't fully utilized either.

Though this might very well be intended behavior, I would like to see an implementation of that automatic frame-skipping when the CPU and GPU thread are both running on a different core.

I've already made a checkbox in the config dialog and a corresponding configuration value available (see screenshot: http://studio88.nl/Hotlinks/autoskip.jpg), so if this is not a desired feature, I probably could implement this myself if I had a little help, because I've exhausted the options I could find to implement this myself...

Additional information:

  • The config value I made available is:
    LocalCoreStartupParameter.bAutoFrameSkip
    and is saved in the config.ini under [Core], AutoFrameSkip

  • In the screenshot you'll also notice the "Extended Info" option, which toggles the ticks data besides the FPS, VPS and Speed counters on the Status bar. This is fully operational and can be toggled at runtime.

If desired by any dev, I could make my source available to them on my private server, which is up-to-date with revision 3a9fed0ba285.

Actions #1

Updated by blackbeetleking over 12 years ago

sorry~I'm not coder
could i try your special "AutoFrameSkip" revision
or
would you mind share "AutoFrameSkip" patch

is "AutoFrameSkip" same as "Fifo Busy" patch(http://forums.dolphin-emulator.com/showthread.php?tid=13314)

Actions #2

Updated by Anonymous over 12 years ago

Just post the code so it can be considered, please.

Actions #3

Updated by avandijk1982 over 12 years ago

That' s the thing, I' ve created the config value, but I have no idea where
and how to implement it... I need to know where this is handled in the code
before I can try to implement it.
Op 28 feb. 2012 07:29 schreef het volgende:

Actions #4

Updated by NeoBrainX over 12 years ago

Take a look at either VideoCommon/Src/BPStructs.cpp when an EFB copy is triggered (XFB disabled mode) or at Core/Src/HW/VideoInterface.cpp for XFB enabled mode.

Actions #5

Updated by Billiard26 almost 12 years ago

  • Status changed from New to Invalid

We are not interested in implementing this.
Provide a patch for consideration.

Actions

Also available in: Atom PDF