I have a custom Makie recipe that has plenty of arguments. One of these arguments is a performance setting that allows to deactivate some features when the data to plot becomes too big, such as text calls, which lead to latency.
This setting can be set manually, but I was wondering how to update it properly in a ComputeGraph, based on other arguments of the graph. I tried something along the lines of
map!(plt.attributes, [:data1,:data2] do data1, data2
if length(data1) > 1000
update!(plt.attributes, performance=true) # Fails with ERROR: Attribute performance not found in ComputeGraph
end
end
but that failed. Is there a supported and recommended way to do this ?
Note however that I use this property afterwards as e.g.
if !performance[]
text!(data1, string.(data1))
end
Which is probably in itself somewhat ill-advised, as it is not updated by subsequent modifications to performance. Still this is the only way I know to fully deactivate some plots, as even plots with visible=false can lead to large slow-downs.
Any advice would be greatly appreciated;