Update RPISystem::GetCurrentTime() to use TimeSystem (#5613)

Signed-off-by: amzn-sean <75276488+amzn-sean@users.noreply.github.com>
monroegm-disable-blank-issue-2
amzn-sean 4 years ago committed by GitHub
parent dc98a56d45
commit e4563c0058
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -137,11 +137,18 @@ namespace AZ
return AZ::Interface<ITime>::Get()->GetElapsedTimeUs(); return AZ::Interface<ITime>::Get()->GetElapsedTimeUs();
} }
//! This is a simple convenience wrapper
inline TimeMs GetRealElapsedTimeMs() inline TimeMs GetRealElapsedTimeMs()
{ {
return AZ::Interface<ITime>::Get()->GetRealElapsedTimeMs(); return AZ::Interface<ITime>::Get()->GetRealElapsedTimeMs();
} }
//! This is a simple convenience wrapper
inline TimeUs GetRealElapsedTimeUs()
{
return AZ::Interface<ITime>::Get()->GetRealElapsedTimeUs();
}
//! This is a simple convenience wrapper //! This is a simple convenience wrapper
inline TimeUs GetSimulationTickDeltaTimeUs() inline TimeUs GetSimulationTickDeltaTimeUs()
{ {

@ -97,7 +97,7 @@ namespace AZ
// SystemTickBus::OnTick // SystemTickBus::OnTick
void OnSystemTick() override; void OnSystemTick() override;
float GetCurrentTime(); float GetCurrentTime() const;
// The set of core asset handlers registered by the system. // The set of core asset handlers registered by the system.
AZStd::vector<AZStd::unique_ptr<Data::AssetHandler>> m_assetHandlers; AZStd::vector<AZStd::unique_ptr<Data::AssetHandler>> m_assetHandlers;
@ -123,7 +123,6 @@ namespace AZ
// The job policy used for feature processor's rendering prepare // The job policy used for feature processor's rendering prepare
RHI::JobPolicy m_prepareRenderJobPolicy = RHI::JobPolicy::Parallel; RHI::JobPolicy m_prepareRenderJobPolicy = RHI::JobPolicy::Parallel;
ScriptTimePoint m_startTime;
float m_currentSimulationTime = 0.0f; float m_currentSimulationTime = 0.0f;
RPISystemDescriptor m_descriptor; RPISystemDescriptor m_descriptor;

@ -33,6 +33,7 @@
#include <AzCore/Debug/EventTrace.h> #include <AzCore/Debug/EventTrace.h>
#include <AzCore/Interface/Interface.h> #include <AzCore/Interface/Interface.h>
#include <AzCore/Time/ITime.h>
#include <AzFramework/Asset/AssetSystemBus.h> #include <AzFramework/Asset/AssetSystemBus.h>
@ -276,15 +277,10 @@ namespace AZ
} }
} }
float RPISystem::GetCurrentTime() float RPISystem::GetCurrentTime() const
{ {
ScriptTimePoint timeAtCurrentTick; const AZ::TimeUs currentSimulationTimeUs = AZ::GetRealElapsedTimeUs();
AZ::TickRequestBus::BroadcastResult(timeAtCurrentTick, &AZ::TickRequestBus::Events::GetTimeAtCurrentTick); return AZ::TimeUsToSeconds(currentSimulationTimeUs);
// We subtract the start time to maximize precision of the time value, since we will be converting it to a float.
double currentTime = timeAtCurrentTick.GetSeconds() - m_startTime.GetSeconds();
return aznumeric_cast<float>(currentTime);
} }
void RPISystem::RenderTick() void RPISystem::RenderTick()

Loading…
Cancel
Save