|
Blender V4.3
|
#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) |
Define ED_scene_fps_* functions.
Definition in file scene_fps.cc.
| #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().
| using FrameSampleT = uint32_t |
Definition at line 21 of file scene_fps.cc.
Definition at line 22 of file scene_fps.cc.
Update frame rate info for viewport drawing.
| ltime | Time since the last update, compatible with the result of BLI_time_now_seconds. |
Definition at line 92 of file scene_fps.cc.
References ceilf, float, FPS, ScreenFrameRateInfo::fps_average, ScreenFrameRateInfo::fps_target, ScreenFrameRateInfo::fps_target_is_fractional, max_ii(), MEM_callocN, MEM_freeN(), ScreenFrameRateInfo::time_curr, ScreenFrameRateInfo::time_prev, ScreenFrameRateInfo::times_fps_num, and ScreenFrameRateInfo::times_fps_num_set.
Referenced by screen_animation_step_invoke().
| bool ED_scene_fps_average_calc | ( | const Scene * | scene, |
| SceneFPS_State * | r_state ) |
Definition at line 132 of file scene_fps.cc.
References BLI_assert, error(), FIXED_UNIT, float, SceneFPS_State::fps_average, ScreenFrameRateInfo::fps_average, SceneFPS_State::fps_target, ScreenFrameRateInfo::fps_target, SceneFPS_State::fps_target_is_fractional, ScreenFrameRateInfo::fps_target_is_fractional, printf, ScreenFrameRateInfo::time_curr, ScreenFrameRateInfo::time_prev, ScreenFrameRateInfo::times_fps, ScreenFrameRateInfo::times_fps_index, ScreenFrameRateInfo::times_fps_num, ScreenFrameRateInfo::times_fps_num_set, ScreenFrameRateInfo::times_fps_sum, and FrameSample::value.
| 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().