mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-02-11 06:59:07 +01:00
Merge pull request #3028 from mimimi085181/sonic-fighters-regression-fix2
Fix performance regression in Sonic the Fighters, introduced by PR#2001
This commit is contained in:
commit
295b869304
@ -22,7 +22,7 @@
|
|||||||
#include "VideoCommon/VideoConfig.h"
|
#include "VideoCommon/VideoConfig.h"
|
||||||
|
|
||||||
static const u64 TEXHASH_INVALID = 0;
|
static const u64 TEXHASH_INVALID = 0;
|
||||||
static const int TEXTURE_KILL_THRESHOLD = 60;
|
static const int TEXTURE_KILL_THRESHOLD = 64; // Sonic the Fighters (inside Sonic Gems Collection) loops a 64 frames animation
|
||||||
static const int TEXTURE_POOL_KILL_THRESHOLD = 3;
|
static const int TEXTURE_POOL_KILL_THRESHOLD = 3;
|
||||||
static const int FRAMECOUNT_INVALID = 0;
|
static const int FRAMECOUNT_INVALID = 0;
|
||||||
|
|
||||||
@ -496,8 +496,12 @@ TextureCache::TCacheEntryBase* TextureCache::Load(const u32 stage)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Find the entry which hasn't been used for the longest time
|
// Find the texture which hasn't been used for the longest time. Count paletted
|
||||||
if (entry->frameCount != FRAMECOUNT_INVALID && entry->frameCount < temp_frameCount)
|
// textures as the same texture here, when the texture itself is the same. This
|
||||||
|
// improves the performance a lot in some games that use paletted textures.
|
||||||
|
// Example: Sonic the Fighters (inside Sonic Gems Collection)
|
||||||
|
if (entry->frameCount != FRAMECOUNT_INVALID && entry->frameCount < temp_frameCount &&
|
||||||
|
!(isPaletteTexture && entry->base_hash == base_hash))
|
||||||
{
|
{
|
||||||
temp_frameCount = entry->frameCount;
|
temp_frameCount = entry->frameCount;
|
||||||
oldest_entry = iter;
|
oldest_entry = iter;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user