-
-
Notifications
You must be signed in to change notification settings - Fork 5
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
App crashes with high number of images and "performance" settings #57
Comments
Forgot to mention that effort=9 (I want max quality, ready to have longer processing time), Intelligent mode =OFF |
What is the highest resolution in those images you're processing? You can enable the "Low RAM" mode to handle this edge case for now and/or use Effort 7. Effort 8 and higher require an unreasonable amount of RAM for high resolution images. Effort 7 does streaming encoding, while 8 and higher does not. I filed an issue to The "Low RAM" mode runs the conversion as if you were using a script. One image at a time. |
Thanks. If I use Low RAM, and effort = 9 , RAM consumption will still be "reasonable" and constrained (I have 32 GB) ? If not, then maybe the label "Low RAM" should be renamed, like e.g. "one at a time" (as opposed to "parallel") ?? Thanks for filling an issue with libjxl. |
I consider 8 k to be "high-res" because it requires over 8 GB of RAM to be processed with Effort 9. Review my libjxl issue for more details. I will be reworking this function. The naming and the way it works will most change in the next version. |
8 GB is "reasonnable" for me :-) So I will keep effort=9. |
Thanks. If |
This issue is related to #49 For now, I'll wait for the next Ideally, I would like to transition to using the API at some point. However, that's a big undertaking. |
@JacobDev1 A little tip: you can save your time if don't rush to close threads that deal with unresolved issues. |
The next update will address this problem. "Multithreading" modes will be replaced by this option: "JPEG XL - Optimize RAM Usage". This optimizer will switch to single-worker mode when streaming encoding is unavailable. It will fix the high RAM usage at the cost of some encoding speed. It won't prevent the program from using multiple threads. |
Version
1.0.2
OS
Linux
Description
Using the App Image and 1050 jpg file to convert (around 1 to 2 Mb each), multi-threading = performance, threads = 16, conversion starts ok, but available memory (32 Gb) is eaten up till the system crashes. Superb app by the way :-)
Steps to Reproduce
Proceed as in the description
Expected Result
Even in "performance" mode, the app should provide a notification message when lets say a certain level of system memory has been consumed (or is left), then stop the conversion, releasing the memory allocated. All that without crashing.
Current Result
The memory is consumed until system crashes.
Input Formats
jpg
Output Format
jpeg XL
Additional Information (Optional)
Here is my system info :
The text was updated successfully, but these errors were encountered: