# \[ANN\] MakieLayout.jl: A layout manager for Makie.jl

**URL:** <https://discourse.julialang.org/t/ann-makielayout-jl-a-layout-manager-for-makie-jl/31218>\
**Category:** Package Announcements\
**Created:** [November 18, 2019, 11:22am UTC](https://discourse.julialang.org/t/ann-makielayout-jl-a-layout-manager-for-makie-jl/31218 "2019-11-18T11:22:31Z")\
**Posts on this page:** 6\
**Page:** 2

<div class="post-metadata">

**Author:** ![sdanisch](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/sdanisch/32/1406_2.png) [@sdanisch](https://discourse.julialang.org/u/sdanisch)\
**Post date:** [December 19, 2019, 8:30am UTC](https://discourse.julialang.org/t/ann-makielayout-jl-a-layout-manager-for-makie-jl/31218/21 "2019-12-19T08:30:17Z")

</div>

Where would you expect serious threading?

---

<div class="post-metadata">

**Author:** ![rapus95](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/rapus95/32/3773_2.png) [@rapus95](https://discourse.julialang.org/u/rapus95)\
**Post date:** [December 19, 2019, 10:41am UTC](https://discourse.julialang.org/t/ann-makielayout-jl-a-layout-manager-for-makie-jl/31218/22 "2019-12-19T10:41:56Z")

</div>

at the spot in between Makie and MakieLayout. Generally, when plotting multiple graphs in disjunct places, that could be threaded, couldn’t it?  
OTOH it might be possible to separate conversion pipeline and actual rendering. Same holds for sliders etc as these might trigger relatively complex recalculations.  
Overall it might be clever to move the whole rendering into another thread and offer sync. That way calculations by a non-aware user won’t run into problems while aware users can use the full capability of own threads and just queuing into the render thread.

My case is rendering 6 different plots with aligned axes. Dragging and zooming did lag last time. Nothing major, but nevertheless an opportunity.

---

<div class="post-metadata">

**Author:** ![aramirezreyes](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/aramirezreyes/32/42573_2.png) [@aramirezreyes](https://discourse.julialang.org/u/aramirezreyes)\
**Post date:** [December 19, 2019, 8:56pm UTC](https://discourse.julialang.org/t/ann-makielayout-jl-a-layout-manager-for-makie-jl/31218/23 "2019-12-19T20:56:59Z")

</div>

But Makie is fast because it uses the GPU, no? Would you expect to mix threads with GPU parallelism?

---

<div class="post-metadata">

**Author:** ![juliohm](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/juliohm/32/215266_2.png) [@juliohm](https://discourse.julialang.org/u/juliohm)\
**Post date:** [December 19, 2019, 9:34pm UTC](https://discourse.julialang.org/t/ann-makielayout-jl-a-layout-manager-for-makie-jl/31218/24 "2019-12-19T21:34:59Z")

</div>

Thanks for this amazing work. Looking forward to seeing it merged into Makie.jl. I understand that the repo is separate now just so that you can advance with your ideas without being interrupted by other changes in the AbstractPlotting.jl codebase, is that correct? I’d love to do `using AbstractPlotting` as a developer or `using Makie` as a user, and get access to this nice layout features.

Keep on with the great work, and happy celebrations!

Cheers,

---

<div class="post-metadata">

**Author:** ![rapus95](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/rapus95/32/3773_2.png) [@rapus95](https://discourse.julialang.org/u/rapus95)\
**Post date:** [December 20, 2019, 7:22am UTC](https://discourse.julialang.org/t/ann-makielayout-jl-a-layout-manager-for-makie-jl/31218/25 "2019-12-20T07:22:18Z")

</div>

I’m not sure whether that will work. Ofc I know it CAN work, but it’s a LOT of effort I think. That’s why I said to do actual rendering in a distinct render thread. The whole pipeline before actually rendering could be parallelized though, I guess.

---

<div class="post-metadata">

**Author:** ![jules](https://avatars.discourse-cdn.com/v4/letter/j/41988e/32.png) [@jules](https://discourse.julialang.org/u/jules)\
**Post date:** [December 22, 2019, 5:14pm UTC](https://discourse.julialang.org/t/ann-makielayout-jl-a-layout-manager-for-makie-jl/31218/26 "2019-12-22T17:14:22Z")

</div>

There is still a lot of optimization potential for interaction with linked axes I think, right now zooming and panning them is pretty slow. Also, the ticks are suboptimal because I was waiting for a fix in AbstractPlotting that allows me to make all ticks one annotation plot instead of 20 text plots. So many text plots make updating the tick marks much slower than it has to be. These things gladly don’t need any threading, so let’s see how far we can get that way.

[Previous page](https://discourse.julialang.org/t/ann-makielayout-jl-a-layout-manager-for-makie-jl/31218.md?page=1)
