TransparentLC / realesrgan-gui

实用、美观的 Real-ESRGAN 图形界面,同时支持 Windows、Ubuntu 和 macOS 平台。现在也支持 Real-CUGAN 了!(Cross-platform GUI for image upscaler Real-ESRGAN with additional features. Now with Real-CUGAN support!)
http://akarin.dev/realesrgan-gui/
GNU Affero General Public License v3.0
653 stars 39 forks source link

[FEATURE_REQUEST] add Real-ESRGAN folder input #79

Closed the-liquid-metal closed 1 week ago

the-liquid-metal commented 2 weeks ago

Rather than bundling the GUI app with the Real-ESRGAN app, it would be better if there is folder input so that the user can manually type/select already provided Real-ESRGAN app.

TransparentLC commented 2 weeks ago

You can set Real-ESRGAN executable's path and model dir in upscaler and modeldir of config.ini.

Example:

[Config]
upscaler = D:\realesrgan-gui\upscayl-bin.exe
modeldir = D:\realesrgan-gui\models
the-liquid-metal commented 2 weeks ago

It does not work. My config.ini:

[Config]
upscaler = E:\Downloads\Real-ESRGAN\realesrgan-ncnn-vulkan.exe
modeldir = E:\Downloads\Real-ESRGAN\models

and my gui path: E:\Downloads\Real-ESRGAN-GUI

Why does the gui needs upscayl?

upscaler = D:\realesrgan-gui\upscayl-bin.exe
the-liquid-metal commented 2 weeks ago

At first run the app does not create "config.ini". The app simply exits with alert message. So new user would not know there is a config. no matter what, "config.ini" must be created and informs the user how to edit (or download).

TransparentLC commented 2 weeks ago

Why does the gui needs upscayl?

upscayl/upscayl-ncnn is an actively maintained fork of real-esrgan-ncnn-vulkan. It can be used as a drop-in replacement.

Of course you don't need to download upscayl/upscayl.

So new user would not know there is a config.

At first, config.ini is only used to save configs and most users needn't edit it manually. Even if I added the feature of setting the executable and model's path later, I also wouldn't consider adding controls to set them in the GUI, as I don't think most users need to use this feature.

"config.ini" must be created and informs the user how to edit.

Perhaps I should add an example and a more detailed description ...

the-liquid-metal commented 2 weeks ago

upscayl/upscayl-ncnn is an actively maintained fork of real-esrgan-ncnn-vulkan. It can be used as a drop-in replacement.

What happen with xinntao/Real-ESRGAN-ncnn-vulkan? Is it archived? I don't see any message there.

I don't really understand the relation between xinntao/Real-ESRGAN, xinntao/Real-ESRGAN-ncnn-vulkan, upscayl/upscayl-ncnn, and your TransparentLC/realesrgan-gui. Can you explain it more detail?

I did use upscayl/upscayl. It consumes much more space and memory, so i decided to use console directly and replace it with xinntao/Real-ESRGAN. It feels impractical. Then i found your TransparentLC/realesrgan-gui.

I proposed folder input to avoid a lagging state between the main app and its dependencies, since this app is a simple app and has accomplished its goal, and lack of developer time is a common case in OSS. If there is a folder input, users don't have to wait for main app update. They can update its dependencies themself.

It is a risky situation on the user side if the main app and its dependencies are in one folder. I have experienced many times losing files while updating dependencies.

TransparentLC commented 2 weeks ago

Is it archived? I don't see any message there.

No, but the author hasn't commit new code in at least two years.

However, either xinntao/Real-ESRGAN-ncnn-vulkan or upscayl/upscayl-ncnn works fine at present, so you can ignore the difference and just use one of them.

I don't really understand the relation between ...

They can update its dependencies themself. I have experienced many times losing files while updating dependencies.

The only dependencies are Real-ESRGAN-ncnn-vulkan or upscayl-ncnn's executable and the models. If you need to update them, just download the latest files and overwrite them or set the paths in config.ini. Will this cause any other files to be lost?

the-liquid-metal commented 1 week ago

The only dependencies are Real-ESRGAN-ncnn-vulkan or upscayl-ncnn's executable and the models. If you need to update them, just download the latest files and overwrite them or set the paths in config.ini. Will this cause any other files to be lost?

I admit that I gave up on this issue, since the main app consists of only one file.

If one day you decide to refactor your app into more than one file, please consider my suggestion. Even though here is still no folder input, at least the dependency files are separate from the main app files.