I don't really know if this is the right place to ask this, but why can you sometimes draw with windows on Windows XP, and what causes it? You know when your machine lags, and all of a sudden, when you move a window, it leaves behind a trail? that's what I mean.
1 Answers
This is actually more suited to the Retro Computing Stack Exchange (given the age of XP), but I'll answer it anyway.
Windows XP (and earlier NT versions, NT 3.5, 4.0, 2000) had a bug in which the order of moving the window and restoring the background in the old windows position could sometimes get out of sync. Especially if you moved the windows faster than the system could render screen-updates. Which wasn't that hard to do on a relatively slow video card or if the computer was lagging due to heavy CPU load (as you noticed already).
This caused to the background being restored BEFORE (in stead of after) the last render of the window in the old position.
So after the background restore the last render of the window would overwrite the just restored background. And the Windows display-manager would only restore background once, so you where left with a trail of window-edges left behind.
If I recall correctly this got fixed with the Windows XP Media-centre Edition in 2002 and for regular XP with Service-Pack 2, which brought most updates from Media-centre to the regular XP. (XP with SP2 and the separate Media-centre appliciation where together functionaly equivalent to XP Media-Centre Edition.)
Server 2003 was based on the same core as XP Media-Centre, so it never had the bug either.
- 29,601
- 7
- 52
- 84
-
Somehow I don't entirely get this explanation. Is that actually a bug, or is it just the result of non-compositing window manager (which doesn't remember the underlying windows' contents and has to ask the apps to redraw themselves)? – u1686_grawity May 21 '20 at 12:04
-
@user1686 It was actually both. The out-of-order redraws where a bug (the XP SP2 release notes mentioned that the bug was fixed if I recall correctly). The windows-manager made sure that the drawing artifacts remains on-screen. – Tonny May 21 '20 at 12:31
-
2Hmm, if I understood the original post correctly, it's about the effect which happens when the programs running "below" are hung for whatever reason -- so it's not exactly a bug, but rather the programs being completely unable to repaint themselves in the first place, whether in correct order or not... – u1686_grawity May 21 '20 at 13:21
-
Didn’t they have an option to show dragging windows with a ghost frame? It avoided sending repaint requests to every window in the stack by xor’ing the final screen bitmap. That way it could be restored without asking for any repaint. – candied_orange May 21 '20 at 17:10
-
@candied_orange Yes, and that is very used for slower machines. Yes, even today, that option exists. And if the system is being chocked, it can still show the effect of windows dragging and staying. Ive seen it on Windows 7. On Windows 8 and 8.1, you can induce it partially by following the steps on https://www.faqforge.com/windows/transparent-window-borders-in-windows-8/. – Ismael Miguel May 21 '20 at 17:26
-
When the window is "lagging" on my laptop (runs a very cursed flavour of Debian) the windows, rather than doing this (although it can in some cases) will just go gray behind the window (its default colour). – TheAwesome98 Aug 20 '20 at 17:24