Project

General

Profile

Actions

Emulator Issues #6472

closed

Strange performance issues on powerful hardware with OGL

Added by jmuehldorfer over 11 years ago.

Status:
Fixed
Priority:
Normal
Assignee:
-
% Done:

0%

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

Description

Have you searched the issue tracker for a similar issue?
Yes

Game Name?
Mario Kart Wii
Mario Kart Double Dash
maybe more

Game ID?
RMCP01
GM4P01

What went wrong?
The framerate suddenly drops to ~30fps in games that the hardware can
usually run flawless.
Either more permanently or as a small micro-lag

What did you expect to happen?
50/60fps all the time

What steps will reproduce the problem?
Hard to say.
What always worked:
Starting Mario Kart Wii on my Hardware. PAL as well as NTSC

What version of Dolphin were you using (please test the latest version
from http://dolphin-emu.org/download first, 3.5 or 3.5-367 are not valid
tests!)?
3.5-1727

64 or 32 bit Dolphin?
64

What version of Dolphin used to work?
3.5-1201
3.5-1727 modified (see description following)

What Operating System were you using and what are your hardware
specifications?
Ubuntu 13.04 x64
Intel I7-4770k (tested with and without HT)
Nvidia GTX 660 with proprietary 313 drivers

Any other relevant information or links to logs:
This issue is a little hard to track down.

I had massive performance problems with Mario Kart Wii and the Mario Kart Double Dash Ice World.

Mario Kart Wii always ran at 30fps in OGL, no matter what I did.
That included:

  • All graphics settings tested (reset config)
  • Limit by FPS/Audio/Off
  • Use builds from the official site or my own
  • Turn off Hyperthreading in UEFI
  • Turn off Vsync systemwide
  • Use nouveau (bad luck, black picture. not tested)

Mario Kart Double dash sometimes "flipped" between 30fps and 60fps on this very map. (The framecounter sometimes gives me a medium value in between, but then there are some seconds where it is fixed at 30fps. So I suspect it is 30fps and 60fps)

Then I started trying old revisions. I found that 1201 still worked flawless with Mario Kart Wii. So I reverted commit "ogl: one framebuffer per efb2tex texture" (revision 3897e1959e0b) on my local code copy if 1727 and it started working as well with 1727, perfect 60fps with only tiny microlags (not disturbing).

Then I tested Mario Kart Double Dash again and it was a lot better, too. Some tiny micro lags were left where it looked like it dropped the performance for around 1 second.

I also noticed this issue with other games, but I can not judge if it is the same issue.
For example Mario Party 7 and F Zero GX also "flipped" between 30fps and 60fps.
F Zero GX seems to randomly have phases of slow and fast.
In Mario Party 7 the opening scene of Windmill-vill was at laggy 30fps, but reverting the code also got that running at 50fps (PAL) as expected.
F Zero GX is still a mess, even after my hack.

Zelda Wind Waker and others always ran perfectly.
None of the issues is present on DX9 on Windows 7.

The issue might not be a issue great to track down, but I hope there is some simple solution to it. I will help with tests any time.

Actions #1

Updated by johnwchadwick over 11 years ago

  • Relates to performance set to Yes
  • Operating system N/A added

Looks a lot like issue 6333 to me - to confirm that, you should check and see if the GLSL merge revision is actually the one where performance is taking a dump at.

Actions #2

Updated by phire over 11 years ago

I couldn't reproduce this issue on my 3.166ghz core 2 duo and gtx 260.

I only tried Mario Kart Double Dash's Ice World. Unlike the other tracks, it couldn't keep a solid 60 fps, averaging 45-50 fps, but there were no drops down to 30fps.

Actions #3

Updated by jmuehldorfer over 11 years ago

Yes it can be merged I guess.

Actions #4

Updated by degasus over 11 years ago

Sorry, haven't seen this issue.
Please don't merge it as issue 6333 is a hardware based issue where tesla based gpu have a slowdown. jmuehldorfer, so you shouldn't be affected by issue 6333.

