File tree Expand file tree Collapse file tree 2 files changed +11
-12
lines changed
Expand file tree Collapse file tree 2 files changed +11
-12
lines changed Original file line number Diff line number Diff line change 88void UInRecordGameViewportClient::StartRecord (const int Fps)
99{
1010 m_CanRecord = true ;
11+ m_FpsInterval = 1000.0 / Fps;
12+ m_LastTime = FDateTime::Now ().GetTimeOfDay ().GetTotalMilliseconds ();
1113}
1214
1315void UInRecordGameViewportClient::StopRecord ()
1416{
1517 m_CanRecord = false ;
1618}
17- void UInRecordGameViewportClient::Tick (float DeltaTime)
19+
20+ void UInRecordGameViewportClient::Draw (FViewport* InViewport, FCanvas* SceneCanvas)
1821{
19- Super::Tick (DeltaTime);
22+ Super::Draw (InViewport, SceneCanvas);
23+
2024 if (false == m_CanRecord)
2125 {
2226 return ;
2327 }
24- m_TickRecord = true ;
25- }
26-
27- void UInRecordGameViewportClient::Draw (FViewport* InViewport, FCanvas* SceneCanvas)
28- {
29- Super::Draw (InViewport, SceneCanvas);
3028
31- if (false == m_TickRecord)
29+ auto nowTime = FDateTime::Now ().GetTimeOfDay ().GetTotalMilliseconds ();
30+ if ((nowTime - m_LastTime) < m_FpsInterval)
3231 {
3332 return ;
3433 }
35- m_TickRecord = false ;
34+ m_LastTime = nowTime ;
3635
3736 auto SceneViewport = GetGameViewport ();
3837
Original file line number Diff line number Diff line change @@ -21,8 +21,8 @@ class INVIDEO_API UInRecordGameViewportClient : public UGameViewportClient
2121 FFrameDelegate OnFrameData;
2222
2323 virtual void Draw (FViewport* InViewport, FCanvas* SceneCanvas) override ;
24- virtual void Tick (float DeltaTime) override ;
2524private:
2625 bool m_CanRecord = false ;
27- bool m_TickRecord = false ;
26+ double m_FpsInterval = 10.0 ;
27+ double m_LastTime;
2828};
You can’t perform that action at this time.
0 commit comments