[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
- To: info-mcl
- Subject: clip joints.....
- From: firstname.lastname@example.org (Tom McDermott)
- Date: 23 Feb 93 00:59:46 GMT
- Followup-to: comp.lang.lisp.mcl
- Newsgroups: comp.lang.lisp.mcl
- Organization: UTS, Sydney, Australia.
I'm using scrolling-windows. My scrolling-window contains a
scroller, which in turn contains a whole bunch of static-text-dialog-items.
If I have more than about 100 of these static-text items, scrolling
becomes very, very slow (half a second/line of scrolling).
The problem seems to be that view-draw-contents is being called for
the static-text items *way to often* - even if they aren't on the screen,
or haven't changed. I can get a 50% speed up just by checking if the
static-text items are inside the visible part of the window (*).
What I'd like to do is find the portion of the window that is both
visible and needs to be updated. Neither clip-region, or view-clip-region
(undocumented) are what I want - they just correspond to the whole visible
part of the window.
(*): I do this by checking the static-text-dialog-item sits inside the
rectangle formed by (scroll-position my_scroller) and (add-points
(scroll-position my_scroller) (view-size my_scroller)).