I'm sorry, this issue sounds like a vsync one. Please keep in mind that disabling it in the dolphin gui often fails.

Does the game run on 50% speed while you get 30 fps? iirc some games can switch internally.

Actions #5

Updated by jlushinsky almost 11 years ago

I'm having similar issues as the issue creator on at least Mario Kart Wii with OpenGL. For me oddly enough, when I do a solo time trial the frame rate will stay locked at 30fps (game is 50% speed) but doing an actual race in the same course with the same character will make the game run at the proper frame rate (but with some small microstuttering not present with the DX11 plugin). I noticed that in the Task Manager the CPU utilization during a solo time trial goes to 65%, while a normal race will be 40 to 45%. The DirectX 11 plugin doesn't have any of these issues. Vsync is disabled (in Dolphin), the Aero theme is on I believe, occurs windowed and fullscreen, 'Set Priority' in Windows is set to High, and NVidia CP has "Prefer Maximum Performance" enabled for Dolphin.exe.

Versions I tested where the problem occurs:
Dolphin 4.0.2 (release)
Dolphin 67f099af33eab19e468b2b3c07dba5dc0309bf8c

Versions I tested where the problem DOES NOT occur:
Dolphin 3.5 (release)

Here is my hardware:
OS: Windows 7 Home Premium SP1
GFX Card: NVidia GeForce 680 GTX
CPU: Intel 2500k @ 3.3ghz
MB: Asrock z68 extreme 3 w/ latest BIOS

Here are some screenshots showing Mario Kart Wii (NTSC-U) running on Dolphin 67f099af33eab19e468b2b3c07dba5dc0309bf8c. First screenshot shows a solo trial run while the second screenshot shows a normal race with other characters:
http://imgur.com/bQvVu2q //solo
http://imgur.com/ZZJ6WDO //normal

I try to make my settings for DirectX and OpenGL the same for comparison, but here's what I have enabled for OpenGL as of now:
http://imgur.com/l64Fwdk

I take it that there have been some performance issues with OpenGL as of the GLSL merge, but I don't know if it's the same case with me. If you think it is, are there any more issue reports to follow on this besides 6333?

Actions #6

Updated by idan345 almost 11 years ago

I have Windows 8 64BIT , unlike the OP. but still having trouble with OpenGL

I dont know if this error service is still being looked at, but I must say that AFTER LatencyFix PullRequest, the Mario Kart Wii is running around ~ 15 - 20 LESS frames...

should be mentioned that I did not notice any performance gain from the OpenGL initialization in big array.

the d3d works actually quite good. solid 55 - 60 all way through.

hopefully someone still reads this

Actions #7

Updated by JMC4789 over 10 years ago

  • Status changed from New to Questionable

Mario Kart Wii is extremely slow in OpenGL and was fixed by the texture pooling builds that were reverted. But we at least know why it's happening.

I think this report should be closed myself.

Some games will run slower as features are changed/added. I've known this game has gotten slower for a long time, I hope the people affected understand that this is known, and there was a way to speed it up, but it causes issues in other games for now. Perhaps a revised version of that solution will resurface eventually.

Actions #8

Updated by degasus over 10 years ago

JMC, I don't think so. This slowdown is because of a serializing gl call on nvidia drivers. So either it's a nvidia bug or a dolphin one (as we shouldn't use this call).

Actions #9

Updated by JMC4789 over 10 years ago

Oh ok. I haven't been having any issues on my GTX 560m in Linux vs Windows. Apologies.

Still, I'm okay with questionable as we don't know if it's a dolphin or nvidia bug.

Actions #10

Updated by JMC4789 about 10 years ago

Any updates to this?

Actions #11

Updated by degasus about 10 years ago

  • Status changed from Questionable to Fixed

I guess this was because of the coherent buffer mapping. If you still think there is a slowdown, annoy me until I reopen this issue.

Actions

Also available in: Atom PDF