ついてつらつらとこの広告は、90日以上更新していないブログに表示しています。2016-05-29ストローク遅延レンダ久々のアップデートです。現在レイヤー関連の大幅な機能追加作業を行っていますが、仕様が大きく時間がかかっています。ビルド環境が変更されていてバグ修正部分だけを公開するのも難しく、ストロークやイメージ処理のエンジンの深いところから変わっていて非常に不安定なので公開したくてもできなかったというのが実情です。最近ようやくエンジンを変えた事で発生していた不安定さが解消されてきたので、レイヤー関連の処理を切り離し、公開できる部分をまとめて今回のアップデート内容としました。いうわけでメジャーアップデートではなくバグ修正と細かい機能追加なのですが、主な変更点を備忘録として以下にまとめておきます。ストローク遅延レンダの実装ブラシをキャンバスのイメージデータに描き込む前に、ダミーとしてスプライトを表示しておく機能です。ペイントソフトの多くは基本的に、ペンストロークに沿ってブラシ形状のデータを書き込むことで画像を描いていくわけですが、太いブラシや複雑な計算が必要な混合ブラシ等ではどうしても書き込みに遅延が発生します。そこで実際の書き込みの前段階、ブラシ形状をどこに書き込むかのデータだけを先に計算してそこにダミーのスプライトを表示しておくことで、見た目の遅延を少なくしようという考え方です。表示できるのは単色の単純なスプライトを回転させる程度のものなので、テクスチャを貼っていたり混合など複雑なブラシでは一時的に全く違ったイメージが表示されることになりますが、あたりがつくので心理的には無いより良いと思われます。ストローク遅延レンダは、以下のオプションでその機能を調整できます。スプライト色の固定/スプライト表示色スプライト色の固定をOFFにすると、現在のブラシ色でスプライトを表示します。ONにした場合はスプライト表示色で設定した色が常にスプライトの色として使用されます。ストローク予測これまでのストロークポイントの動きから、その先のポイントを予測してスプライトを表示します。(この機能はCloverSC寄付版を購入・インストールしている場合のみ有効になります)これまでワンショットUndoとして実装していた機能は予測したポイント部分のストロークもキャンバスイメージへの描き込みで実現していましたが、余分なストロークを毎回描いては消す処理が発生して極端に重くなるため、かなり細くて軽いブラシでしか満足な動作が得られませんでした。そのため今回ストローク遅延レンダ実装と同時に過去の機能を削除し、こちらのストローク遅延レンダによるダミースプライト表示によるストローク予測表示に変更しました。個々のブラシのパラメータは有効なので、ブラシ側のワンショットUndoに関する設定をしておかなければこちらのスイッチは無効です。こちらはワンショットUndoをまとめてON/OFFするマスタースイッチだと考えてください。ストローク遅延カーソル現在キャンバスイメージに実際に描画されているストロークの最新部分と、ダミーのスプライトによるストロークの境界部分にカーソルを表示する機能のON/OFFスイッチです。ストローク遅延レンダ進行バーストローク遅延レンダーが動いてる間、その進行度合いを示すバーのON/OFFスイッチです。前回のストロークのレンダリングが終わってない状態で、次のストロークを描ける機能のON/OFFスイッチです。ストローク遅延レンダーが動いている間、レイヤー操作等ストロークの描画に影響を与える機能は一時的に使えなくなります。レンダリングが終わるまでお待ち下さい。Paintは半透明ピクセルを含むアイコンの編集や、モバイル端末でのラフスケッチなどの用途を想定してデザインされています。「4000pixelを超えるような大きな画像を全画面表示しながら複数レイヤーで着色する」といった用途は当初想定してない利用シーンなのですが、多数のレイヤーでメモリ効率良く動作するよう考えて設計したために、そのように利用するユーザーが一定数存在するようです。そのため当初50%に設定していた縮小制限を画像サイズに合わせて緩和する措置を入れるなどして対応していましたが、表示する画像が大きくなると描画処理が重くなりフレームレートが下がってカクカクする(特にナビ表示など画面全体が入るウインドウを複数表示した場合に顕著)という問題が発生していました。今回キャンバスの表示データ構成と描画エンジンを修正することでこの問題を解決したため、大きな画像で重くなる現象はなくなりました。同時にこれまで50%が下限だった縮小制限のオプションを10%に緩和しました。細かい部分ではレイヤーのクリップオプション項目が増えています。修正されたバグも多いのですが、エンジンを変えたために見た目機能は変わらなくても様々な部分で修正が入っています。そのため新たにバグが発生している部分もあるかもしれません。Paint開発の経緯とEfTについて月別アーカイブはてなブログをはじめよう!CloverPaintさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。