I was not happy with how slow this was for making vey large resolution gifs, and my generator is capable of using threading and this gif encoder became the bottleneck. So I'm adding a parallelism functionality to it and when I'm finished I'll share it here. Some points:
- My paralellism doesn't support global color maps, so I had to cut that out, I might still include it in the legacy single-threaded option.
- I will also add a support for out of order frame pushes. Because my generator creates the images in paralel, it's not guaranteed they are finished in order, so it would just waste time to wait for the nedxt sequential one.
- I'm also adding support for a cancellation token to quickly cancel and restart the process.
- I'm also letting it take the picture bytes directly without copying them, that however doesn't support any non-BGR format. I might still keep that option in a separate overload.
So basically I will be restructuring the inner workings, but I'll keep the original calls for compatibility, and to use the new features, I'll add overloaded versions of those calls.
I was not happy with how slow this was for making vey large resolution gifs, and my generator is capable of using threading and this gif encoder became the bottleneck. So I'm adding a parallelism functionality to it and when I'm finished I'll share it here. Some points:
So basically I will be restructuring the inner workings, but I'll keep the original calls for compatibility, and to use the new features, I'll add overloaded versions of those calls.