Cache registry files for performance
Signed-off-by: loathingKernel <142770+loathingKernel@users.noreply.github.com>
This commit is contained in:
parent
1ac1fd89f8
commit
2258d87c83
1 changed files with 10 additions and 3 deletions
|
@ -256,7 +256,8 @@ class RareGame(RareGameSlim):
|
|||
self.state = RareGame.State.IDLE
|
||||
self.signals.game.finished.emit(self.app_name)
|
||||
|
||||
__metadata_json: Dict = None
|
||||
__registry_cache: Optional[Dict] = None
|
||||
__metadata_json: Optional[Dict] = None
|
||||
|
||||
@staticmethod
|
||||
def __load_metadata_json() -> Dict:
|
||||
|
@ -632,8 +633,14 @@ class RareGame(RareGameSlim):
|
|||
|
||||
# TODO cache this line
|
||||
t = time.time()
|
||||
reg = read_registry("system.reg", wine_prefix)
|
||||
print(f"Read reg file {self.app_name}: {time.time() - t}s")
|
||||
if self.__registry_cache is None:
|
||||
RareGame.__registry_cache = {}
|
||||
if wine_prefix in self.__registry_cache.keys():
|
||||
reg = self.__registry_cache[wine_prefix]
|
||||
else:
|
||||
reg = read_registry("system.reg", wine_prefix)
|
||||
RareGame.__registry_cache[wine_prefix] = reg
|
||||
logger.debug(f"Read reg file {self.app_name}: {time.time() - t}s")
|
||||
|
||||
# TODO: find a better solution
|
||||
reg_path = reg_path.replace("\\", "\\\\").replace("SOFTWARE", "Software").replace("WOW6432Node", "Wow6432Node")
|
||||
|
|
Loading…
Reference in a new issue