はじめに
この記事は Slint Advent Calendar 2025 10日目の記事です。
昨日は以下の記事を書きました。
今日は Raspberry Pico についてです。
Raspberry Pi Pico での表示を改善しました
Slint のすごいところの1つが MCU 対応で、Raspberry Pico でうごく printerdemo_mcu はその象徴でした。
Qiita 上でも、初期の記事でよく取り上げられています。
問題があった
マイコンなので、電源オン以降の処理を自分で書いて動かすことになるのですが、slint の pico のデモは電源オン直後に、一瞬カラフルな画面(ゴミだらけ)が表示されてから、Slint の表示が行われるという挙動になっていました。
「ベアメタルなので起動が早いんですよ」
とデモを見せるたびに、なんか最初にゴミが見えてますけど?って顔をされていました。
私がそのデモをはじめて実際に見たのは2022年の10月だったのですが、それ以来2年以上、早く直らないかなーと思っていたものです。。。
直した
修正前は初期化の処理が以下のようになっていました。
- マイコンの初期化
- 液晶のバックライトを点灯
- Slint の描画処理を開始
この場合、バックライト点灯時に画面が初期化されていないため、ゴミが表示されます。
修正後は以下のようにしました。
- マイコンの初期化
- Slint の描画処理を開始
- Slint が最初の1フレームを描画した直後に液晶のバックライトを点灯
Slint 自体も修正しました。
開発者はこれがバグだとは認識してなかったようですが、なんとか納得してもらいました。
スローモーションでの前後の比較映像です。
おわりに
Slint の Pico でのデモ体験が大幅に向上しました!
