I'd set the output to something like ddraw
Thanks for the suggestion. I tried that, but it still has the same lag as when I used the default of overlay.
Changing the cycles value in the cpu section from "auto" to "max" seems to have helped. Hopefully that doesn't introduce other problems.
EDIT: cycles=max did introduce a loss of some sound effects and made a timing-based puzzle impossible. cycles=20000 seems to be working pretty well. The delay in changing screens and in popping up the save screen is still noticeable, but is much better than when I was using cycles=auto. I noticed a similar issue in SQ5, so I'll try that value there as well.