
Why did moving the mouse cursor cause Windows 95 to run more quickly? - folli
https://retrocomputing.stackexchange.com/questions/11533/why-did-moving-the-mouse-cursor-cause-windows-95-to-run-more-quickly
======
UI_at_80x24
This wasn't just restricted to COM port based I/O either. Back then I had a
Logitech bus mouse. The mouse was connected directly to an ISA card, and
didn't use the COM ports as most mice did back then. (I needed the extra COM
port/IRQ for my modems.)

I too witnessed the 'windows is running slow when installing' bug. I often
would use the mouse cursor to 'mark' the position of the loading bar (we
really are spoiled for speed these days). That way when I would walk-away from
an install I could see if the progress meter moved while I was away. More
often then not the progress bar would still be where it was when I had left.
By moving the mouse activity would return and the installation would continue.

I always assumed it was the graphics that were not being updated. A small bug
with the install would keep running but the lack of input interrupts caused
the display to get 'stuck'. (That would explain the sudden 'jump' in progress
bar movement as soon as I wiggled the mouse.)

~~~
samstave
Get off my lawn!

But what newbies will bever know the heck of: dip switch settings for IRQ for
modems.

Thats what literally got me ___into_ __computers...

In order to dial up BBSs and play tthe Pit and dl warez.

—-

Ive told this story before, but in about 1992? Or so - i got grounded for a
month because i had been calling in long distance to a bbs in san jose to play
the pit - and racked up a long distance bill of $926 - my dad was livid.

He yelled at me and said “why are you wasting all this time with computers!
Its never going to do anything for you!”

Years later after i became successful with yee olde computerz! He apologized
to me and said “im sorry i yelled at you for that time you cost me all that
money in long distance charges.”

~~~
mr_toad
> But what newbies will bever know the heck of: dip switch settings for IRQ
> for modems.

And dip switches to set hard drives to primary/secondary. Get that wrong and
your machine didn’t boot.

~~~
corrigible
And making sure ATM0(?) was sent so that the modem was quiet...

------
kees99
A somewhat similar effect is alive and well on Android: background processes
run measurably faster while user holds/moves their finger across the screen,
and couple of seconds thereafter.

Mechanism is a bit different though: SufraceFlinger process that is
responsible for acquiring touchscreen input, temporarily boosts CPU and GPU
frequencies to make sure screen animations are nice and fluid.

~~~
ben_w
A previous employer of mine explicitly requested this behaviour in their app.
The app showed a map, and could align map north with compass north; to save
battery, it would drop to an incredibly low frame rate (1fps?) about one
second after your finger left the screen. It achieves the power goal, and has
a high rating in the App Store, so I learned something about user requirements
and being humble from this experience.

