From 9d203619aaba87026fdba608479e85dadf23550a Mon Sep 17 00:00:00 2001 From: "wagic.jeck" Date: Fri, 11 Sep 2009 08:17:05 +0000 Subject: [PATCH] Jeck - Extremely minor speedup for cache access in GameStateDeckViewer, minor fix to WResourceManager::cleanup(). --- projects/mtg/include/WResourceManager.h | 1 - projects/mtg/src/GameStateDeckViewer.cpp | 17 +++++++++++------ projects/mtg/src/WResourceManager.cpp | 2 +- 3 files changed, 12 insertions(+), 8 deletions(-) diff --git a/projects/mtg/include/WResourceManager.h b/projects/mtg/include/WResourceManager.h index 2c8c84407..a09971e9f 100644 --- a/projects/mtg/include/WResourceManager.h +++ b/projects/mtg/include/WResourceManager.h @@ -80,7 +80,6 @@ public: WResourceManager(); ~WResourceManager(); - bool isCardInCache(MTGCard * card, int type = CACHE_CARD); JQuad * RetrieveCard(MTGCard * card, int type = CACHE_CARD, int style = RETRIEVE_NORMAL); JSample * RetrieveSample(string filename, int style = RETRIEVE_NORMAL); JTexture * RetrieveTexture(string filename, int style = RETRIEVE_NORMAL); diff --git a/projects/mtg/src/GameStateDeckViewer.cpp b/projects/mtg/src/GameStateDeckViewer.cpp index 474279a7b..8ecc61f13 100644 --- a/projects/mtg/src/GameStateDeckViewer.cpp +++ b/projects/mtg/src/GameStateDeckViewer.cpp @@ -543,13 +543,18 @@ void GameStateDeckViewer::renderCard(int id, float rotation){ int alpha = (int) (255 * (scale + 1.0 - max_scale)); if (!card) return; - JQuad * quad = backQuad; + JQuad * quad = NULL; - int showName = 1; - if (resources.RetrieveCard(card,CACHE_CARD,RETRIEVE_EXISTING) || last_user_activity > (abs(2-id) + 1)* NO_USER_ACTIVITY_SHOWCARD_DELAY){ - quad = resources.RetrieveCard(card); - showName = 0; - } + int showName = 0; + quad = resources.RetrieveCard(card,CACHE_CARD,RETRIEVE_EXISTING); + if (!quad){ + if(last_user_activity > (abs(2-id) + 1)* NO_USER_ACTIVITY_SHOWCARD_DELAY) + quad = resources.RetrieveCard(card); + else{ + quad = backQuad; + showName = 1; + } + } if (quad){ diff --git a/projects/mtg/src/WResourceManager.cpp b/projects/mtg/src/WResourceManager.cpp index a328b6ea6..1563efcd6 100644 --- a/projects/mtg/src/WResourceManager.cpp +++ b/projects/mtg/src/WResourceManager.cpp @@ -163,8 +163,8 @@ bool WResourceManager::cleanup(){ long maxSize = options[Options::CACHESIZE].number * 100000; if (!maxSize) maxSize = CACHE_SIZE_PIXELS; + ClearMisses(); while (textureCache.size() > MAX_CACHE_OBJECTS - 1 || totalsize > maxSize){ - ClearMisses(); int result = RemoveOldestTexture(); if (!result) return false; }