さて,サブルーチン@Aが@MAINLOOP以下から呼ばれることが確定すれば、74行目に書かれたVSYNCで表示待ちは十分ですから、58行目のVSYNCはいりません、というか、これが遅さの原因ですからとってください。弾が動くためにここで確実に60フレーム時間がカウントされてしまって,それからやっと自機の動きを受け付けるBUTTON文にいくわけで、つまりこのプログラムではBUTTON文が1秒に1回しか実行されないので遅いのです。