Faster batch processing

As suggested by another user, copying my idea here from the TPAI update thread

So to sum up, TPAI is too slow when using it for batches of pictures.
It’s fine for the family man enhancing 40 old family pictures each weekend, but for someone needing to use it on 2000-5000 pictures in a professional setting, it’s really slow. For example compared to Code Former. But quality wise TPAI is a bit better.
I have good hardware (2080Ti on one PC, 3090 on another) and I’m not even using the most demanding features of TPAI, only Remove Noise and Recover faces, nothing else.

It’s slow because it processes pictures one by one, when in theory, it could process several pictures at once. Depending on the user’s hardware of course.

I’m not a coder so correct me if I’m wrong, but there’s 2 possibilities to improve that.

1/Code a real parallel processing system


2/If coding “real” parallel processing is too complicated, you can maybe cheat the system by using grids.

Meaning : let’s say I have 5000 512x512 pictures, each with one face. TPAI makes several grids, so in this case 500 big images containing for example 10x5 512x512 images. Then TPAI will process each of the 500 grid images as one single big image (5120x2560 if I’m not mistaken) containing 50 faces. It should speed up the process if TPAI is able to detect and fix 50 faces on one picture. Then at the end TPAI crops each picture back from the grids and saves them with their original file name & resolution and there you go, you (probably) saved a lot of time compared to processing each jpg one by one.

I don’t know how it’s applicable to TPAI but I’ve seen something like this work with Remini so it’s probably doable.