Если ваш круг зафиксирован, могу поспорить, есть способ использовать маски, чтобы сделать это очень быстро - поиск в Google говорит мне, что PorterDuffXfermode - это то, что вам нужно.
В противном случае вы можете сэкономить время, выполняя вычисления более эффективно. Во-первых, не используйте пау, чтобы выровнять вещи. Во-вторых, предварительно вычислите ваш радиус за пределами цикла. Ваш теоретический компилятор все исправит за вас, но не рассчитывайте на это.
В-третьих, рассмотрите возможность использования алгоритма круга Брезенхэма , чтобы найти начало и конец каждой строки круга, а затем скопируйте пиксели по одной строке за раз вместо одного пикселя за раз.