DXRubyの描画予約順ソートはマージソートを採用している。初期の頃はシンプルなバブルソートだったのだが、さすがにアレなのでマージソートに変更したのだ。なぜマージソートを選択したのかというと、描画優先順が同一だった場合、メソッドを発行した順に描画される必要があるからソートは安定ソートであるのがまず前提で、それなりに速く、実行時間の変動が少ないからだ。 1フレームという規定時間内に処理が完了する必要がある場合、ある処理の実行時間が想定できないと手痛いことになる。最も遅い時間にあわせて他を切り詰めないといけなくなるからだ。ソートの場合、データの並び方のパターンで実行時間が大きく変わってくる方式が多いから、そういうのを採用すると速いときは速いが遅いときは遅い、しかも並び方のパターンによるから微妙に予測ができない、ということになる。ソートアルゴリズムまで考えたうえでソートが速くなるように描画順を考