Project

General

Profile

Actions

Emulator Issues #4320

closed

OSX texture related slowdowns from changing GL_TEXTURE_MAX_LEVEL

Added by newjunk about 13 years ago.

Status:
Fixed
Priority:
Normal
Assignee:
% Done:

0%

Operating system:
OS X
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

What's the problem?

In Bowling in Wii Sports, the frame rate while bowling drops in half to 30fps from 60fps while in the bowling sequence. I've found from profiling with the opengl driver monitor and some experimentation that calls to setTexParamIfNeeded(GL_TEXTURE_2D, GL_TEXTURE_MAX_LEVEL, ..) were causing the opengl driver to do slow (non-DMA) copies of texture back to RAM from the video card. Disabling calls to set GL_TEXTURE_MAX_LEVEL in Source/Plugins/Plugin_VideoOGL/Src/TextureCache.cpp eliminated the slowdown entirely. The only issue I found with doing this is that textures aren't displayed correctly when the Load Native Mipmaps option is enabled.

Dolphin version with the problem (as it appears in the title bar, Ex.: "R
4779" or "R 6403M"):

(optional) Dolphin version that does not have the problem:

Operating system and version:
32-bit or 64-bit:
64 bit, OSX 10.6.6, MacBook Pro (2.4GHz Core i5, with NVIDIA GeForce GT 330M)

Game ID (as it appears in game properties, Ex.: "GZ2P01" or "RSBE01"):

RSPE01

Build command-line (not on Windows):

Was the ISO a plain dump from disc, compressed and/or scrubbed?

Please provide any additional information below.

Actions #1

Updated by Sonicadvance1 about 13 years ago

You still get the slowdown if you have the Load Native Mipmaps option disabled?

Actions #2

Updated by newjunk about 13 years ago

Yes.

Actions #3

Updated by Sonicadvance1 about 13 years ago

mmmm, I see. Silly OSX having problems with it's video drivers again.
I'll ping soren. Would be best to find a way to work around it instead of just disabling it entirely. But since I no longer have OSX to test, I can't do it.

Actions #4

Updated by glennricster about 13 years ago

How is it possible for this to make a difference if you are not using the "Load Native Mipmaps" option?

Actions #5

Updated by stephen.gutknecht almost 13 years ago

I may be seeing the same slowdown on Linux. Ubuntu 11.04 on a 2.5Ghz i5 (Lenovo x201, admittedly using integrated graphics).

Actions #6

Updated by NeoBrainX over 12 years ago

No dev with OS X around + looks like a driver issue.

Actions #7

Updated by NeoBrainX over 12 years ago

  • Relates to performance set to Yes
  • Operating system OS X added
Actions #8

Updated by degasus about 11 years ago

It seems someone didn't know the difference between max_level and max_lod:

max_level defines the number of mipmaps to alloc and should be set exactly once on texture creation.

max_lod defines how much of this mipmaps should be used and may be set often.

the good news: this issue is fixed on glsl-master branch
the bad news: glsl-master isn't useable on osx and as long as no dev uses osx, this won't become better

Actions #9

Updated by bradenb95 about 11 years ago

  • Status changed from New to Fixed

Fixed by glsl-master being merged to master.

Actions

Also available in: Atom PDF