diff --git a/Source/Engine/Streaming/StreamableResource.h b/Source/Engine/Streaming/StreamableResource.h index a27833149..27551b850 100644 --- a/Source/Engine/Streaming/StreamableResource.h +++ b/Source/Engine/Streaming/StreamableResource.h @@ -2,7 +2,6 @@ #pragma once -#include "Engine/Core/Types/DateTime.h" #include "Engine/Core/Collections/SamplesBuffer.h" class StreamingGroup; @@ -105,9 +104,9 @@ public: struct StreamingCache { - DateTime LastUpdate = 0; + int64 LastUpdate = 0; int32 TargetResidency = 0; - DateTime TargetResidencyChange = 0; + int64 TargetResidencyChange = 0; SamplesBuffer QualitySamples; }; @@ -118,7 +117,7 @@ public: /// void RequestStreamingUpdate() { - Streaming.LastUpdate.Ticks = 0; + Streaming.LastUpdate = 0; } protected: diff --git a/Source/Engine/Streaming/Streaming.cpp b/Source/Engine/Streaming/Streaming.cpp index 386cc83f3..04bfa1df2 100644 --- a/Source/Engine/Streaming/Streaming.cpp +++ b/Source/Engine/Streaming/Streaming.cpp @@ -130,17 +130,14 @@ void UpdateResource(StreamableResource* resource, DateTime now, double currentTi auto allocatedResidency = resource->GetAllocatedResidency(); auto targetResidency = handler->CalculateResidency(resource, targetQuality); ASSERT(allocatedResidency >= currentResidency && allocatedResidency >= 0); - - // Assign last update time - auto updateTimeDelta = now - resource->Streaming.LastUpdate; - resource->Streaming.LastUpdate = now; + resource->Streaming.LastUpdate = now.Ticks; // Check if a target residency level has been changed if (targetResidency != resource->Streaming.TargetResidency) { // Register change resource->Streaming.TargetResidency = targetResidency; - resource->Streaming.TargetResidencyChange = now; + resource->Streaming.TargetResidencyChange = now.Ticks; } // Check if need to change resource current residency @@ -233,7 +230,7 @@ void StreamingSystem::Job(int32 index) const auto resource = Resources[LastUpdateResourcesIndex]; // Try to update it - if (now - resource->Streaming.LastUpdate >= ResourceUpdatesInterval && resource->CanBeUpdated()) + if (now - DateTime(resource->Streaming.LastUpdate) >= ResourceUpdatesInterval && resource->CanBeUpdated()) { UpdateResource(resource, now, currentTime); resourcesUpdates--;