Deki 0.20 のテーマは性能と画面です。ゲームがどれだけ速く描けるか、どれだけなめらかに表示されるか、そして Deki がどれだけ多くの画面を動かせるか。すべての変更は、よく知っている 2 つのボード、LilyGO T-Deck Plus と T-Display S3 AMOLED で測りましたが、改善は Deki 自体に入っているので、どのボードにも届きます。
裂けないフレーム
画面は 1 秒に約 60 回、上から下へ自分を描き直しています。その途中で新しい画像が届くと、半分は一枚の画像、半分は別の画像になり、間に線が入ります。これがティアリングで、新しいシーンが開くときのように画面全体が一度に変わる場面でいちばん目立ちます。
Deki は、画像を送るちょうどよい瞬間を待つようになりました。多くの画面には描き直しの開始を知らせる線があり、Deki はそれに従います。その線をつないでいないボードでは、代わりに画面に「いまどこまで描き直したか」を尋ねます。どちらの場合も、画像は丸ごと届きます。
描画が速くなりました
ゲームがいちばんよく描くものがずっと軽くなりました: 文字、色のグラデーション、元より大きく・小さく描く画像、パーティクル。チップの速いメモリに収まらない大きな画面は、その中で帯ごとに描くようになり、遅いメモリに画像全体を描くよりずっと速くなりました。2 つのテストボードの両方で、デモのすべてのシーンが 60 fps で動きます。
そして、ゲームが 60 fps を求めれば、62〜66 ではなく、ちょうど 60 になりました。
Deki 独自のディスプレイライブラリ
Deki は、deki-display という独自のライブラリで、自分で画面とやり取りするようになりました。趣味のボードでよく使われる画面を動かせます: ILI9341、ILI9488、ST7735、ST7789、ST7796、GC9A01、SSD1351、そして 2 種類の AMOLED。速いパラレル接続を含む一般的な接続方法に対応し、安価な抵抗膜式を含む、よく使われるタッチチップからタッチを読みます。
LilyGO の 2 つのボードは、どちらも LovyanGFX なしでこれで動くようになりました。deki-display がまだ知らない画面のために、LovyanGFX パッケージは引き続き使えます。新しく加わった画面は、それぞれ LovyanGFX 自身の設定と照らし合わせて確かめましたが、まだ実機では動かしていません。お持ちでしたら、Discord で様子を聞かせてください。
気づく小さな修正
- スクロールが自然になりました。 スワイプの始めにリストが跳ねなくなり、横方向のリストは指についてくるようになりました。
- 画面の実際の大きさを知るレイアウト。 ボードが画面の大きさをインチで伝えるので、ゲームは小さな画面でも読みやすく、押しやすい大きさにできます。
- T-Deck の残像がなくなりました。 画面に前の画像の薄い影が残っていましたが、なくなりました。
- シーンがきれいに開きます。 場合によって新しいシーンが表示される前に空のフレームが 1 枚出ていましたが、すぐに表示されるようになりました。
設定を減らしました
これだけの変更で新しい設定も増えましたが、誰もそれを覚えなくていいようにしました:
- ボードを選べば調整済み。 ボードパッケージには、そのボードがいちばんよく動く設定が入っています。
- 残りは自動で決まります。 ゲームの開始時にボードが自分にできることを調べて選び、何をなぜ選んだかを起動ログに出します。
- 2 つの設定をなくしました。 「半幅フレームバッファー」と「インターレース」は一度も何もしていなかったので削除しました。
- 新しいガイド 高速化 を用意しました。自分のボードを作るときや、シーンが遅い理由を知りたいときに。
アップデート
0.20 で壊れるものはありません。新しいエディターでプロジェクトを開けば、これまでどおり動きます。変更を取り込むには、パッケージマネージャーからパッケージを更新するか、DekiEditor --packages-update all <project> を実行します。以前の LilyGO ボードのコピーをプロジェクトに持っている場合は、そのボードで Update を実行すると deki-display に移ります。
そのほかの変更はチェンジログにあります。エディターのダウンロードはこちら。
