Open wsshin opened 1 year ago
Have you profiled this to see where the time is spent?
This array contains 9999994 values with the last example. Rather than 6 for 1e0:2e0:10e0
or 0 for 1e6:2e6:10e6
. Both e6 and e-6 fail to generate correct ticks (no ticks, overlapping ticks). Probably more Float32 issues?
Is there anything stopping use from having the whole tick calculation run with Float64/Point2{Float64} and converting to 32 bit floats at the end, i.e. in plot! calls?
More specifically, this block has 1.0000001f-5 : 1.0000001f-6 : 10.0f0
as the final range. The vmax
comes from limits, which are still the default (0, 10).
No I don't think anything's stopping us, to be honest most of that stuff is from the very beginning where I thought everything in Makie had to be Float32 so it needs an overhaul
Does that mean that now it is OK to change all Float32
occurrences in Makie to Float64
. That sounds like a simple change to me, but I guess I'm probably wrong...
No :) it just means that there are more Float32's around than necessary. A lot of these can be changed in principle, but a lot of them are still necessary for GLMakie/WGLMakie and would require a rewrite of the backend-dependent conversion logic.
The problem here isn't Float32, it's that ticks and limits don't synchronize early. That results in a range of 1e-5:1e-6:10 valid tick positions (?) in the snippet above, which is a big array.
MWE:
Result:
Version info: