Skip to content

Open MainUI 1.0.2

Choose a tag to compare

@robcodedev robcodedev released this 28 Sep 18:51
· 136 commits to main since this release

A performance and safety release. It is recommended for everyone on 1.0.1.

Highlights

  • Much lower CPU use in the menus. Static screens are no longer redrawn every half second when nothing has changed. On a Mini Plus, MainUI's idle CPU use dropped from about 5% to about 1%. (#9)
  • Scrolling titles are smooth and far cheaper. Only the selected row is redrawn and sent to the display, on evenly paced frames, without pauses for full-screen repaints or Wi-Fi checks. CPU use while a long title scrolls dropped from about 35% to about 6%.
  • Longer battery life. In informal tests, battery drain in MainUI dropped roughly by half while idle and several times while a title scrolls. Results depend on brightness, Wi-Fi, theme and battery state.
  • Safer ROM deletion. If a ROM's cache entry changed after the list was read, for example through an external rebuild, nothing is deleted and you're asked to reopen the console. Before, the ROM file could be removed while the message said it was kept. (#6)
  • Covers load without holding up the UI. Large box art is now scaled in the background decoder. (#8)

Also in this release

  • The .romListTitleScroll speed is rounded to a whole number of pixels per frame, a multiple of 25 px/s (for example 120 px/s scrolls at 125 px/s), so the motion stays even.
  • A long title waiting out a long scroll delay no longer holds up battery, Wi-Fi and list updates.
  • With logging enabled, timing figures are written once a minute while MainUI runs, so sessions ended by the game switcher still leave them in the log. See docs/TIMING.md.
  • --help lists all options.

See CHANGELOG.md for the complete list.

Thanks

Special thanks to @Amiga500 for the hardware measurements and other reports. Thanks also to everyone who tested and submitted feedback.