Tatsu still writes something... Fourth season

これからも私はなにかをしてなにかを書く

MulSync Version 2.1.0

MulSync Version 2.1.0

フォントのダサさをなんとかしたかったという思いとそのついでに高DPI対応をまともにしたいということで今回のリリースとなったわけであるが、その辺のいきさつは別に書いていたりする。高DPI対応二時間がかかっている間、フォントをまともにした私家版はしばらく使っていたので、自分の中では実は新味がなかったり。けど出さないとその辺の思いが伝わらないのでようやく出せたという感じである。

tatsu-syo.hatenablog.jp

qiita.com

なので、書き終えての感想をここでは書く。

今やれることはやったかな

ここ1年MulSyncでは速度向上のための悪あがきやバグ修正、そして今回の目玉であるフォント美化と高DPI対応を行ったが、今の仮想PCとのファイルのやりとりやポータブル版を意識した.NET Framework 3.5/Windows Form版ではもうこれ以上は望めないのかなと正直なところ思っている。

同期ファイル比較のためいったんListに対象ファイル情報を全部入れて比較を行っているが、同期ファイル比較の際、Listだと境界チェックが入るという難点がある。Spanを使えば良いとのことだが、.NET Framework 4.xのC#7あたり以降用なので使えなかったり、.NETになって実行環境やコンパイラのチューンが進んだりと速度的なボトルネックの解消策は存在するが、今の動作環境では使えない。

また、高DPI対応にしても現状では.NET Framework 4.8の実装の関係上チェックボックスラジオボタンが切れることがあったりして、見た目的にも褒められる物ではなく、.NETに行くか、Windows Formやめるかするしかないというのが実情である。

どちらも.NET Framework 3.5/Windows Formの制約による物なので、そう考えると今の状態ではやれることはやったかなという感じである。

その辺については.NETとWPFでの書き直しを行ってはいるのだが、動いていてVectorで意外な位置にいる現行MulSyncのメンテナンスとMeiryo UIも大っきらい!!の改良でもう1年は経っているというのが実情である。とはいえバグがなければある程度落ち着いたので、書き直しを再開しようと思う。

ちなみに書き直しを行った物は別ソフトとして公開しようと考えている。.NETでは.NET Frameworkと違って同じバイナリで異なるフレームワークで動かすということができないことからポータブル版に向かないので、今のMulSyncも必要だからである。

ちなみに年単位での書き直しというと前にBookSyncでも短期滞在で数ヶ月コーディングができなかったため、約1年書き直しをしてたということがあったりするが18年前のことだったりするわけで、年取ったなとつくづく思う。