Changeset - f2e6d96d02de
[Not reviewed]
default
0 3 0
Drew Perttula - 8 years ago 2017-05-25 04:04:42
drewp@bigasterisk.com
minor comments and refactors, I think, except the removal of 'row update' logging made a big perf difference
Ignore-this: 24fd2d60fdfab9acc94107b02f0bc18c
3 files changed with 36 insertions and 35 deletions:
0 comments (0 inline, 0 general)
bin/collector
Show inline comments
 
@@ -61,7 +61,10 @@ class WebListeners(object):
 
        now = time.time()
 

	
 
        msg = self.makeMsg(dev, attrs, outputMap)
 
        
 

	
 
        # this omits repeats, but can still send many
 
        # messages/sec. Not sure if piling up messages for the browser
 
        # could lead to slowdowns in the real dmx output.
 
        for client, seen in self.clients:
 
            for m, t in seen.items():
 
                if t < now - 5:
light9/effect/sequencer.py
Show inline comments
 
@@ -40,7 +40,8 @@ class TwistedZmqClient(object):
 

	
 

	
 
def toCollectorJson(client, session, settings):
 
    return json.dumps({'settings': settings.asList() if isinstance(settings, DeviceSettings) else settings,
 
    assert isinstance(settings, DeviceSettings)
 
    return json.dumps({'settings': settings.asList(),
 
                       'client': client,
 
                       'clientSession': session,
 
                       'sendTime': time.time(),
light9/web/timeline/timeline.coffee
Show inline comments
 
@@ -346,8 +346,6 @@ Polymer
 
  onGraph: ->
 
    @graph.runHandler(@update.bind(@), "row notes #{@rowIndex}")
 
  update: (patch) ->
 
    console.time('row update')
 

	
 
    U = (x) -> @graph.Uri(x)
 

	
 
    notesForThisRow = []
 
@@ -366,7 +364,6 @@ Polymer
 
      child.song = @song # could change, but all the notes will be rebuilt
 
      child.zoomInX = @zoomInX # missing binding; see onZoom
 
      return child      
 
    console.timeEnd('row update')
 

	
 
  onZoom: ->
 
    for e in @children
 
@@ -802,6 +799,36 @@ Polymer
 
  updateAllCoords: ->
 
    @redraw()
 

	
 
  _adjAtPoint: (pt) ->
 
    nearest = @qt.find(pt.e(1), pt.e(2))
 
    if not nearest? or nearest.distanceFrom(pt) > 50
 
      return null
 
    return nearest?.adj
 

	
 
  resizeUpdate: (ev) ->
 
    @$.canvas.width = ev.target.offsetWidth
 
    @$.canvas.height = ev.target.offsetHeight
 
    @redraw()
 

	
 
  redraw: (adjs) ->
 
    @debounce('redraw', @_throttledRedraw.bind(@))
 

	
 
  _throttledRedraw: () ->
 
    console.time('adjs redraw')
 
    @_layoutCenters()
 
    
 
    @ctx.clearRect(0, 0, @$.canvas.width, @$.canvas.height)
 

	
 
    for adjId, adj of @adjs
 
      ctr = adj.getCenter()
 
      target = adj.getTarget()
 
      @_drawConnector(ctr, target)
 
      
 
      @_drawAdjuster(adj.getDisplayValue(),
 
                     Math.floor(ctr.e(1)) - 20, Math.floor(ctr.e(2)) - 10,
 
                     Math.floor(ctr.e(1)) + 20, Math.floor(ctr.e(2)) + 10)
 
    console.timeEnd('adjs redraw')
 

	
 
  _layoutCenters: ->
 
    # push Adjustable centers around to avoid overlaps
 
    # Todo: also don't overlap inlineattr boxes
 
@@ -829,36 +856,6 @@ Polymer
 
      output.adj = adj
 
      @qt.add(output)
 

	
 
  _adjAtPoint: (pt) ->
 
    nearest = @qt.find(pt.e(1), pt.e(2))
 
    if not nearest? or nearest.distanceFrom(pt) > 50
 
      return null
 
    return nearest?.adj
 

	
 
  resizeUpdate: (ev) ->
 
    @$.canvas.width = ev.target.offsetWidth
 
    @$.canvas.height = ev.target.offsetHeight
 
    @redraw()
 

	
 
  redraw: (adjs) ->
 
    @debounce('redraw', @_throttledRedraw.bind(@, adjs))
 

	
 
  _throttledRedraw: (adjs) ->
 
    console.time('adjs redraw')
 
    @_layoutCenters()
 
    
 
    @ctx.clearRect(0, 0, @$.canvas.width, @$.canvas.height)
 

	
 
    for adjId, adj of @adjs
 
      ctr = adj.getCenter()
 
      target = adj.getTarget()
 
      @_drawConnector(ctr, target)
 
      
 
      @_drawAdjuster(adj.getDisplayValue(),
 
                    Math.floor(ctr.e(1)) - 20, Math.floor(ctr.e(2)) - 10,
 
                    Math.floor(ctr.e(1)) + 20, Math.floor(ctr.e(2)) + 10)
 
    console.timeEnd('adjs redraw')
 

	
 
  _drawConnector: (ctr, target) ->
 
    @ctx.strokeStyle = '#aaa'
 
    @ctx.lineWidth = 2
0 comments (0 inline, 0 general)