TDME2
1.9.200
Main Page
Related Pages
Classes
Class List
Class Index
Class Hierarchy
Class Members
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Functions
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
~
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Typedefs
c
d
g
i
m
p
q
r
s
v
Enumerations
a
b
c
d
e
f
g
i
l
m
n
o
r
s
t
u
v
Enumerator
a
b
c
d
e
f
g
i
k
l
m
n
o
r
s
t
v
Related Functions
a
b
c
d
e
f
g
i
k
l
m
n
o
p
q
r
s
t
u
v
w
Files
File List
File Members
All
a
b
c
e
f
g
k
m
o
p
r
s
t
v
Functions
c
g
m
o
p
r
s
t
Variables
Macros
a
b
c
e
f
g
k
m
p
s
t
v
•
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Pages
src
tdme
engine
Timing.cpp
Go to the documentation of this file.
1
#include <
tdme/engine/Timing.h
>
2
3
#include <array>
4
5
#include <
tdme/tdme.h
>
6
#include <
tdme/utilities/Time.h
>
7
8
using
std::array;
9
10
using
tdme::engine::Timing
;
11
using
tdme::utilities::Time
;
12
13
Timing::Timing()
14
{
15
frame
= 0;
16
startTime
= Time::getCurrentMillis();
17
lastFrameAtTime
=
UNDEFINED
;
18
currentFrameAtTime
=
UNDEFINED
;
19
avarageFPS
= 60.0f;
20
lastFrameAtTime
=
Timing::UNDEFINED
;
21
currentFrameAtTime
=
Timing::UNDEFINED
;
22
fps
=
Timing::UNDEFINED
;
23
avarageFPS
=
Timing::UNDEFINED
;
24
for
(
auto
i = 0; i <
avarageFPSSequence
.size(); i++)
avarageFPSSequence
[i] = 60.0f;
25
}
26
27
constexpr int64_t
Timing::UNDEFINED
;
28
29
void
Timing::updateTiming
()
30
{
31
frame
++;
32
lastFrameAtTime
=
currentFrameAtTime
;
33
currentFrameAtTime
= Time::getCurrentMillis();
34
fps
= 0;
35
if
(
lastFrameAtTime
!=
UNDEFINED
) {
36
fps
= 1000.0f / ((
currentFrameAtTime
-
lastFrameAtTime
));
37
}
38
fps
++;
39
40
// avarage fps
41
avarageFPSIndex
= (
avarageFPSIndex
+ 1) %
avarageFPSSequence
.size();
42
avarageFPSSequence
[
avarageFPSIndex
] =
fps
;
43
avarageFPS
= 0.0f;
44
for
(
auto
i = 0; i <
avarageFPSSequence
.size(); i++)
avarageFPS
+=
avarageFPSSequence
[(
avarageFPSIndex
- i) %
avarageFPSSequence
.size()];
45
avarageFPS
/=
avarageFPSSequence
.size();
46
}
Time.h
Timing.h
tdme::engine::Timing
Timing class.
Definition:
Timing.h:16
tdme::engine::Timing::updateTiming
void updateTiming()
Updates timing.
Definition:
Timing.cpp:29
tdme::engine::Timing::avarageFPS
float avarageFPS
Definition:
Timing.h:28
tdme::engine::Timing::fps
float fps
Definition:
Timing.h:27
tdme::engine::Timing::avarageFPSSequence
array< float, 60 *3 > avarageFPSSequence
Definition:
Timing.h:29
tdme::engine::Timing::UNDEFINED
static constexpr int64_t UNDEFINED
Definition:
Timing.h:20
tdme::engine::Timing::currentFrameAtTime
int64_t currentFrameAtTime
Definition:
Timing.h:26
tdme::engine::Timing::startTime
int64_t startTime
Definition:
Timing.h:24
tdme::engine::Timing::lastFrameAtTime
int64_t lastFrameAtTime
Definition:
Timing.h:25
tdme::engine::Timing::frame
int64_t frame
Definition:
Timing.h:23
tdme::engine::Timing::avarageFPSIndex
int avarageFPSIndex
Definition:
Timing.h:30
tdme::utilities::Time
Time utility class.
Definition:
Time.h:20
tdme.h
Generated by
1.9.1