dolphin/Source/Core
JosJuice f7b4d2738b VideoCommon: Don't create mipmap vector in TextureInfo
The TextureInfo constructor creates a vector of MipLevels. This could be
good for performance if MipLevels are accessed very often for each
TextureInfo, but that's not the case. Dolphin creates thousands of
TextureInfos per second that it never accesses the mipmap levels of
because there's a hit in the texture cache, and in the uncommon case of
a texture cache miss, the mipmap levels only get looped through once.

To make the common case of texture cache hits as fast as possible, let's
not create a vector in the TextureInfo constructor. This commit
implements a custom iterator for MipLevels instead.

In my testing on the Death Star level of Rogue Squadron 2, this speeds
up TextureInfo::FromStage by 200%, giving an overall emulation speedup
of a bit over 1%. Results on the Hoth level are even better, with
TextureInfo::FromStage being close to 300% faster and overall emulation
being over 4% faster. (Single core, no GPU texture decoding.)
2026-01-17 17:57:07 +01:00
..
AudioCommon
Common Revert "Externals: Update zlib-ng to v2.3.2" 2026-01-11 20:29:05 -06:00
Core Merge pull request #14199 from JosJuice/jit64-rcoparg-isimm 2026-01-12 13:06:09 -05:00
DiscIO VolumeFileBlobReader: Define default destructor in source file 2026-01-04 17:56:08 -08:00
DolphinNoGUI
DolphinQt Merge pull request #14251 from JoshuaVandaele/cmake-editorconfig 2026-01-11 16:28:03 -05:00
DolphinTool
InputCommon Merge pull request #14158 from jordan-woyak/gcadapter-poll-rate-display 2025-12-22 13:35:24 -05:00
MacUpdater CMake: Apply editorconfig formatting 2026-01-04 12:59:56 +01:00
UICommon
UpdaterCommon
VideoBackends Metal: Move ObjectCache constructor and destructor 2026-01-04 17:56:25 -08:00
VideoCommon VideoCommon: Don't create mipmap vector in TextureInfo 2026-01-17 17:57:07 +01:00
WinUpdater
CMakeLists.txt
DolphinLib.ARM64.props
DolphinLib.props Merge pull request #14043 from iwubcode/custom_resource 2025-12-22 17:08:02 -05:00
DolphinLib.vcxproj
DolphinLib.vcxproj.user
DolphinLib.x64.props
VersionInfo.plist.in