2021年3月4日の投稿

アップデート3

三度目のアップデートをリリースしました。
短期間で一定の成果が上がったのと、それができるだけ速やかにリリースしたほうがいい内容だったため、予定外の緊急リリースです。当初考えていたスレッドまわりの見直しというのは、要はトランジションのアニメーションを非同期に行いたいためですが、CoreAnimationを使う限り、最初からレイヤのプロパティ設定ひとつで非同期描画をしてくれること、また仮想デスクトップ(Spaces)への対応もAppKitにその振る舞いを定義するプロパティがあり、それらを設定すれば目的の動作が実現できることがわかったためです。正直これらのことを知らずに今までのバージョンをリリースしていたのが痛恨の極みで、穴があったら入りたい気分です。また今回のバージョンで、他のアプリがフルスクリーン動作している時は壁紙切替の進行を止めるようにしました。というのもCIFilterを使ったモーフィング系のトランジシヨンが裏で走らせるにはリソース消費が無視できないものだったためです。私の使用環境(Core i7 6コア 2.2GHz)で、CUP負荷がシングルコア換算で70%前後、メモリ使用量が2.5Kモニタでも100MBくらい消費しますので、流石に止めないとまずいと思いました。CoreAnimationを使ったもののリソース消費は微々たるものなんですが。

今回のアップデートでミッションコントロールとの協調に関し、システムの行っている壁紙表示機能とほぼ同じ挙動ができるようになりました。モニタ構成の変更、システムのスリープと復帰、Spaces、フルスクリーンアプリ等、現在のMac環境で起こるだろう外部要因を大体網羅でき、それらが同時に絡んだ時、さらにトランジションアニメの最中にそれらが起こった時にもメモリリークを起こさずに動作するものに組み上げることができました。これでようやく、どなたに使ってもらっても日常的な使用で不便さを感じることのないものになったと思います。細かいところではまだ改善したい部分はありますが、緊急性をもった問題点は大体潰せたと思います。トランジションも10種類になり、私自身が日常的に使用して満足感を感じるものになってきました。

CoreAnimationを使わないトランジションの非同期描画がまだできないこと、テーブルビューのサムネイル描画がビジー状態になり、ユーザー操作を妨げるので使用感を損ねることが、次になんとかしたい課題ですが、これには時間がかかるでしょう。あと1、2回のアップデートでバージョン1.xは終了になると思います。
バージョン1.x世代はアプリとしての土台作りで、デスクトップを表示先としたメディアプレーヤーという当アプリのコンセプトを実装し、価格以上の価値を与えられるのはバージョン2.0からと当初から考えていますので、先は長いですが地道に取り組んでいきたいと思います。

コメントする

※ 匿名希望の場合は空欄で構いません。


コメントを追加する キャンセル

▼ 記事の選択 ▼

最近の投稿