speed up tab switching

I belive this should only be noticeable at the human timescale level
when the tabs have been switched to already and, in that case, seems
to go from 3-400 msec to 50-60 msec on my machine

Essentially all of that time is in redrawing the buffer, so that 50-60
msec is proportional to the height of the DrRacket window, roughly.

(The commit just makes drracket do a single redraw instead of about 4
or so of them per switch ...)
This commit is contained in:
Robby Findler 2013-01-06 19:37:52 -06:00
parent 0b332a1761
commit 4e95220d97

View File

@ -3001,8 +3001,9 @@ module browser threading seems wrong.
(set! definitions-text (send current-tab get-defs))
(set! interactions-text (send current-tab get-ints))
(begin-container-sequence)
(send definitions-text begin-edit-sequence)
(send interactions-text begin-edit-sequence)
(for-each (λ (defs-canvas) (send defs-canvas set-editor definitions-text #f))
definitions-canvases)
(for-each (λ (ints-canvas) (send ints-canvas set-editor interactions-text #f))
@ -3027,6 +3028,8 @@ module browser threading seems wrong.
(for-each (λ (ints-canvas) (send ints-canvas refresh))
interactions-canvases)
(set-color-status! (send definitions-text is-lexer-valid?))
(send definitions-text end-edit-sequence)
(send interactions-text end-edit-sequence)
(end-container-sequence))))
(define/pubment (on-tab-change from-tab to-tab)