Skip to content

Commit c117de0

Browse files
authored
Merge pull request #16 from g0415shenw/main
优化了录像的时候,可以设置帧率
2 parents c5e9938 + f583d4a commit c117de0

File tree

2 files changed

+11
-12
lines changed

2 files changed

+11
-12
lines changed

Source/InVideo/Private/InRecordGameViewportClient.cpp

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -8,31 +8,30 @@
88
void 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

1315
void 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

Source/InVideo/Public/InRecordGameViewportClient.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff 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;
2524
private:
2625
bool m_CanRecord = false;
27-
bool m_TickRecord = false;
26+
double m_FpsInterval = 10.0;
27+
double m_LastTime;
2828
};

0 commit comments

Comments
 (0)