Blender V4.3
scene_fps.cc File Reference
#include <cmath>
#include "BLI_math_base.h"
#include "DNA_scene_types.h"
#include "ED_scene.hh"
#include "MEM_guardedalloc.h"

Go to the source code of this file.

Classes

struct  FrameSample
 
struct  ScreenFrameRateInfo
 

Macros

#define FIXED_UNIT   FrameSampleT(65535)
 

Typedefs

using FrameSampleT = uint32_t
 
using FrameSumT = uint64_t
 

Functions

void ED_scene_fps_average_clear (Scene *scene)
 
void ED_scene_fps_average_accumulate (Scene *scene, const short fps_samples, const double ltime)
 
bool ED_scene_fps_average_calc (const Scene *scene, SceneFPS_State *r_state)
 

Detailed Description

Define ED_scene_fps_* functions.

Definition in file scene_fps.cc.

Macro Definition Documentation

◆ FIXED_UNIT

#define FIXED_UNIT   FrameSampleT(65535)

This values gives enough precision while not overflowing a 64-bit integer when accumulating. Compared to the same calculation with double the error rate is less than 0.5 microsecond, more than enough precision for FPS display.

Definition at line 29 of file scene_fps.cc.

Referenced by ED_scene_fps_average_calc().

Typedef Documentation

◆ FrameSampleT

Definition at line 21 of file scene_fps.cc.

◆ FrameSumT

Definition at line 22 of file scene_fps.cc.

Function Documentation

◆ ED_scene_fps_average_accumulate()

void ED_scene_fps_average_accumulate ( Scene * scene,
short fps_samples,
double ltime )

◆ ED_scene_fps_average_calc()

◆ ED_scene_fps_average_clear()

void ED_scene_fps_average_clear ( Scene * scene)

Clear run-time data for accumulating animation playback average times.

Definition at line 71 of file scene_fps.cc.

References BLI_assert, MEM_freeN(), ScreenFrameRateInfo::times_fps, ScreenFrameRateInfo::times_fps_num_set, ScreenFrameRateInfo::times_fps_sum, and FrameSample::value.

Referenced by ED_screen_animation_play().