~~~
mehrdadn
Question (I don't know how Android works) -- how is there even a "frame rate"
for a map that isn't moving? Shouldn't it not be doing anything at all when
nobody is touching anything?

~~~
markdown
> could align map north with compass north

Maybe the map turns as you turn so as to maintain compass north.

~~~
ben_w
Just to confirm: yes, that is exactly what I meant.

~~~
mehrdadn
Oh I see, it was supposed to align in real time, I missed that. Thanks.

------
JoeAltmaier
Further, when installing, it would hang at some point without any sign of a
prompt but would instantly continue if the mouse were moved. You could easily
test this - turn your mouse upside-down during install and wait (to avoid any
incidental mouse motion due to desk vibration etc).

Told my IT friend who was loading my machine and he said "you're confused;
I've installed hundreds of times and never seen that". So I turned his mouse
upside down and waited. Voila! It hung.

~~~
chadcmulligan
I recall quite a few times having to send a message to the message queue in
code I'd written for this reason. I forget why though - someone can probably
remind me, if I didn't send a message it would just stop.

------
FillardMillmore
Here I was thinking this was some sort of urban myth caused by superstitions
in an age with less abundance of easily accessible tech information.

Guess I owe my dad an apology now.

~~~
air7
Me too. What a humbling slap-in-the-face, no? Sometimes when an idea sounds
silly, _and_ comes from a less technical person, one might disregard it even
though it's easily testable/provable.

~~~
butisaidsudo
I love these kind of issues, here are two classics:

\- Open Office won't print on Tuesdays:
[https://bugs.launchpad.net/ubuntu/+source/cupsys/+bug/255161...](https://bugs.launchpad.net/ubuntu/+source/cupsys/+bug/255161/comments/28)

\- Can't send email more than 500 miles:
[http://web.mit.edu/jemorris/humor/500-miles](http://web.mit.edu/jemorris/humor/500-miles)

~~~
hn_throwaway_99
One thing about the famous "500 miles" post that I realized doesn't make
sense:

\----

An odd feature of our campus network at the time was that it was 100%
switched. An outgoing packet wouldn't incur a router delay until hitting the
POP and reaching a router on the far side. So time to connect to a lightly-
loaded remote host on a nearby network would actually largely be governed by
the speed of light distance to the destination rather than by incidental
router delays.

Feeling slightly giddy, I typed into my shell:

$ units 1311 units, 63 prefixes

You have: 3 millilightseconds You want: miles * 558.84719 / 0.0017893979

\----

But surely for Sendmail to register a "connect" with a remote SMTP server
would require at least one (or many?) round trips to the remote server, so
one-way speed of light time doesn't seem like it would really be relevant. Am
I missing something?

~~~
NateEag
Possibly the introduction wherein the author says:

"The story is slightly altered in order to protect the guilty, elide over
irrelevant and boring details, and generally make the whole thing more
entertaining."

If memory serves he goes into further detail about the alterations and some
common objections to the story in his FAQ:

[https://www.ibiblio.org/harris/500milemail-
faq.html](https://www.ibiblio.org/harris/500milemail-faq.html)

------
_trampeltier
From a comment: Try opening a large file with Notepad on a contemporary
machine. The window must not be full screen. When loaded, mark all text using
the mouse (the keyboard works as well, it just needs more manual skill). While
still holding the button down (and marking) move the mouse down, so the text
gets marked and scrolled. Now compare the scroll speed while holding the mouse
still versus wiggling it. Depending on your machine the speed up can be
several times faster.

It's not just Notepad :-) I do this often, when I have to mark a lot of
things.

~~~
shawnz
It's not clear that this is caused by the same effect. A commenter suggests
that this behaviour is actually due to how mouse acceleration affects
scrolling speed which I am more inclined to believe.

~~~
kllrnohj
Yeah there is no way this has anything to do with the same behavior. What's
likely happening is there's a delay in auto-scroll, and by generating new
mouse events your triggering manual scrolls at a higher rate (or in addition
to?) than auto-scroll.

------
DonHopkins
When I used to hang out at Radio Shack in the mall to play on a TRS-80's after
school, they would draw a pair of asterisks in the corner of the screen and
occasionally flash one of them on and off, as they loaded from cassette tape.

One of the older kids who hung out there would tell us newer kids that we
could speed up loading by repeatedly pressing the up arrow key on the
keyboard.

Of course us new kids didn't realize that the loading speed was completely
determined by the cassette tape speed, which the keyboard couldn't possibly
affect.

But at least it gave us something to do while waiting, and the older kids
something to laugh at.

~~~
nemo44x
Reminds me back in the day using a file sharing/community program called
Caraccho (for Mac) - similar to Hotline. Often people would queue up on
someone's server (running of their desktop computer) to download a file since
the server admin could set how many concurrent downloads from all users were
allowed. Folks would send messages to people saying that if they hit Command-Q
it makes the client run in "quick mode" which will speed up their download. Of
course some folks would fall for this and you'd see their name drop off the
server, moving everyone up 1 spot in the queue. Super effective for users that
had not setup an avatar indicating they were new to the system and would fall
for anything once.

~~~
birdman3131
Reminds me of the runescape cheat of alt+f4

~~~
glenneroo
I'm confident that the Alt+f4 cheat-code was around before Runescape ;) It was
inevitably told to every new member at our LAN parties in the late 90s - the
few who knew were often assigned admin duty to diagnose network/PC problems
(which were frequent).

------
snarfy
It's this bit of code:

    
    
        while(GetMessage(&msg, NULL, 0, 0) > 0)  
        {
            TranslateMessage(&msg);
            DispatchMessage(&msg);
        }
    

The mouse isr would cause a loop like this to execute at some point,
processing all the messages on the queue. Win95 had preemption, but it ran at
100hz. Moving the mouse caused additional queue processing on top of the time
sliced preemption.

~~~
cantstop
At that time, it was more like the 75mhz range.

~~~
achandlerwhite
Note he said 100hz not mhz. Essentially 100 times per second the message queue
would process but if you moved the mouse it would process faster.

~~~
the-dude
And the BSDs and Linux also have the HZ parameter for scheduling and for a
long time the default has been as low as 100 Hz.

Not sure what the current status quo is.

~~~
kllrnohj
Linux's default varies per architecture & platform. For a long, long time on
ARM it still defaulted to 100hz. I think it's more like 250hz or 500hz now?
You'll also see x86 desktop-focused build set it to 1000hz.

But scheduling happens far more often than this tick rate, too, so it's only
preemption for busy threads and controls the timing windows for things like
DVFS.

------
TeMPOraL
Ah, the operant conditioning of software.

To this day, when waiting for some long or compute-intensive operation, I tend
to instinctively move the mouse around. I guess this may be why.

Ironically, even though I grew up on Windows, I don't remember any actual case
of "moving the mouse speeds thing up" on this OS - I only remember the
infamous Linux cases (mouse move regenerates entropy, unblocking processes
that got stuck when generating a random number call). But there must have been
something, and I must have experienced it early enough in my childhood.

~~~
DonHopkins
While running emacs over a modem to arpanet or dialup, I got into the habit of
regularly typing ^A ^E to pace my cursor back and forth across the current
line, to keep the connection and emacs warm.

(Like a caged leopard or mad scientist pacing back and forth.)

I could feel how responsive the connection and emacs were over time by the
delay between typing and seeing the cursor move. Both the network and emacs
contributed to the feeling:

There was the overall "weather" of the network: sometimes sunny and fast,
sometimes sprinkled with light delays, and sometimes stormy congestion. Then
there were occasional incidents that came and went, like network hiccoughs and
emacs paging and grinding. And then there was the overall load of the system,
which gave you the baseline delay (which gave it a very tactile day -vs- night
feeling, since you got more of the machine to yourself during the night when
it felt snappy, but it felt sluggish during the day).

It really felt like either the network, emacs, or both would fall asleep if
you didn't keep them warm and lavish them with attention.

A VAX 11/780 running Gosling Emacs over a dialup had a very different feel
than a PDP-10 running ITS Emacs over the arpanet. The busy VAX was bursty and
had a lot of bumpy paging -- you had to keep your buffers warm or they would
all get paged out and it would take a long time to wake back up, but there was
no network delay from the direct dialup. While the PDP-10 ran smoothly like a
well lubricated steam locomotive, sometimes slowing down when busy, but
hovering around same speed instead of bursting, and the delay was mostly the
feel of arpanet congestion and imps dozing off.

(Or so I imagined. I had a lot of time to sit and think while waiting for the
cursor to move again, and the mind wanders and wonders what's happening...)

TOPS-20 had a wonderful ^T keyboard interrupt that you could type to instantly
show the system load and time. (But of course you couldn't use that in emacs,
which puts the tty into raw mode.)

Somebody at the university implemented ^T to 4.2 BSD on the cs department's
busy VAX 11/780, by modifying the tty driver. But initially, there was no
limit to how often you could type it, and calculating the current system load
wasn't a trivial operation.

So on a fast terminal, if you held down and auto-repeated ^T, it would bring
the entire system to its knees, and you could watch the load go up and up and
up as you caused it to! Very satisfying indeed.

Eventually they put in a one-per-second limit on ^T.

~~~
TeMPOraL
> _While running Emacs over a modem, I got into the habit of regularly typing
> ^A ^E to pace my cursor back and forth across the current line, to keep
> connection warm._

Huh. I got into that habit _recently_ , because over the past year, I've been
frequently working on the go, by SSH-ing to my home desktop and using Emacs
terminal frame (emacsclient -t)[0]. I do regular "weather checks" with ^A and
^E - because the hardware has its weather, SSH has its weather, and the link
I'm on has its own weather too (particularly when using an LTE hotspot, though
I've noticed even when being in the same LAN, the response time is not always
consistent).

What's old is new again :).

\--

[0] - With terminal emulators supporting 256 colors, it looks very similar to
the GUI Emacs. This mode of working is really quite good, and lets me use my
underpowered sidearm 2-in-1 tablet/netbook to do things that would ordinarily
require powerful hardware.

~~~
bostik
My ISP drops SSH connections (actually any TCP connections) that have been
idle for too long. I have worked around that by adding

    
    
      Host *
      ServerAliveInterval <suitable number>
    

to my SSH client config. Works wonders.

------
userbinator
Sorry, but I'd just like to point out that top answer (about async I/O in
Win95) is wrong and sounds like someone repeating something he (mis)heard
once.

I actually wrote apps in the Win95 days, and I can say that async (i.e.
overlapped) I/O, which seems to be what he's talking about in the rest of the
answer about IO completions, basically does not exist at all on the Win9x
series; it was an NT-exclusive feature. There were some bits and pieces that
seemed to work somewhat from what I remember, but to quote my trusty old
WIN32.HLP regarding the ReadFile function:

"Windows 95

For asynchronous read operations, hFile can be a communications resource,
mailslot, or named pipe handle opened with the FILE_FLAG_OVERLAPPED flag by
CreateFile, or a socket handle returned by the socket or accept functions.
_Windows 95 does not support asynchronous read operations on disk files._ "

...so his example about file copying and installers is invalidated. The
correct answer(s) are of course lower down on the page and in the comments,
where everyone talking about "pumping the message loop" gets it right.

The second anecdote about scrolling behaviour also hits vaguely beside the
point; it has nothing to do with multitasking, is only tangentially related to
"pumping the message loop", and can be explained very simply: moving the mouse
causes a WM_MOUSEMOVE message to be sent to the window, containing the new
coordinates of the cursor. The edit control that Notepad is composed of
handles this message when in selection mode by checking if the position is
outside of the control, and scrolls appropriately by a single amount if so. If
you continue moving the mouse outside the control with a selection
highlighted, the generation of WM_MOUSEMOVE continues, and thus the scrolling
too. Stop moving the mouse, and the scrolling stops. There is nothing else to
it. Other controls/windows (e.g. browsers) may handle this select-scroll
behaviour differently; some will start a timer that continues to issue scroll
messages as long as you hold down the button, and some even fancier ones will
vary the rate of the timer depending on how far from the control's edge the
current position is (so you can adjust the auto-scrolling speed easily.)

Only the third answer is when we start getting closer to an accurate
explanation, the fourth answer about WM_TIMER is quite off-the-mark, and then
the rest of them vary in accuracy between "close, but not quite" and "no, just
no."

(Incidentally, this is also one of the reasons I don't use SE/SO.)

------
Tade0
I remember when I was a kid that I used this "hack" to speed up installations.

If I moved the mouse the HDD would spin furiously but once the mouse stopped
it would resume trickling the writes/reads again.

~~~
segfaultbuserr
"large applications that could take an hour to install could be reduced to 15
minutes with suitable mouse input."

------
raxxorrax
So in today's world... why do so many PCs emit a slight sound when moving the
mouse. I know that there are high frequencies involved and periphery is one of
the worst perpetrators of electromagnetic interference, but I still find that
strange. And what exactly is emitting the sound here?

~~~
blihp
Generally it's cheap/poorly designed audio amplifier circuits. Even though
modern PC audio is mostly digital, the final stage (getting sound out the
speaker) is still analog. If the motherboard designer isn't careful about how
they place/isolate/ground the analog audio circuitry, it can pick up some of
the PC's stray high frequency noise which gets worse the more you turn up the
volume since now the noise gets amplified too.

A work around if you have a motherboard that is particularly bad about this is
to use the digital audio output (S/PDIF via an optical or RCA jack) to connect
an external amplifier or you could stream it via software. This tends to only
be an option if the machine is stationary and not terribly realistic for
people with a laptop on the go.

~~~
shawnz
They claim the PC is emitting the sound, not their speakers. So they are
likely describing coil whine, not interference.

~~~
blihp
You're assuming a precision in their post that I wasn't (i.e. that it's
actually coming from the PCB, rather than 'the collection of parts called a PC
sitting in front of me'... which would include the speakers for most people)

~~~
vageli
> You're assuming a precision in their post that I wasn't (i.e. that it's
> actually coming from the PCB, rather than 'the collection of parts called a
> PC sitting in front of me'... which would include the speakers for most
> people)

For what it's worth, this _is_ hacker news. I concede not everyone is tech
savvy but I tend to respond to comments as if they are.

------
yason
Making a huge selection with mouse in LibreOffice spreadsheets even today goes
faster if you move the mouse while dragging one endpoint of the selection over
the spreadsheet borders which causes the sheet to scroll. Likely the very same
cause: there's a timer or other repeating tick to scroll content at a
reasonable speed but the sheet is also scrolled when input events wake up the
same loop.

~~~
consp
I remember this with any selection in windows on at least 3.1/95/98/SE.

This happened if you kept the mouse just inside the window and moved it about
10-20px up and down in/out pf the window in the direction of the selection.

It was a way for me to scroll faster than with the wheel or cursors on web
pages if you selected some text and then kept the selection on the end of the
screen and moved the mouse wildly in the edge of the screen.

As I was younger then, there was probably a better solution to do this but I
was not aware of it.

------
analog31
We had a milling machine that ran from Win95, and we had to discipline
ourselves not to move the mouse when it was milling a complex shape. Otherwise
the machine would stutter and give us a nasty finish on the machined part.

------
satysin
I remember writing documentation circa 2002 for a development environment that
required Visual Studio 6.0 and as part of the install notes I wrote something
along the lines of -

"During installation constantly move the mouse in a circular motion over the
installation window. This speeds up installation roughly 2-3x"

Good times :)

------
inflatableDodo
In some applications with scrolling work areas, I'd end up trying to move it
in pixel perfect straight lines when dragging stuff past the visible work
area, so as to speed up the refresh _and_ keep the mouse in the part of the
border where you get maximum scrolling speed.

I always assumed that Windows95 was just scared of mice, so if you shook one
at it, it would either run faster in fear, leaving a trail of random disc
sectors, or suddenly hide under its special blue blanket and refuse to come
out again.

------
dbtx
I have a terrifically annoying bug that shows up somewhere between X and GTK
and all Gecko-based browsers. While I'm scrolling down in a web page with the
mouse wheel, within a few seconds the page will stop moving. The mouse will
still move around, but it will stop changing its cursor based on hovered
elements, and further mouse actions will do nothing. It will unjam itself
something like 30 seconds later if I wait, or immediately if I press any key.
Then all the queued mouse events will rush through at once, so if the key I
hit was Ctrl, the page's contents zoom out and I have to reset it. If I hit
Shift, it walks back through the history and I lose my place. So I was hitting
Alt for a while, besides shopping for a distro.

I couldn't debug it normally, or even get a clue about which package needs to
be downgraded, because I can't pop over to the terminal without unjamming it.
So I'd need another machine with which to SSH in, and those are all unusable
ATM (well, I probably just needed to suck it up and install SSH on the phone).
But ${somehow} I found out that triggering a redraw with ${something} also
unjams it, so I set the clock in the XFCE panel (also GTK, FWIW) to display
seconds as well. Now it still jams but always for less than a second.

~~~
dbtx
> ${somehow}, ${something}

Sorry, something resurfaced-- I think I remember now that I switched on
seconds for the sake of finding out more precisely how long a jam would last.
Immediately it became obvious that they didn't last long anymore, and that the
reason it used to be "30-ish seconds" was whenever the _minutes_ finally
changed, it broke loose just the same way.

~~~
dbtx
Hmm, it goes away if I use Fluxbox instead of XFCE. Neat.

------
jaggednad
Wow, I remember doing this as a kid and thinking to myself that I was being
stupid because surely wiggling the mouse would make the computer have to
process more input and actually slow down whatever I was impatiently waiting
for. I still did it though, because I _felt_ like it made things go faster.
Turns out that intuition was right. Funny how we can learn to do things that
actually work even when our conscious mind doesn’t believe they do.

------
RyJones
This reminds me of using NUM LOCK to see if your CPU was responding to the A20
interrupt.

~~~
glenneroo
And this reminds me of when I accidentally figured out playing MOD sound files
in DOS 6 with a new and especially beautiful STM/MOD player at the time would
sound considerably better from my 486's PC speaker if I pressed the
pause/break key to literally lock up the system. Apparently the player would
buffer enough of the song that even though everything froze up, the sound
would continue playing. I couldn't afford a dedicated Soundblaster/Gravis
sound card but I still pined to hear all the amazing music coming out from the
demo scene. The quality of course wasn't comparable to a dedicated soundcard
but it was still a huge improvement over the typical beeps/bloops of the
built-in PC speaker.

~~~
core-questions
Ooh, which MOD player? I was partial to Cubic Player, and before that VP
(Visual Player), which was the first place I ever saw an oscilloscope.

4 channels realtime audio + 5 osc's on a 286 out the PC speaker. Phenomenal.
Sounded like shit until I got a Sound Blaster, though....

~~~
myself248
Galaxy 2.12 (glx212.zip) is my favorite for pre-386 machines. It'll do
remarkable things with a covox or even pc speaker, and realtime FFT (not faux
bouncing bars, either!) to boot!

------
Kurakuan
Sometimes the software itself may even just be designed that way too.
[https://thedailywtf.com/articles/Hidden-Tax-
Moves](https://thedailywtf.com/articles/Hidden-Tax-Moves)

------
hwj
From the answer on Stack Exchange:

> The effect was quite pronounced; large applications that could take an hour
> to install could be reduced to 15 minutes with suitable mouse input.

------
kazinator
In 1986, some computer graphics researchers in California (namely Conrad
Huang, Ken Arnold, and Greg Couch at U. of California, San Francisco, Computer
Graphics Lab) wrote a multi-player TTY game called hunt.

The game of hunt is clocked by the arrival of events. So that is to say, the
arrival of packets from the game clients into the server drives the game
forward. The more furiously people play and the more players there are, the
more rapid is the movement of automatic objects, like shots traversing through
the maze.

I last played this in 1995. I had a WYSE 50 terminal hooked up to a Linux box
and played with a friend. One of us was on the console, one on the terminal.

I remember I had to patch something socket-related in the source code to get
it working.

------
mcguire
Entertaining, but probably unrelated: there was a systems paper from the late
'90s or early 2000s (SOSP?) where the authors used an extremely low priority
process recording timestamps to instrument system behavior. Basically, because
the process wouldn't run if anything else was runnable, it wouldn't generate
its periodic timestamps. As a result, they could easily see relatively low-
level details about system CPU behavior.

One thing they discovered was that Windows 95 would enter a tight CPU polling
loop if you held the mouse button down. So, don't do that.

[Edit: dammit, I cannot find the paper. Sorry. It was really interesting.]

------
zellyn
I definitely remember seeing scrolling-is-faster-if-you-wiggle-the-mouse on
Linux too, back in the day, and being surprised that a bug (? misfeature?)
like that would show up on such different stacks.

~~~
blihp
Back in the day it wasn't a bug, but rather more of a cheat to make your
system feel faster than it really was: if the system actually gave the UI a
fair share of CPU cycles, the system would feel incredibly sluggish.
Conversely, if it gave the UI the lions share of CPU, nothing would ever get
done in the background. So it compromised and gave the UI preferential
treatment when the user was active (i.e. when there was recent mouse/keyboard
activity), and a more fair allocation when they weren't so other things could
get done.

------
dec0dedab0de
I used to open the CD drive when the entire computer would freeze up. I wonder
if its the same thing.

~~~
DigitalVerse
Same here! I can't remember if I did the moving mouse thing, but I definitely
opened the CD drive to unfreeze the computer.

------
tempguy9999
I had something that may have been related. In VLC with my old monitor
(1920x1080) watching a film it would often flicker painfully. I found moving
the mouse continually would make it smooth. A bit of python...

    
    
      import ctypes, time
      
      def move(x, y):
          ctypes.windll.user32.SetCursorPos(x, y)
      
      for x in range(10000000):
          move(0, 0)
          time.sleep(0.01)
          move(1, 1)
    

... and all was well.

(When I upgraded to a 4K monitor things got worse and the cursor fiddle
doesn't help).

~~~
Sohcahtoa82

        for x in range(10000000):
    

Why not just use `while True:` ?

~~~
tempguy9999
I... really don't know!

------
woliveirajr
One thing that also worked was to open and close the CD-ROM tray. It felt like
HDD was waiting for something that open-close action on the CD-ROM drive would
trigger some reaction.

------
itissid
Its like rage shake for mouse! If you are angry and shake your mouse in rage
it moves things faster. I imagine this would be a very satisfying thing to be
able to do.

------
StillBored
Given all the me too's. How about this one, same basic problem in the mid
2000's with linux. We were running a few servers with a normal desktop distro.
I got the bright idea that since no one was actually on the console we could
save some ram/CPU by changing the default runlevel and not starting X/etc.
Took about 2 days before someone complained we were running about 20% slower
than normal.

I think in the end the solution was to just fire off a X/xdm pair as I wasted
a few days looking at scheduling/numa/shared interrupts/etc trying to get a
good solid solution that didn't require starting X. We ran it like that for a
couple years until eventually someone tried it again (after a bunch of
software/hardware upgrades) and the perf didn't fall off.

------
wruza
_Try opening a large file with Notepad on a contemporary machine. The window
must not be full screen. When loaded, mark all text using the mouse (the
keyboard works as well, it just needs more manual skill). While still holding
the button down (and marking) move the mouse down, so the text gets marked and
scrolled. Now compare the scroll speed while holding the mouse still versus
wiggling it. Depending on your machine the speed up can be several times
faster._

I always thought that this scroll behavior is known and special in that it
helps precise scrolling. I know winapi and why this happens, but never viewed
it as a wild bug. Can’t recall now, but I think Mac and Linux behave the same
way. Can someone confirm that?

------
kabwj
Reminds me of
[https://devblogs.microsoft.com/oldnewthing/?p=32233](https://devblogs.microsoft.com/oldnewthing/?p=32233)

~~~
DCoder
Raymond Chen's blog is always a great source of interesting information.

But I remember the times when that blog didn't look like a webdesign
internship project in progress. And there were interesting comments…

~~~
omnibrain
So much history was lost when microsoft migrated the blogs and deleted the
comments...

------
goshx
Wow, I always moved the cursor over the progress bar as I believed it made the
installation go faster, but I never had actual proof. I guess I wasn't the
only one.

------
estebarb
I remember that with Windows 98SE, when it got stuck most of the times you can
make it come back to life again by opening/closing the CD tray a lot of
times...

------
nottorp
Had that in an app i was working on ages ago.

We were doing some processing on a database and updating the progress bar
every record. We processed the UI messages at that point as well so any click
on Cancel could get through.

As customer databases grew, the processing began to exhibit this behaviour.

If I remember well, we fixed it by only updating the progress bar every 1%. It
may have been more complicated than that though, I had moved on to another job
when the fix was done.

------
Japhy_Ryder
This is why I love HN.

I miss this mysterious, charming, golden era of tech.

~~~
chadcmulligan
yes its good software doesn't behave strangely any more

------
mikorym
Now the only thing left is to figure out why Dungeon Keeper II crashed roughly
50% of the time at startup. Don't ask about my procurance of said software; we
do not speak of such things.

EDIT: And of course, a person who should not be named at the time remarked:
"Computers always do the same thing, DKII can't be crashing sometimes and
other times not..."

------
qwerty456127
Funny. I've seen people doing this back in the windows 95 days but believed
that was just a superstition.

------
kbouck
So should be possible to build a usb turbo button (or foot pedal) which just
triggers mouse movement events?

------
atannen
I think I remember (1980s/90s) if you were copying a file to/from a remote
host (with ftp or something), you could improve the throughput speed by
pinging the remote. Maybe ethernet, or maybe ppp/slip, I'm not sure.

------
PavlovsCat
What olden times are the article and the comments speaking of? Scrolling is
_still_ faster when selecting while wiggling the mouse, at least on Windows 7
with Firefox, for me. Just tried it right now to make sure.

------
RyanShook
Would it actually run more quickly or just feel like it was running faster? I
thought moving the mouse gave more frequent feedback but I didn’t think it
reduced the time it took to install an application.

------
stOneskull
i used to have an obsessive habit of right-clicking the desktop and selecting
refresh. took me ages to exorcise that out of me when i switched to a linux. i
remember not liking that it didn't have that option.

------
chris_wot
There was a KB article where an old very of Microsoft Query (?) ran slowly.
The second solution said to move the mouse around whilst the query ran.

Funniest article I’ve ever seen in the Microsoft KB! But it worked.

~~~
userbinator
This one?
[https://news.ycombinator.com/item?id=7011228](https://news.ycombinator.com/item?id=7011228)

Unfortunately KB articles seem to be decaying at an alarming rate; only the
archive has luckily saved this one from vanishing forever:
[http://web.archive.org/web/20140105042459/http://support.mic...](http://web.archive.org/web/20140105042459/http://support.microsoft.com/kb/168702)

------
fredsanford
This still happens in a way in current OS's...

When marking text to copy and making it scroll, moving the mouse left and
right will speed up the scrolling sometimes.

Try it in a long Word doc or in Firefox.

------
mikorym
And when you click in Excel while it is stuck computing, does it prioritise
the cell you are clicking on, or could it be that it actually does compute
more quickly then?

------
Yizahi
While we are at it, can anyone tell me why selecting large text in a
scrollable window works faster when you move the mouse?

------
Plasmoid2000ad
I had an ailing Windows 95 Laptop that in its later years stopped functioning
entirely unless I wiggled the mouse.

This all makes a lot of sense now.

------
hsnewman
Rather than being interrupt driven (CPU interrupts), it was event driven.

------
sansnomme
Can flushing buffers be considered a cache invalidation problem?

------
tepper43
To understand if all the OS it is freeze

------
badsavage
Best game ad I have seen for a while

------
geniium
noice, did not know that! Maybe I should give Win95 a go, as macOS is going
pretty down.

------
joshlk
I can't stop laughing!

------
0815test
In order to show the properly random and non-deterministic behavior (e.g.
random BSODs) that Windows users have come to expect, MS Windows needs to
continuously gather high-quality entropy from its surrounding environment.
That's why it stops when you're not wiggling the mouse; it's just waiting for
you to provide the additional entropy it needs.

~~~
Sharlin
No, it’s actually a little-known feature that allows Win95 to temporarily
upclock the CPU during peak loads, using the power generated by vigorous mouse
movements.

