I don't know of a way to launch multiple instances of an app from the GUI, but macOS is a certified Unix so there's always a way to do just about anything from shell():
https://stackoverflow.com/questions/473 ... ion-in-mac
Useful as multiprocessing is in some circumstance, it's not a universal panacea for general performance. Breaking an unusually large task into smaller parts running in parallel carries its own coordination overhead, sometimes more trouble than it's worth.
And none of the instances can run any faster than the current code, so let's first optimize the code before we decide to make it more complex
--
The OP states the following needs:
- resizing
- cropping
- applying filters
The good news is two of those three (resizing, cropping) are handled in the engine via compiled object code. Those can be done very quickly with the LC engine.
The bad news is that while it's possible to write image filters in a scripting language, it's rarely done. Even where the big players like Adobe will use a scripting language for the GUI, as they did with Lua for Lightroom, they use optimized compiled code for filtering, usually written in C++ or C.
BUT -
We don't yet know what those filters are, and LC has a LOT of flexible options for tinting, blurring, and more.
So first, Emmanuel, could you describe what those filters need to do?
This may be very easy. Or it may be very hard. It will depend on knowing what's needed.
--
While we wait for Emmanuel's reply, for the sake of completeness I'll outline options for image filtering here in case we need them for this, or perhaps someone else might need them down the road.
There are at last three ways to approach this:
A)
External: Do what most do and write computationally-intensive components in C. LC provides an externals interface for that purpose.
There's enough sample code in the world for image processing in C that I suspect the custom coding will be mostly wrapping it in LC's externals interface.
B)
Dedicated App: Find some way to offload image filtering to an external process optimized for that.
Thomas McGrath once shared some sample code here for using Automated to hand off filtering to Quartz Composer, which may inspire a more modern solution.
viewtopic.php?f=19&t=1653
C)
Bite the bullet and script it.. This will be slow, and a lot of work. But if nothing else works out, as the great poet Donald Rumsfeld used to say, you go to war with the army you have.
Back in 2012 there was a thread here on image manipulation, where Bernd contributed a handler for brightening an image pixel by pixel, which may be a useful starting point for other filtering:
viewtopic.php?f=10&t=9490&start=75#p58787
This thread from the year before includes code examples for pattern stamping and gradients (the latter is now well handled in LC directly, but a good example of pixel operations):
viewtopic.php?f=6&t=8918&start=15
Somewhere in this community there was once even a convolver, but as you can imagine it was veeeeeery slow relative to what people are used to from compiled apps that I'd did into my archives to see if I can find it only if no other option proves useful.
--
Let's find out what Emmanuel needs, and hopefully it's something that can be done gracefully and quickly without pixel-by-pixel operations.