Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[REDESIGN] performance compared to 1.8.1 #126

Open
RoboMWM opened this issue Sep 21, 2024 · 4 comments
Open

[REDESIGN] performance compared to 1.8.1 #126

RoboMWM opened this issue Sep 21, 2024 · 4 comments

Comments

@RoboMWM
Copy link

RoboMWM commented Sep 21, 2024

Not sure if you want me to break these out into separate issues or just keep all findings/records here.

I did not monitor performance metrics during these tests.

The devices I've tested on are:

  • Lumia 635, 512MB RAM, Snapdragon 400(?)
  • Surface Go (first gen), 4GB RAM, Intel Pentium 4415Y
  • Windows 11 Desktop, 16GB RAM, Intel Core i3-12100F

App launch:

  • Lumia 635:
    • app launch times varied a lot. The thing that was most consistent was responsiveness after launch.
    • v1.8.1: 39-51 seconds + responsive in 5-8 seconds
    • v2.0.27: 33-48 seconds + responsive in 10-14 seconds
  • Surface Go:
    • v1.8.1: 8 seconds + responsive in 2 seconds (10 seconds)
    • v2.0.27: 13 seconds + responsive in 13 seconds (26 seconds)
  • 12100F:
    • v1.8.1: 3.5 seconds + responsive in 0.5 seconds (4 seconds)
    • v2.0.27: 4 seconds + responsive in 3 seconds (7 seconds)
    • v2.0.27 without webp: 4 seconds + responsive in 1 second (5 seconds)

Interestingly, the following metrics, in my experience would consistently take longer with 2.0.27, but this is not the case when doing these tests this evening. I wonder if this correlates with less activity and thus not impacting the different way events are handled in 2.0? Not entirely sure. My experience has been more of 4-6 seconds with channel switches with 2.0. Given that I did these tests shortly after app launch, maybe this changes after the app has been running for a while...

Switching DMs:

I ensure the DM has been loaded (opened up) before measuring.

  • Lumia 635:
    • v1.8.1: generally just under 2 seconds
    • v2.0.27: around 2.25-2.5 seconds

Switching channels:

I ensure the channel has been loaded (opened up) before measuring.

  • Lumia 635:
    • v1.8.1: 2-2.5 seconds
    • v2.0.27: 2-3 seconds
@WamWooWam WamWooWam pinned this issue Sep 30, 2024
@WamWooWam
Copy link
Collaborator

WamWooWam commented Oct 11, 2024

So the latest release (https://github.com/UnicordDev/Unicord/releases/tag/v2.0.0-alpha.11) has made some additional improvements to app launch times, if you want to re-test!

@WamWooWam
Copy link
Collaborator

Also worth noting, try to test at similar times of day, a lot of Unicord's launch time is just down to how long Discord takes to send the READY payload which can depend on their server load

@RoboMWM
Copy link
Author

RoboMWM commented Oct 12, 2024

I was testing responsiveness from tapping a channel icon on 2.x vs. tapping the hamburger button on 1.8.x, so the responsive times after launch are likely incorrect.

Lumia 635, v2.0.40:

  • app launch (old method):
    • first app launch: 40 seconds + responsive in 16 seconds
    • second launch: 33 seconds + responsive in 9 seconds
  • app launch (new method):
    • 32 seconds + responsive in 5 seconds
  • switching channels (already loaded once):
    • 1.33-1.88 seconds

Lumia 635, v1.8.1:

  • app launch:
    • first app launch: 36 seconds + responsive in 3 seconds
    • second launch: 31 seconds + responsive in 4 seconds
  • switching channels (already loaded once):
    • 2-3.5 seconds

try to test at similar times of day

Yup, when I do comparison tests I do them immediately after. Usually Unicord 2.x first to give it the best opportunity in case leftovers from the previous instance didn't close out cleanly or etc.

I think performance, or perceived performance, at this rate is more of design decisions, namely loading a channel immediately upon tapping a guild instead of showing its channel list first (which is far faster). I'll make a separate issue to request readding this functionality to 2.x. However, when I did have both apps suspended in tablet mode on Windows 10 (4GB ram, 1st gen Surface Go, to search for a screen recorder for a different issue), only 2.x crashed after some time. They were both on the same channel but will take me some time to reproduce the "resiliency" of the app in constrained resources.

@WamWooWam
Copy link
Collaborator

switching channels (already loaded once):
1.33-1.88 seconds

good to see those specific optimisations paid off!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants