-
Notifications
You must be signed in to change notification settings - Fork 10
Expand file tree
/
Copy pathDrawCallStatForm.cpp
More file actions
75 lines (64 loc) · 2.4 KB
/
Copy pathDrawCallStatForm.cpp
File metadata and controls
75 lines (64 loc) · 2.4 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
#include "DrawCallStatForm.h"
using namespace GraphicsUI;
namespace GameEngine
{
DrawCallStatForm::DrawCallStatForm(UIEntry * parent)
: Form(parent)
{
SetText("Draw Stats");
lblFps = new Label(this);
lblNumDrawCalls = new Label(this);
lblNumWorldPasses = new Label(this);
lblNumShaders = new Label(this);
lblNumMaterials = new Label(this);
lblCpuTime = new Label(this);
lblPipelineLookupTime = new Label(this);
lblFps->Posit(emToPixel(0.5f), emToPixel(0.5f), emToPixel(20.0f), emToPixel(1.5f));
lblNumWorldPasses->Posit(emToPixel(0.5f), emToPixel(1.5f), emToPixel(20.0f), emToPixel(1.5f));
lblNumDrawCalls->Posit(emToPixel(0.5f), emToPixel(2.5f), emToPixel(20.0f), emToPixel(1.5f));
lblCpuTime->Posit(emToPixel(0.5f), emToPixel(3.5f), emToPixel(20.0f), emToPixel(1.5f));
lblPipelineLookupTime->Posit(emToPixel(0.5f), emToPixel(4.5f), emToPixel(20.0f), emToPixel(1.5f));
lblNumShaders->Posit(emToPixel(0.5f), emToPixel(5.5f), emToPixel(20.0f), emToPixel(1.5f));
lblNumMaterials->Posit(emToPixel(0.5f), emToPixel(6.5f), emToPixel(20.0f), emToPixel(1.5f));
SetWidth(emToPixel(14.0f));
SetHeight(emToPixel(10.2f));
}
void DrawCallStatForm::SetNumDrawCalls(int val)
{
lblNumDrawCalls->SetText("Draw Calls: " + CoreLib::String(val));
}
void DrawCallStatForm::SetNumMaterials(int val)
{
lblNumMaterials->SetText("Materials: " + CoreLib::String(val));
}
void DrawCallStatForm::SetNumShaders(int val)
{
lblNumShaders->SetText("Shaders: " + CoreLib::String(val));
}
void DrawCallStatForm::SetNumWorldPasses(int val)
{
lblNumWorldPasses->SetText("Passes: " + CoreLib::String(val));
}
void DrawCallStatForm::SetCpuTime(float time, float pipelineLookupTime)
{
CoreLib::StringBuilder sb(256);
sb << "Renderer CPU: " << CoreLib::String(time*1000.0f, "%.1f") << "ms";
lblCpuTime->SetText(sb.ToString());
sb.Clear();
sb << "PipelineLookup: " << CoreLib::String(pipelineLookupTime * 1000.0f, "%.1f") << "ms";
lblPipelineLookupTime->SetText(sb.ToString());
}
void DrawCallStatForm::SetFrameRenderTime(float val)
{
static int i = 0;
if (i < 2)
{
maxMs = 0.0f;
minMs = 100.0f;
++i;
}
if (val > maxMs) maxMs = val;
if (val < minMs) minMs = val;
lblFps->SetText(CoreLib::String((int)(1.0f / val)) + " fps (" + CoreLib::String(val * 1000.0f, "%.1f") + "ms)" + " [" + CoreLib::String(minMs * 1000.0f, "%.1f") + " - " + CoreLib::String(maxMs * 1000.0f, "%.1f") + "ms]");
}
}