It’s not the most elegant solution, but you can edit LV_CPICKER_DEF_QF in lv_colorwheel.c. Setting it to 1 gives to best resolution but also requires more time to redraw.
Probably you also need to increase line_dsc.width += 2; in draw_disc_grad if there are gaps between the lines.
The only option I can imagine is using a background image instead of a software rendered gradient.
It seems like a simple update but I’m quite busy with some projects and can not deal with it now.
However we have a widget development service exactly for this kind of cases. Please contact me at gabor@lvgl.io, so that we can cooperate in professional way.