19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
# File 'lib/termfront/adaptive_render_rate.rb', line 19
def observe(spent)
if spent > Config::FRAME_DT * OVER_BUDGET_RATIO
@over_budget_count += 1
@under_budget_count = 0
if @over_budget_count >= DOWNSHIFT_FRAMES && @current_dt < Config::RENDER_DT_LOW
@current_dt = Config::RENDER_DT_LOW
end
elsif spent < Config::FRAME_DT * UNDER_BUDGET_RATIO
@under_budget_count += 1
@over_budget_count = 0
if @under_budget_count >= UPSHIFT_FRAMES && @current_dt > Config::RENDER_DT
@current_dt = Config::RENDER_DT
end
end
end
|