Class: Fron::RenderProc

Inherits:
Object show all
Defined in:
opal/fron/utils/render_proc.rb

Overview

Render Proc for rendering efficiently, it uses requestAnimationFrame to limit the number of cycles.

Instance Method Summary collapse

Constructor Details

#initialize(method, verbose, message) ⇒ RenderProc

Initializes a render proc

Parameters:

  • method (Method)

    The method

  • verbose (Boolean)

    Whether or not to log render time



9
10
11
12
13
14
# File 'opal/fron/utils/render_proc.rb', line 9

def initialize(method, verbose, message)
  @running = false
  @method  = method
  @verbose = verbose
  @message = message
end

Instance Method Details

#callObject

Runs the proc



17
18
19
20
21
22
23
24
25
26
27
28
29
# File 'opal/fron/utils/render_proc.rb', line 17

def call
  return if @running
  @running = true
  request_animation_frame do
    time = Time.now
    @method.call
    if @verbose
      message = @message || "Rendered #{@method.owner}"
      logger.info "[#{(Time.now - time) * 1000}ms] #{message}"
    end
    @running = false
  end
end