papyrusjs icon indicating copy to clipboard operation
papyrusjs copied to clipboard

Windows support

Open clvrk opened this issue 5 years ago • 1 comments

With PR https://github.com/clarkx86/papyrusjs/pull/15 Windows support is now possible in theory. Quoting the PR summary:

The problem is that Mapnik dropped Windows support a while ago and I've to find a library that is nearly as fast as Mapnik for stitching images.

If anyone has a good suggestion for a comparably fast module such as Mapnik that compiles on Linux, Windows, macOS x86 & x64 (and optimally ARM), I would be more than happy to investigate and implement it.

As a kick start, my benchmarks showed that jimp is way to slow for this use case and sharp is currently not nearly as fast as Mapnik for stitching images.

Thanks, clarkx86 :-)

clvrk avatar Dec 09 '19 19:12 clvrk

Small update: Rendering on Windows works now with the new bindings added in https://github.com/clarkx86/papyrusjs/commit/d503529cd688b56fc7e088e91afbdaf856df2bc4, but it's suuuper slow (60 cp/s instead of 300 cp/s on my system), due to the FFI, I guess... That means Linux renders would be also slow. An alternative would be fastcall, but it hasn't been updated in quite some time and doesn't compile at all on node.js 12. Also, I'm not too sure if it would even make too much of a difference in performance. Native bindings would be the way to go. Unfortunately sharp hasn't implemented the proposed arrayjoin() function yet.

clvrk avatar Dec 12 '19 02:12 clvrk