Branch: refs/heads/3.3.x
  Home:   https://github.com/cytoscape/cytoscape.js
  Commit: bc228faf0eeae90b6dfc7f97f9845c33e8722ed4
      
https://github.com/cytoscape/cytoscape.js/commit/bc228faf0eeae90b6dfc7f97f9845c33e8722ed4
  Author: Max Franz <[email protected]>
  Date:   2019-02-13 (Wed, 13 Feb 2019)

  Changed paths:
    M src/extensions/renderer/base/coord-ele-math/rendered-style.js
    M src/extensions/renderer/canvas/texture-cache-defs.js

  Log Message:
  -----------
  Backport 3.3.x: Flush the rendered style queue on non-drawn ticks before 
texture dequeueing starts

The redraw ticks happen at any potential frame.  A tick may draw a frame, if a 
frame is requested.  A tick may just idle is no frame is requested.  This keeps 
rendering costs down during idle time.

During a drawn tick cycle, several prerequisites for drawing are executing at 
the start of the tick.  At the end of the tick, the frame is drawn.  The normal 
tick cycle does not flush the queue of dirty elements (w.r.t. rendered style 
calculations) for non-drawn ticks.  This makes sense for most cases, but it 
does not make sense for element texture caches --- which can dequeue on 
non-drawn ticks.

If an element texture cache has enqueued a request to draw an element or label, 
then the rendered style calculations must be completed prior to dequeueing.

Safari was the best browser to use to debug this, because its canvas view in 
the debugger makes it clear exactly what's happening in the caches.

Ref #2290 #2291


-- 
You received this message because you are subscribed to the Google Groups 
"cytoscape-cvs" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/cytoscape-cvs.
For more options, visit https://groups.google.com/d/optout.

Reply via email to