View Issue Details
|ID||Category||Date Submitted||Last Update|
|0001291||bugs||2006-11-03 16:41||2007-02-23 16:59|
|Fixed in Version|
|Summary||0001291: Redraw of "tape" tracks is very slow when zooming|
Zooming a session with "tape" mode tracks results in a very slow screen redraw. The same number of "normal" tracks will redraw quickly.
|Tags||No tags attached.|
||vertical scrolling is also painfully slow on larger sessions|
what we know about this bug:
it is caused by the region gain lines being set up with two control points, one at frame zero, the other at max_frames. when the canvas does an update on canvas objects (which affects hidden objects as well as visible ones), this cause the Canvas::Line object to compute a list of "micro-tile-arrays" (UTA, 32x32 pixel blocks) to span the entire distance from 0 ... 2^32-1, which consumes vast amounts of memory and a lot of CPU cycles as the list is scanned.
it is likely that Cairo will handle this better, and its possible to comment out the creation of the gain line without side-effects.
next step: check if Cairo handles this properly. if so, defer till we use a Cairo canvas. if not, figure out a "real" solution.