asilvas / node-image-steam

A simple, fast, and highly customizable on-the-fly image manipulation web server built atop Node.js

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Multi-library batch operation support

asilvas opened this issue · comments

Originally designed with this concept in mind, but feature pulled out of v1 release to expedite stable release. Main benefits of this feature include:

  • Ability to chain independent sets of operations that perform the operation set on the output of the previous set. This chaining enables new and unique image outputs.
  • Image library agnostic, enabling support for per-library operations. This hybrid mode potentially enables new features but still allows use of the most optimal library for the given operation.

Downsides:

  • Be it single image library or multiple, the act of performing an image operation set involves serial reads and writes to/from the imaging library, and naturally comes at a performance cost.
  • Adds some complexity, in that every operation must explicitly call out that it must be broken into a subsequent batch due to the nature of the operation. Order matters.
  • Adds a level of unpredictability for the consumer, not understanding the magic under the covers, as well as the performance implications of their choices.

It's still not clear how important such a feature is to users, so holding off implementation for if/when there is demand.