[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Just Thinking Again...
- Subject: Re: Just Thinking Again...
- From: nathan@visi.com (Nathan Mates)
- Date: 1997/02/14
- Newsgroups: comp.sys.apple2
- Organization: Vector Internet Services, Inc.
- References: <5e0tgo$el8@strange.dfwmm.net>
In article <5e0tgo$el8@strange.dfwmm.net>,
Martin Gruen <mgruen@chaos.dfwmm.net> wrote:
>I was just thinking the other day what a shame it is that even with my GS
>accelerated to 10mhz, when I scroll a window it still moves the screen in
>choppy, chunks at a time rather than line by line as it should be capable
>of doing smoothly at higher speeds.
If you were to scroll at one line per refresh, I'd be asleep before
reaching the bottom of my finder windows. I'll take speed over
smoothness anyday when I'm trying to get something done. [Games, on
the other hand, better be as smooth as possible]
>My thought is it has to be something internal to the GS/OS that
>determines how windows scroll. Has anyone tinkered with it for
>improvements with accelerators?
(A) That's the toolbox doing the scrolling. The OS has *nothing* to
do with what's on the screen, and especially not it's drawn. [MacOS
and Windoze should be taken out and shot for giving people the
impression that the *Operating System* has anything to do with the
screen updates... The marketing droids should have sat down with a
dictionary of computer terms and not bastardized one]
With enough of the toolbox in ROM (especially a ROM 3), you *could*
boot with no disk, press reset and enter a program in the monitor, and
get a 'desktop app' running without GS/OS ever getting near memory.
The OS is what's used to talk to disks and the like; the toolbox
provides a lot of nifty routines to put up a standardized UI.
The far more important thing is that even with an accelerator,
accesses to video memory still hit the *$&##@ 1Mhz speed limit of the
motherboard of the GS. Do the math-- no way you can scroll the 32K of
the SHR screen memory at 60 or even 30fps. Assuming you can move a
word on average in 7 cycles (peis on the bank 1 shadowed screen) and
zero interrupt overhead (say goodbye to Appletalk), you can move maybe
288K/sec, or about 8 frames per second. [That number sounds a little
low from my experience in Twilight II modules... Let's say we can pull
16 fps fullscreen.]
This performance drops more when you have to go out to the app and
have it redraw what you just scrolled in-- no, the toolbox does not
cache beyond the window's borders. Next, the toolbox is set up to do
proper scrolling even if another window is in front, or on
nonrectangular regions which leads to very generic code. Slowdowns
again.
With a few customized hacks, you can get the illusion of smoothness
onscreen for custom apps. That ain't gonna cut it for all-purpose
code that needs to run reliably under all circumstances.
Nathan Mates
--
<*> Nathan Mates http://www.visi.com/~nathan/ <*>
# What are the facts? Again and again and again-- what are the _facts_?
# Shun wishful thinking, avoid opinion, care not what the neighbors
# think-- what are the facts, and to how many decimal places? -R.A. Heinlein