30#define FIXED_UNIT FrameSampleT(65535)
37#ifdef USE_DEBUG_REPORT_ERROR_MARGIN
49#ifdef USE_DEBUG_REPORT_ERROR_MARGIN
95 const float fps_target =
float(scene->frames_per_second());
96 const int times_fps_num = (fps_samples > 0) ? fps_samples :
max_ii(1,
int(
ceilf(fps_target)));
111 if (fpsi ==
nullptr) {
120 const double decimal_places = 100.0;
122 (std::round(fps_target * decimal_places) / decimal_places);
136 if (fpsi ==
nullptr) {
158 const double fps_curr_db = std::round(fps_sample *
double(
FIXED_UNIT));
165#ifdef USE_DEBUG_REPORT_ERROR_MARGIN
176#ifdef USE_DEBUG_REPORT_ERROR_MARGIN
178 double fps_average_ref = 0.0f;
180 fps_average_ref += fpsi->
times_fps[
i].value_db;
185 fpsi->error_sum +=
error;
186 fpsi->error_samples += 1;
187 if ((fpsi->error_samples % 100) == 0) {
188 printf(
"%s error: %.16f over %d samples (average %.16f)\n",
192 fpsi->error_sum /
double(fpsi->error_samples));
MINLINE int max_ii(int a, int b)
Read Guarded memory(de)allocation.
unsigned long long int uint64_t
void * MEM_callocN(size_t len, const char *str)
void MEM_freeN(void *vmemh)
static void error(const char *str)
void ED_scene_fps_average_clear(Scene *scene)
bool ED_scene_fps_average_calc(const Scene *scene, SceneFPS_State *r_state)
void ED_scene_fps_average_accumulate(Scene *scene, const short fps_samples, const double ltime)
bool fps_target_is_fractional
bool fps_target_is_fractional