vrcx-team / VRCX

Friendship management tool for VRChat
MIT License
909 stars 167 forks source link

[feature request] Switch to electron #58

Open MrAlexEsisteGia opened 4 years ago

MrAlexEsisteGia commented 4 years ago

i'm not even remotely an expert on this stuff so if I say some dumb shiet, you know why

Considering that a large part of VRCX is based on a browser, why not change to electron

it's probably a lot faster than the webview used by the os Considering I often see a kinda high usage in the background (0.7~5%) with 6+ threads and it's one of the most CPU intensive apps on idle (at least for me with a ryzen 7 3800x)

I'm not saying that a full rewrite/change to Electron is a good idea but I think that integrating it for the user interface wouldn't be so bad

Any thoughts? also I love the app so much

MrAlexEsisteGia commented 4 years ago

image for context

Myrkie commented 4 years ago

electron is very buggy and unstable discord and twitch app are examples of this

pypy-vrc commented 4 years ago

VRCX is using cefsharp as webview. cefsharp is c# binding for the chromium embedded framework. electron also using CEF. so there is not much difference. (only my code causes performance issue. 🤣)

I'm also considering migrating to electron. but this is just a plan. cuz it's to get the benefits of cross-platform, not for performance. and it needs to port some features written in native c# to javascript or nodejs extension (c++). however, there is no guarantee that this will provide better performance.

sorry about the performance of VRCX. it looks like a simple web page, but it does a lot of complex things internally (vr overlay, logging, etc). but, there are many things to optimize or improve. I will fix it someday. 😖

MrAlexEsisteGia commented 4 years ago

oomf if and when you decide to switch to electron tell me and ill try to help you port stuff to it and the mess that is javascript

and next time code bad'nt .-.

TayouVR commented 3 years ago

I know this is a rather old thread, but I just wanted to say... knowing node and js performance overall I would think it would be a better thing to stay with cefSharp than switching to node and electron. cefSharp should run cross platform too and if you can get all the other libraries used to run cross platform you can compile with mono / dotNet Core and run the application on linux or even mac (though I don't think VRC runs on macs)

Maybe I can get my development environment for linux set up some time and attempt a linux version.

Natsumi-sama commented 3 years ago

I don't think CefSharp can work with mono but maybe .NET Core? I'm not sure haven't really looked into it, but cross platform support would be great. https://github.com/cefsharp/CefSharp/issues/1450 https://github.com/cefsharp/CefSharp/issues/3197

borrougagnou commented 3 years ago

Change C# to electron... bad idea... electron eat a lot of ram...

If you really really really really want to migrate in another tool, try tauri, but please, no electron. img

I also hope you don't leave the C# support...

alxsch commented 2 years ago

image I see its in progress but it does tie up the OBS installer. Maybe other things too?

Natsumi-sama commented 2 years ago

This error is unrelated, also I have no clue how or why you got this error.

Fummowo commented 2 months ago

image I got the OBS thing too, but more specific this time

Natsumi-sama commented 2 months ago

Both programs use Cef so it seems the installer can't distinguish between these 2 programs, it is a OBS installer bug.

Myrkie commented 2 months ago

Both programs use Cef so it seems the installer can't distinguish between these 2 programs, it is a OBS installer bug.

the installer goes by what applications process handle lock the folder, lots of apps randomly lock the obs folder, ive noticed vrcx, everything, firefox and free download manager do this, even have had it happen with the plastic scm folder getting process locked by unrelated apps. just tried to update plastic now

image image

previously LOCKDE~1_oXB2kz5S1I