diff options
| author | ayuanx <ayuanx@gmail.com> | 2010-01-03 18:58:50 +0000 |
|---|---|---|
| committer | ayuanx <ayuanx@gmail.com> | 2010-01-03 18:58:50 +0000 |
| commit | e80078dc3c5e4b10c422db25f3601d1be96454fa (patch) | |
| tree | be1bea9958cdab715032fd1bbde31faff94eb60f /Source/Core/VideoCommon/Src/Fifo.cpp | |
| parent | a3c258cf9cd46a24d1471f95f5b750456c55c2f0 (diff) | |
What we should think about:
"VideoFifo_CheckEFBAccess()" & "VideoFifo_CheckSwapRequest()" should be moved to a more suitable place than inside function "Fifo_EnterLoop()", which wastes considerable amount of CPU time (exhausting one core completely even when paused) and also makes VPS inaccurate.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4778 8ced0084-cf51-0410-be5f-012b33b47a6e
Diffstat (limited to 'Source/Core/VideoCommon/Src/Fifo.cpp')
| -rw-r--r-- | Source/Core/VideoCommon/Src/Fifo.cpp | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/Source/Core/VideoCommon/Src/Fifo.cpp b/Source/Core/VideoCommon/Src/Fifo.cpp index d1193ba2e4..e87a437edc 100644 --- a/Source/Core/VideoCommon/Src/Fifo.cpp +++ b/Source/Core/VideoCommon/Src/Fifo.cpp @@ -210,7 +210,12 @@ void Fifo_EnterLoop(const SVideoInitialize &video_initialize) } CommandProcessor::SetFifoIdleFromVideoPlugin(); - fifo_run_event.MsgWait(); + // "VideoFifo_CheckEFBAccess()" & "VideoFifo_CheckSwapRequest()" should be + // moved to a more suitable place than inside function "Fifo_EnterLoop()" + if (g_ActiveConfig.bEFBAccessEnable || g_ActiveConfig.bUseXFB) + Common::YieldCPU(); + else + fifo_run_event.MsgWait(); } } |
