Parallelize png encodes
AME should automatically parallelize png encodes.
During an encode of a 5.7K video to a png image sequence, I'm getting pretty terrible performance. On an overclocked 10-core Windows machine with a fast GPU, I'm getting just over 1 fps during at 5.7K video export. A 26-min piece will take 15 hours.
CPU, GPU, and disk are all essentially idling--AME is using 1 logical core's worth of compute (5% of total CPU capacity), and GPU is at 0%.
It looks like I can manually parallelize png export in AME. I made 4 jobs, and each ran using 1 logical core (5% of my CPU resources on my 10-core machine). I would need probably 16-18 jobs in parallel to saturate CPU, leaving some overhead for safety, but I'm not sure how much parallelism my SSDs would support in this use case.
STILL, given that a manual setup works, the code should be optimized to automatically parallelize this process. Using 5% of CPU (one out of 20 available logical cores) isn't great, and in the end, there is too much configuration to do this manually because each encode starts numbering from 00000 and requires its own output directory. The frames would need to be renamed and pieced back together afterward, which is tedious and requires third-party batch renaming tools.
Antoine (Autokroma.com) commented
I will think about this for AfterCodecs https://autokroma.com/AfterCodecs/
Steve Skazenski commented
Totally agree. Seems to be hung up on compressing/saving the PNG file before starting to render the next frame.Would be great if another core(s) could handle outputting files while the others render. (After Effects has this same problem.)