B블로그

Deki 0.20: 더 빠르고, 더 부드럽고, 더 많은 화면

성능에 관한 릴리스입니다. 게임을 더 빨리 그리고, 프레임이 찢어지지 않으며, Deki가 구동하는 화면이 크게 늘었고, 스크롤이 자연스러워졌으며, 설정은 스스로 정해집니다.

게시일
작성자
DevKirbyrawr
읽는 시간
약 3분
보드가 그린 Deki 데모의 네 화면: Meadow, Effects, 메뉴, UI 툴킷. 모두 60 fps.

Deki 0.20은 성능과 화면에 관한 릴리스입니다. 게임을 얼마나 빨리 그리는지, 얼마나 부드럽게 보이는지, 그리고 Deki가 얼마나 많은 화면을 구동할 수 있는지. 모든 변화는 잘 아는 두 보드, LilyGO T-Deck Plus와 T-Display S3 AMOLED에서 측정했지만, 개선은 Deki 자체에 들어 있으므로 모든 보드에 적용됩니다.

찢어지지 않는 프레임

화면은 1초에 약 60번 위에서 아래로 스스로를 다시 그립니다. 그 도중에 새 그림이 도착하면 절반은 한 그림, 절반은 다른 그림이 되고 그 사이에 선이 생깁니다. 이것을 티어링이라고 하며, 새 장면이 열릴 때처럼 화면 전체가 한꺼번에 바뀔 때 가장 잘 보입니다.

이제 Deki는 그림을 보낼 알맞은 순간을 기다립니다. 많은 화면에는 다시 그리기가 시작될 때를 알려 주는 선이 있어서 Deki가 그것을 따릅니다. 그 선을 연결하지 않은 보드에서는 대신 화면에 지금 어디까지 다시 그렸는지 묻습니다. 어느 쪽이든 모든 그림이 온전히 도착합니다.

더 빠른 그리기

게임이 가장 많이 그리는 것들이 훨씬 가벼워졌습니다: 글자, 색 그라데이션, 원래보다 크거나 작게 그리는 이미지, 파티클. 칩의 빠른 메모리에 들어가지 않는 큰 화면은 이제 그 안에서 띠 단위로 그려서, 느린 메모리에 그림 전체를 그리는 것보다 훨씬 빠릅니다. 두 테스트 보드 모두에서 데모의 모든 장면이 60 fps로 돌아갑니다.

그리고 게임이 60 fps를 원하면, 이제 62~66 사이 어딘가가 아니라 정확히 60이 됩니다.

Deki 자체 디스플레이 라이브러리

이제 Deki는 deki-display라는 자체 라이브러리로 화면과 직접 대화합니다. 취미용 보드에서 흔히 쓰는 화면을 구동합니다: ILI9341, ILI9488, ST7735, ST7789, ST7796, GC9A01, SSD1351, 그리고 두 종류의 AMOLED. 빠른 병렬 연결을 포함한 일반적인 연결 방식을 지원하고, 저렴한 저항막 방식을 포함해 많이 쓰이는 터치 칩에서 터치를 읽습니다.

두 LilyGO 보드 모두 이제 LovyanGFX 없이 이것으로 돌아갑니다. deki-display가 아직 모르는 화면을 위해 LovyanGFX 패키지는 계속 쓸 수 있습니다. 새로 추가된 화면들은 각각 LovyanGFX 자체의 설정과 대조해 확인했지만 아직 실제 보드에서 돌려 보지는 않았습니다. 가지고 있다면 Discord에서 어땠는지 알려 주세요.

눈에 띌 작은 수정

  • 스크롤이 자연스러워졌습니다. 스와이프를 시작할 때 목록이 튀지 않고, 가로 목록은 손가락을 따라옵니다.
  • 화면의 실제 크기를 아는 레이아웃. 보드가 화면이 몇 인치인지 알려 주므로, 게임은 아주 작은 화면에서도 읽고 누르기 좋은 크기로 만들 수 있습니다.
  • T-Deck의 잔상이 사라졌습니다. 화면에 이전 그림의 희미한 그림자가 남았는데, 이제 없습니다.
  • 장면이 깔끔하게 열립니다. 경우에 따라 새 장면이 나타나기 전에 빈 프레임이 한 장 보였는데, 이제 바로 나타납니다.

설정할 것이 줄었습니다

이 모든 변화와 함께 새 설정도 생겼지만, 아무도 그것을 익힐 필요가 없어야 합니다:

  • 보드를 고르면 이미 조정되어 있습니다. 보드 패키지에는 그 보드가 가장 잘 돌아가는 설정이 들어 있습니다.
  • 나머지는 스스로 정해집니다. 게임이 시작될 때 보드가 자기가 할 수 있는 것을 살펴보고 고르며, 무엇을 왜 골랐는지 부팅 로그에 남깁니다.
  • 설정 두 개를 없앴습니다. “반폭 프레임 버퍼"와 “인터레이스"는 아무것도 하지 않았기 때문에 없앴습니다.
  • 새 가이드 빠르게 만들기가 생겼습니다. 직접 보드를 만들 때나, 어떤 장면이 느린 이유를 알고 싶을 때 보세요.

업데이트

0.20은 아무것도 깨뜨리지 않습니다. 새 에디터에서 프로젝트를 열면 전처럼 동작합니다. 변경 사항을 받으려면 패키지 관리자에서 패키지를 업데이트하거나 DekiEditor --packages-update all <project>를 실행하세요. 프로젝트에 예전 LilyGO 보드의 사본이 있다면, 그 보드에서 Update를 실행해 deki-display로 옮기세요.

나머지 변경은 변경 기록에 있습니다.여기서 에디터를 내려받으세요.

← 모든 글