Text in Qt
テキスト表示はUIで多用される機能ですが,
まずは従来のQtで実施されてきたテキスト描画の最適化手法についての紹介から始まりました。いくつかの実装がこれまでありましたが,
QPainter::drawText() では必ず整形処理が実行されるため,
こういった工夫は実施されていますが,
このセッションではディスタンスフィールドデータのファイルキャッシュによる起動時間の高速化やそのGPUへのアップロードの非同期化,
FormattedTextは個人的には面白い提案でしたが,
このセッションで提案された方法はキャッシングや別スレッドの利用による非同期化などのこれまでに実施されてきた手法の延長線上にあるもののため,
Qt + unique_ ptr
30分のショートセッションでしたが,
Qtに限らずフレームワークでは 所有権
親子関係のように使用頻度も多くわかりやすい場合には問題はないのですが,
たとえば,
QWidget widget;
QLabel *label = new QLabel(&widget);
としていたようなコードは
QWidget widget;
QLabel *label = widget.makeChild<QLabel>();
と書いたり,
QWidget widget;
auto label = std::make_unique<QLabel>();
widget.adoptChild(std::move(label));
と書くようになり,
上記の例では記述量が増えただけでメリットはほとんどありませんが,
非常に面白い提案で, std::unique_
しかし,
また多くの場合,
このように課題は残るものの,
Final session: Conclusions
サミットの最後はまとめのセッションとなります。各セッションの概要をそれぞれが説明していきます。
まとめ
昨年のQtCS 2017から具体化しはじめたQt 6ですが,