Move map printing to a node process #590
Replies: 5 comments
-
I'm not sure that performance is a reason for doing this. I think if we are going to switch from the current architecture (rendering in an electron renderer, essentially rendering in Chrome) then we should measure the performance first to check if it is a reason to try to change things. We should also bear in mind the potential risk of rendering diverging from what the user sees in the other map views in the app, which use |
Beta Was this translation helpful? Give feedback.
-
@gmaclennan I meant performance in terms of the amount of time it takes to render a full PDF (>50 pages for example takes a few minutes right now) rather than FPS. I'd hope that would be faster with the native implementation, although I haven't been able to try it (and yes I agree that testing the difference would be a good idea). |
Beta Was this translation helpful? Give feedback.
-
Thank you @brianreavis ! |
Beta Was this translation helpful? Give feedback.
-
Yes, I believe most of that time is downloading resources, not the actual rendering. That's what I saw when testing doing parallel renders to speed things up (it didn't). It would be good to actually measure and check that though. |
Beta Was this translation helpful? Give feedback.
-
Right now, the map printer is in it's own electron renderer -- see desktop architecture diagram. Ideally, this would be in a node process instead, for performance reasons. But to do that, we need mapbox-gl-native to work with Node 12.
Unfortunately, mapbox-gl-native does not work with Node 12, and Mapbox has said they have discontinued support for the Node bindings. See the following discussion to follow along:
Beta Was this translation helpful? Give feedback.
All reactions