画面外にあるものを描画することはないだろ。
あらかじめインスタンスを弾の数だけ用意しておくのは正解。
画面の外に出た弾はフラグ立てて休ませておいて使いまわすのがよい。
休みフラグの立っている弾は当たり判定と描画をしないでreturn;。

発射時に毎回インスタンスを生成するのを避けるのは
ガベコレ持ち言語でSTG作るうえでの基本。