If you are running RAM Charger with Mac OS 8 with a
desktop picture, then following the launch of _any_
application there will be a delay the first time any portion
of the desktop needs to be redrawn. This is because during
launch RAM Charger has forced the desktop picture to be
"lost" and it must be restored - which takes time. There is
_potential_ for this to happen at any time, with or without
RAM Charger, should your memory be fairly full. However,
this will happen every time following a launch when any
currently available RAM Charger is enabled. This problem
happens subsequent to all application launches when RAM
Charging is installed, no matter what applications are RAM
Charged.
This problem will be fixed our first release after
3/26/98 (either 8.1b3 or 8.1 final).
Details
Desktop Pictures appears to keep a "pre-processed" copy
of the desktop picture in memory, within the "free pool of
memory" used by RAM Charger (the "free pool" is more
technically referred to as the "ProcessZone" or "TempZone").
This "pre-processed" copy of the desktop picture is
"purgable", which means that it may be discarded at any time
if the memory is required for other operations.
If the "pre-processed" copy of the desktop picture is
purged, then you will see a delay the first time the desktop
picture is required for screen update. At such a time
(called "lazy-evaluation"), the picture must be
re-processed, and thus the pause. This is directly analogous
to the sort of pauses you may occasionaly see with virtual
memory, since "purgable" memory is a specialized
implementation of virtual memory which requires no processor
support. Purgable memory is supported at a higher level, in
the memory manager and in applications.
In older versions of Mac OS, the free pool of memory was
purged each time an application was launched (by a call
MaxMem on the ProcessZone). In the past, RAM Charger has
supplemented this launch-purge by gathering adjacent
"purged" blocks into contiguous chunks. This allowed some
applications to launch that would fail to launch the first
time, but succeed when launched again since adjacent
"purged" blocks would have been gathered late in the first
launch. PrintMonitor showed this behavior under low memory
conditions.
In system 8, Mac OS must no longer purge the free pool of
memory each time an application is launched (macsbug: "atb
maxmem; tvb maxmem"). If the system did, you would see the
problem with Desktop pictures without RAM Charger. As a
result, we have removed our enhancement to the Mac OS 8
"launch-purge". Apparently, it is no longer required.
|