Optimize DateTime include in StreamableResource

This commit is contained in:
Wojtek Figat
2021-07-02 15:39:48 +02:00
parent 891961b03b
commit b367be2b12
2 changed files with 6 additions and 10 deletions

View File

@@ -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<float, 5> QualitySamples;
};
@@ -118,7 +117,7 @@ public:
/// </summary>
void RequestStreamingUpdate()
{
Streaming.LastUpdate.Ticks = 0;
Streaming.LastUpdate = 0;
}
protected:

View File

@@ -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--;