Drawing performance/crispness int vs float

I’m trying to understand if here are any known issues or things to be aware about with respect to drawing using the float based APIs instead of int based APIs.

I’m most interested in issues around performance (CPU usage) and if there are artifacts (blurring, crispness, etc) with drawing using the float based APIs.

Are there any issues that are specific to Macs that are Intel or Arm?
What about iPads?

My software the Massive Meter Bridge, can draw 100s of audio meters. I currently using int based drawing but that has some challenges when auto-sizing many meters and quantizing to integers.

For example, if I’m drawing 100 meters with spacing between them on a 2732 x 2048 resolution screen and I want them to be evenly distributed with the same gap/margin on the left and right, I run into rounding/quantizing issues that case inconsistent gaps/margins.

Drawing on non-integer pixel positions will cause blurry lines since part of the line is drawn on one pixel and part on the neighboring pixel. On HiDPI / Retina screens, this isn’t a big deal and might actually look better. But on 1x screens it will look bad.

(Also, if you use the juce::Graphics drawLine etc functions with floats, you will need to add 0.5f to the positions for 1-point wide lines so that they get drawn exactly on the pixel.)