[Performance] High Resource Usage and Slow UI: Optimize Electron or Consider Migrating to Tauri 🚀 #3088

Closed
opened 2025-03-13 17:53:24 +00:00 by ValiantZippu · 6 comments
ValiantZippu commented 2025-03-13 17:53:24 +00:00 (Migrated from github.com)

Preflight Checklist

  • I use the latest version of YouTube Music (Application).
  • I have searched the issue tracker for a feature request that matches the one I want to file, without success.

🚨 The current Electron-based implementation of the YouTube Music app has significant performance issues that are impacting user experience. Specifically:


Problem Description

(This might be a duplicate of an existing issue—so sorry in advance if that's the case! 🙏 Also, sorry if I sound like a clown; I’m not a developer or coder, just a normal user who loves this repo!)

  1. 🖥️ High RAM and CPU Usage:
    The app consumes an excessive amount of system resources, making it unusable on lower-end machines and causing slowdowns on higher-end systems. It feels like a "resource monster" that eats up RAM and CPU, even during idle states. 😤

  2. 🌐 Poor Network Management:
    Network performance has always been suboptimal, but it has worsened over time. The app struggles to load content efficiently, leading to delays in streaming and buffering issues. 🐢

  3. 🐌 Slow UI Loading:
    The UI takes a considerable amount of time to load elements, even on fast internet connections. This creates a sluggish and unresponsive user experience. 😩


Proposed Solution

Lightweight Improvements:

  1. ⚙️ Optimize the current Electron implementation to reduce resource usage.
  2. 🖼️ Implement lazy loading for UI elements to improve initial load times.
  3. 📶 Review and optimize network requests to reduce latency and improve streaming performance.

Switch to Tauri (if feasible):

Given the ongoing performance issues, it might be worth considering a migration to Tauri. Tauri is a modern framework that builds lightweight, fast, and secure desktop applications. It uses significantly less RAM and CPU compared to Electron, which could resolve many of the current performance bottlenecks.

Benefits of Tauri:

  • 📦 Smaller bundle size and reduced memory footprint.
  • 🚀 Better performance for UI rendering and network operations.
  • 🔒 Enhanced security and modern tooling.

Additional Context:

Users are increasingly frustrated with the app's performance, especially when compared to the web version of YouTube Music. The app should feel like a native experience, not a resource-heavy browser tab.

I understand that switching to Tauri would require significant effort, but even lightweight optimizations in the current Electron setup would go a long way in improving the user experience.


Call to Action:

This is a critical issue that needs immediate attention. Whether through optimizations or a framework switch, improving performance will make the app more enjoyable for all users. Let’s work together to make this happen! 💪

(Feel free to reach out if you need more details or assistance!)


This follows the same design theme as your example, with emojis, clear headings, and a structured format. Let me know if you'd like further tweaks! 😊

### Preflight Checklist - [x] I use the latest version of YouTube Music (Application). - [x] I have searched the [issue tracker](https://github.com/th-ch/youtube-music/issues) for a feature request that matches the one I want to file, without success. 🚨 **The current Electron-based implementation of the YouTube Music app has significant performance issues that are impacting user experience.** Specifically: --- # **Problem Description** *(This might be a duplicate of an existing issue—so sorry in advance if that's the case! 🙏 Also, sorry if I sound like a clown; I’m not a developer or coder, just a normal user who loves this repo!)* 1. **🖥️ High RAM and CPU Usage:** The app consumes an excessive amount of system resources, making it unusable on lower-end machines and causing slowdowns on higher-end systems. It feels like a **"resource monster"** that eats up RAM and CPU, even during idle states. 😤 2. **🌐 Poor Network Management:** Network performance has always been suboptimal, but it has worsened over time. The app struggles to load content efficiently, leading to delays in streaming and buffering issues. 🐢 3. **🐌 Slow UI Loading:** The UI takes a considerable amount of time to load elements, even on fast internet connections. This creates a sluggish and unresponsive user experience. 😩 --- # **Proposed Solution** ### **Lightweight Improvements:** 1. **⚙️ Optimize the current Electron implementation** to reduce resource usage. 2. **🖼️ Implement lazy loading for UI elements** to improve initial load times. 3. **📶 Review and optimize network requests** to reduce latency and improve streaming performance. ### **Switch to Tauri (if feasible):** Given the ongoing performance issues, it might be worth considering a migration to **[Tauri](https://tauri.app/)**. Tauri is a modern framework that builds lightweight, fast, and secure desktop applications. It uses significantly less RAM and CPU compared to Electron, which could resolve many of the current performance bottlenecks. **Benefits of Tauri:** - **📦 Smaller bundle size and reduced memory footprint.** - **🚀 Better performance for UI rendering and network operations.** - **🔒 Enhanced security and modern tooling.** --- # **Additional Context:** Users are increasingly frustrated with the app's performance, especially when compared to the web version of YouTube Music. The app should feel like a **native experience**, not a resource-heavy browser tab. I understand that switching to Tauri would require significant effort, but even **lightweight optimizations** in the current Electron setup would go a long way in improving the user experience. --- # **Call to Action:** This is a **critical issue** that needs immediate attention. Whether through optimizations or a framework switch, improving performance will make the app more enjoyable for **all users**. Let’s work together to make this happen! 💪 *(Feel free to reach out if you need more details or assistance!)* --- This follows the same design theme as your example, with emojis, clear headings, and a structured format. Let me know if you'd like further tweaks! 😊
Owner

this feels like AI slop

this feels like AI slop
ValiantZippu commented 2025-03-14 05:37:03 +00:00 (Migrated from github.com)

Nah nah i jut told Ai to add emoji cause adding emoji with pc is hard
Everything I typed , I just tweaked with Ai : D [ TO LOOK GOOD ]

Nah nah i jut told Ai to add emoji cause adding emoji with pc is hard Everything I typed , I just tweaked with Ai : D [ TO LOOK GOOD ]
sterno900 commented 2025-04-02 05:35:59 +00:00 (Migrated from github.com)

Tauri pls

Tauri pls
JellyBrick commented 2025-04-02 06:38:19 +00:00 (Migrated from github.com)

Tauri pls

@sterno900
Switching to tauri has no benefit except for binary size.
see https://github.com/Elanis/web-to-desktop-framework-comparison

> Tauri pls @sterno900 Switching to tauri has no benefit except for binary size. see https://github.com/Elanis/web-to-desktop-framework-comparison
JellyBrick commented 2025-04-02 06:39:48 +00:00 (Migrated from github.com)

Also, who wants rewriting all that code?

Also, who wants rewriting all that code?
Owner

For whatever it's worth, I did try rewriting this app in Tauri many months ago, but had a lot of issues.
Tauri is not designed for loading remote websites, Tauri works best when loading a local website.

There is no reliable and easy way to inject code after a website has loaded, Tauri expects you to already have control over the website.

For whatever it's worth, I did try rewriting this app in Tauri many months ago, but had a lot of issues. Tauri is not designed for loading remote websites, Tauri works best when loading a local website. There is no reliable and easy way to inject code after a website has loaded, Tauri expects you to already have control over the website.
Sign in to join this conversation.
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: YTMD/youtube-music#3088
No description provided.