[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Problem ... very slow scrolling.
From: |
Adam Fedor |
Subject: |
Re: Problem ... very slow scrolling. |
Date: |
Thu, 31 Jan 2002 11:34:06 -0700 |
User-agent: |
Mozilla/5.0 (X11; U; Linux ppc; en-US; rv:0.9.7) Gecko/20020120 |
Richard Frith-Macdonald wrote:
Looking at the code for NSCopyBits(), it uses DPScomposite, which (in
the xgps backend)
grabs an image from the source, manipulates it (alpha support etc), puts
the result in
another image and writes that to the destination. This means that, far
from NSCopyBits()
being a fast function to shift parts of a view around, it's actually
rather slow.
Actually it already does this. When the operation is NSCompositeCopy, it
calls the copyBits:fromRect:toPoint: method. The slow scrolling (in this
case) is caused in GWorkspace iteself by an unecessary(*) call to
setNeedsDisplay:
GWorkspace/Viewers/IconsViewer/IconsPanel.m:712
(gwscrollView:scrollViewScrolled:hitPart:)
(*) I say unecessarily warily as taking this line out exposes some odd
scrolling bug which causes the display to get messed up when scrolling
continuously (but gets cleaned up if you just click outside the scroller
knob).
--
Adam Fedor, Digital Optics | I'm glad I hate spinach, because
http://www.doc.com | if I didn't, I'd eat it, and you
http://www.gnustep.org | know how I hate the stuff.