The probable reason for continuous access is a HyperTalk statement that adds or changes information in a field on a card. Any of three commands (particularly when paired with a large number of cards) can contribute to excessive disk access:
- the time
- the long time
- on idle
Putting "the time" into a field changes the field and thereby initiates drive access -- once every minute.
Putting "the long time" into a field causes access once every second! HyperCard performance may suffer from such continual disk I/O process.
Also, an "on idle" routine in a stack script or a card script of the current card initiates disk I/O, because it adds or updates information within the stack.
Slow down with large stacks also occurs when HyperCard preloads card index pages during idle time. With many cards, there are many card index pages. The first pages are unloaded when the latter ones are loaded. Therefore, HyperCard keeps loading them, which results in the disk activity. HyperCard 1.2 seems to correct the issue.
To summarize: where appropriate, change from "the long time" to "the time" and review the use of "on idle" routines. Also check for any XCMDs and XFCNs that may be initiating disk activity.