Спасибо большое)) 4 дня уже мучился. С прямоугольником проблема решилась добавлением +0.5 ctx.strokeRect(x+0.5,y + 0.5,width, height), с кругом пока нет, но хоть понятно куда копать. Еще не прочитал, но здесь как понимаю объяснение почему так происходит
https://stackoverflow.com/questions/...ine-blurryness