はつねの日記

Kinect, Windows 10 UWP, Windows Azure, IoT, 電子工作

.NET nanoFrameworkでのM5StickC Plusの描画について考察してみる

前回

hatsune.hatenablog.jp

前回は、取得した加速度をグラフとしてM5StickC Plusの画面に描画しました。
その予告で次回はRTC(RealTimeClock)について取り上げるとしましたが、その前にM5StickC Plusでの描画の最適化について考えてみたいと思います。

発端

今回、描画最適化をまずはクリアしたいと思ったのは、RTCの結果表示を7セグメントの数字表示で描画しようと考えて、まずは1桁の描画を試したときの気づきからです。
.NET nanoFrameworkでのM5 StickC Plusの描画は1ドットづつ「Screen.Write」メソッドで描画して実現します。
その方法で7セグメントでの数字表示を試してみると、かなりレトロな感じのセグメント表示順が感じられる表示となりました。
www.youtube.com

これはこれで味わい深いのですが、RTCの結果を表示するのに桁数が増えてきたらかなり時間がかかることが予想されます。
もう少しシャキシャキ表示してほしいところです。

対策

そこで、7セグメントの各セグメントをScreen.WriteでLCDに直接描画するのではなく、7セグメントの表示領域をushort配列で確保して、この配列に表示色を設定してから、Screen.Writeで7セグメントの矩形領域を指定して配列から一気に描画してみることにしました。
gist.github.com

結果

その結果として、セグメントの表示順が分からない描画が実現できました。
www.youtube.com

次回

次回こそは、この描画最低化を踏まえてRTCで取得した現在時刻を表示してみたいと思います。
hatsune.hatenablog.jp
hatsune.hatenablog.jp