まえに防御択を勝手に選ぶ機って取り組みをしてて。
画像をESP32にもたせてパラパラ表示するだけもののなんだけど、画像が単純な割に容量を食う、というのに納得いってなかった。

素材の画像はPNGなのだけれど、圧縮されたPNGをしょぼいESP32に展張させるのは厳しいということで、単純なバイト列に変換して使っている。
ほとんどのピクセルが「隣と同じ色」なのに、データ上は黄黄黄黄黄(便宜上の表現)とか書いてるの。
そんなの黄x5でいいじゃんか。PNGはややこしいことしてそうだけど、連長圧縮にするくらいなら負荷も低いしバチも当たらないであろう。GIFは調べたらLZW圧縮ってのをやっているとかで、単純な連長圧縮とはまた違うらしい。まあよい。
画像ファイルサイズが小さくなった
まあそらそうだ。単純な仕掛けで5%くらいのサイズに縮んだ。
これをESP32での実行時に110KBのバッファに煮戻してあげれば諸々解決して、ファイル読み込みが高速化した。
読み込みが遅かったわけじでもないんだけど、画像全部をメモリに持っておけなかった都合上、画像が切り替わるたびに画像ファイルの読み込みをやってたので無駄が減った。つまり消費電力が少し減ったはず。消費電力が減るなら発熱も減るので、もろもろよい。
ほか、ちょいちょい「無駄とはわかりつつも動くことを優先して目をつぶった部分」とかの改善活動をし、よりバッテリーに優しいサイコロに進化した。
さらにイングリッド追加に伴い、イングリッド用のサイコロセットを定義して転送したりであるとか、おだやかな日曜の朝を平和に過ごした。
