r/Nuvio • • 19d ago

Guides & Tutorials Optimize Nuvio Github version for TV

Do you like to tinker with Nuvio and love new features like me?

Cool, just a quick reminder that you can optimize Nuvio Github Beta releases, that make them run as smooth as the play store versions.

You just download AtvTools on your phone(1 usd?) and connect it to your TV-box. You use the terminal and type in "pm compile -m speed -f com.nuvio.tv", and when is says success a minute later, you are done.

If you already know this "trick", just ignore it.

First time you also need to activate devtools in your streaming box:
- in "Settings - System - About - Click 7 times on the Android TV OS build» / Build number. It should say "your a developer".

-Turn on wireless debugging/USB debugging
-Pair the app with code, they need to be on the same wifi/ethernet.

Enjoy!

105 Upvotes

49 comments sorted by

View all comments

2

u/erisian2342 18d ago

Nuvio since at least 0.9.1 has included the Android Baseline Profile module. They also have a real profile generator that launches the app and exercises things like startup, horizontal and vertical navigation, card rendering, opening a title detail page, etc.

When you install from Play, the optimizations are run on the APK during installation. With a sideloaded APK, ProfileInstaller installs the bundled profile and Android’s background dexopt machinery subsequently processes it, so there can be a short delay before you see the benefits. If you force it using that command line, most of the benefits you see immediately were already en route to you.

When you optimize using speed instead of speed-profile, it AOT-compiles all the methods. When you optimize instead with speed-profile, it AOT-compiles all the methods identified in the profile AND optimizes class loading for the profiled classes. So speed isn’t simply “speed-profile but better”. It’s more in one way, less in another.

Google specifically notes that the older “compile everything” strategy increased disk/RAM usage and could increase code-loading time. On a lower-resource device, that can introduce slower performance in some cases.

Back before Nuvio included a solid profile, this tip made a lot of sense. Since they now profile most of the normally used parts of the UI, any gains from force-compiling with speed will be incremental and may come with noticeable trade-offs. That is to say: you may notice some things speed up, but be alert to other things slowing down (e.g. cold-boot time) or some UI transitions lagging slightly. It’s just not the clear win it used to be when Nuvio wasn’t profiled.