From 858cab95f20b3d6cd9c724461e67d3ce1b4c31ce Mon Sep 17 00:00:00 2001 From: dexyfex Date: Sun, 26 Nov 2017 21:31:45 +1100 Subject: [PATCH] RenderableCache performance improvement --- Rendering/RenderableCache.cs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/Rendering/RenderableCache.cs b/Rendering/RenderableCache.cs index 635ff57..d428304 100644 --- a/Rendering/RenderableCache.cs +++ b/Rendering/RenderableCache.cs @@ -221,11 +221,13 @@ namespace CodeWalker.Rendering public long CacheUse = 0; public double CacheTime; public int LoadedCount = 0;//temporary, per loop + private long LastFrameTime = 0; public RenderableCacheLookup(long limit, double time) { CacheLimit = limit; CacheTime = time; + LastFrameTime = DateTime.UtcNow.ToBinary(); } public int CurrentLoadedCount @@ -315,6 +317,7 @@ namespace CodeWalker.Rendering public void RenderThreadSync() { + LastFrameTime = DateTime.UtcNow.ToBinary(); TVal item; while (itemsToUnload.TryPop(out item)) { @@ -339,7 +342,7 @@ namespace CodeWalker.Rendering item.Init(key); cacheitems.Add(key, item); } - Interlocked.Exchange(ref item.LastUseTime, DateTime.UtcNow.ToBinary()); + Interlocked.Exchange(ref item.LastUseTime, LastFrameTime); if ((!item.IsLoaded) && (!item.LoadQueued))// || { item.LoadQueued = true;