Beep6581 / RawTherapee

A powerful cross-platform raw photo processing program
https://rawtherapee.com
GNU General Public License v3.0
2.95k stars 327 forks source link

To add delay option (in seconds between images) to Queue settings #6729

Open dsrafsvlho opened 1 year ago

dsrafsvlho commented 1 year ago

Hello,

Problem: When I run Queue processing, it's overheat the system very fast and system start thermal throttling. Coolers, work on the full blast, but very fast system become usefulness. The overheating of laptop also not so good for it. (I use RawTherapee 5.9 on the Archlinux system that work on Lenovo P15 workstation with Intel® Core™ i7-10750H CPU @ 2.60GHz × 12)

The suggestion is: To add delay option (in seconds between images) to Queue settings.

Possible advantages: If this feature exist each user can adapt Queue using for his workflow and his equipment. For example if my system overheat I can set 5 seconds delay between images, and left it work for all night. In this case it doesn't matter if it will be processed for 1 hour or for 5 hours. But if I need to process images as soon as possible, it is easy to choose 0 second delay. If user need to use the laptop during the image processing, he can choose any delay, 10 seconds for example - so will not have any throttling effects and will be able to use the computer for any other purposes. However, if another user has computer with good cooling system, he can choose to set this delay to 0.

Hope, it shouldn't be so difficult to add this option, and it helps a lot to many users who use laptops.

Thank you in advance!

Dmitry

Lawrence37 commented 1 year ago

My first thought is that your system's power/performance settings is a better way to handle the issues. A delay option would reduce average temperatures, but there can still be unacceptable spikes and responsiveness will still decline while an image is processed. With your system's performance management, you can set a global limit on CPU utilization and also de-prioritize RawTherapee so other programs remain responsive.

dsrafsvlho commented 1 year ago

Thank you for your answer!

No, it shouldn't be unacceptable spikes, because each system has some level of thermal inertia.

For example, when I process one or even 3-4 RAW files, there are no problem at all, the cooling system work on medium level, but if I have to process 10-20 files queue the temperature become grow, the cooler's speed grow as well, because laptop doesn't have enough cooling resources, and it becomes throttling.

So if it is possible to set any delay between files processing it still will be some level of thermal oscillation near medium level, but it will not be a problem because cooling system will handle with it. If we add some delay-element to the process we simply spread the power in time and cooling system has more time to remove that heat from the laptop.

It's exactly the same as usual oven works. When you set up medium temperature - the oven simply add delay between the heater on, and the less temperature you need - the more seconds delay you have.

(I saw the recommendation to restrict the number of threads/processors RawTherapee use, and I believe it's possible) But possibility to add delay - is much more convenient and simple way for any non-technical and technical users.

Best regards, Dmitry

My first thought is that your system's power/performance settings is a better way to handle the issues. A delay option would reduce average temperatures, but there can still be unacceptable spikes and responsiveness will still decline while an image is processed. With your system's performance management, you can set a global limit on CPU utilization and also de-prioritize RawTherapee so other programs remain responsive.

Lawrence37 commented 1 year ago

Spikes in temperature will depend on the hardware and what tools are active for the particular image. If you use CPU-intensive tools like dynamic range compression, processing time for a single image can be long enough to trigger throttling.

dsrafsvlho commented 1 year ago

Lawrence37, I agree with you! Of course the systems that have thermal throttling from one image exists. So, users, who have throttling from one image still will have it.

But we are talking about queue, and if user don't have throttling from one image, but have it from queue (from series of images), the approach with delay will resolve the problem. So queue will be more useful. I believe this is a simple feature, much easy than spot removal, for example, and I believe a lot of people use laptops nowadays. Probably it might be a good idea to use their devices more carefully.

Anyway, it isn't a problem for me anymore, I just used python script to build my own queue. I still believe it might be useful for many users, but, if you don't think so - no problem.

Best Regards, Dmitry