ManaPlus
perfstat.h
Go to the documentation of this file.
1 /*
2  * The ManaPlus Client
3  * Copyright (C) 2018-2019 The ManaPlus Developers
4  * Copyright (C) 2019-2021 Andrei Karas
5  *
6  * This file is part of The ManaPlus Client.
7  *
8  * This program is free software; you can redistribute it and/or modify
9  * it under the terms of the GNU General Public License as published by
10  * the Free Software Foundation; either version 2 of the License, or
11  * any later version.
12  *
13  * This program is distributed in the hope that it will be useful,
14  * but WITHOUT ANY WARRANTY; without even the implied warranty of
15  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16  * GNU General Public License for more details.
17  *
18  * You should have received a copy of the GNU General Public License
19  * along with this program. If not, see <http://www.gnu.org/licenses/>.
20  */
21 
22 #ifndef UTILS_PERFSTAT_H
23 #define UTILS_PERFSTAT_H
24 
25 #include "const/utils/perfstat.h"
26 
27 #include "localconsts.h"
28 
30 {
32  {
33  for (int f = 0; f < 16; f ++)
34  ticks[f] = -1;
35  }
36 
38 
39  int ticks[16];
40 };
41 
42 namespace Perf
43 {
44  void init();
45  void nextFrame();
46  void selectWorstFrame();
47  int getTime(const size_t frameId,
48  const size_t counterId);
49  int getWorstTime(const size_t counterId);
50 } // namespace Perf
51 
53 extern size_t perfFrameId;
54 extern size_t prevPerfFrameId;
55 extern int *perfFrame;
57 extern int skipPerfFrames;
58 
59 #define PERF_STAT(n) \
60  perfFrame[n] = tick_time
61 
62 #define PERF_NEXTFRAME() \
63  Perf::nextFrame()
64 
65 #endif // UTILS_PERFSTAT_H
static const size_t PERFSTAT_MAX
Definition: perfstat.h:27
#define final
Definition: localconsts.h:46
#define A_DEFAULT_COPY(func)
Definition: localconsts.h:41
int getWorstTime(const size_t counterId)
Definition: perfstat.cpp:122
int getTime(const size_t frameId, const size_t counterId)
Definition: perfstat.cpp:111
void nextFrame()
Definition: perfstat.cpp:62
void selectWorstFrame()
Definition: perfstat.cpp:84
void init()
Definition: playerinfo.cpp:434
int ticks[16]
Definition: perfstat.h:39
PerfStats()
Definition: perfstat.h:31
PerfStats worstFrameStats
Definition: perfstat.cpp:35
size_t prevPerfFrameId
Definition: perfstat.cpp:33
int * perfFrame
Definition: perfstat.cpp:34
int skipPerfFrames
Definition: perfstat.cpp:37
size_t perfFrameId
Definition: perfstat.cpp:32
PerfStats perfStats[PERFSTAT_MAX]
Definition: perfstat.cpp:30