Emulator Issues #4320
closedOSX texture related slowdowns from changing GL_TEXTURE_MAX_LEVEL
0%
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.
Updated by Sonicadvance1 over 13 years ago
You still get the slowdown if you have the Load Native Mipmaps option disabled?
Updated by Sonicadvance1 over 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.
Updated by glennricster over 13 years ago
How is it possible for this to make a difference if you are not using the "Load Native Mipmaps" option?
Updated by stephen.gutknecht over 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).
Updated by NeoBrainX about 13 years ago
No dev with OS X around + looks like a driver issue.
Updated by NeoBrainX about 13 years ago
- Relates to performance set to Yes
- Operating system OS X added
Updated by degasus over 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
Updated by bradenb95 over 11 years ago
- Status changed from New to Fixed
Fixed by glsl-master being merged to master.