RE: Patch - Win32 GVIM (SW_INVALIDATE)
- I haven't done any benchmarking, but seems to work
nicely on my Win2k box. Thanks :)
> -----Original Message-----Legal Disclaimer: Any views expressed by the sender of this message are
> From: Michael Wookey (AU) [SMTP:michael.wookey@...]
> Sent: Thursday, October 02, 2003 8:57 AM
> To: vim-dev@...
> Subject: Patch - Win32 GVIM (SW_INVALIDATE)
> I have a small patch for GVIM (Win32) that improves display performance.
> On my laptop (WinXP with nVidia graphics), half/full page scrolling in
> GVIM is quite slow due to the refresh required for the GVIM window. I
> tracked this down to src/gui_w48.c:gui_mch_delete_lines(). A comment in
> this function states:
> /* The SW_INVALIDATE is required when part of the window is covered
> * off-screen. How do we avoid it when it's not needed? */
> It is this invalidation of the window region which is the problem. The
> solution is to only use the SW_INVALIDATE flag when the GVIM window is
> obscured. To determine if a window is obscured, refer to Microsoft KB
not necessarily those of Application Solutions Ltd. Information in this
e-mail may be confidential and is for the use of the intended recipient
only, no mistake in transmission is intended to waive or compromise such
privilege. Please advise the sender if you receive this e-mail by mistake.
- Bram Moolenaar wrote:
> Also check what happens if part of the Vim window extends to below theHelmut's patch works correctly with overlapping windows. It is simply slow. When
> screen and then scroll up the text (with commands, scrollbar or mouse
> scroll wheel).
gvim is obscured by the task bar, it will leave "text trails" while scrolling,
but redraw correctly when scrolling stops.