Ich verstehe den Zusammenhang zwischen finden von "Dingen" und dem Zeichnen von Kreisen nicht.
Das Finden von "Dingen" hört sich für mich nach dem typischen CAD-Problem an, wo man von der Cursorposition den nächsten Punkt fangen (snappen) will. Das Problem löst man aber nicht durch das Zeichnen von Kreisen sondern durch suchen von "Dingen" in einer geeigneten Datenstruktur, typischerweise KD-Bäume, Quadtrees oder Octrees.
Klar, man kann seine "Dinge" auch in eine große Pixelmatrix eintragen und die linear durchsuchen, das dauert halt schlicht viel zu lange.
Wenn es wirklich um das Zeichnen von Kreisen geht, dann würde ich den Kreis in ein n-Eck zerlegen und jede Kante des n-Ecks mit einer Antialiasingmethode zeichnen. Idealwerweise läßt man das die Graphikhardware machen, dann kann man mehrere Milliarden Pixel pro Sekunden zeichnen, mit einer 4-Kern CPU kommt man kaum über 200 Millionen Punkte pro Sekunde.
Naja, und was RAM angeht, was sind schon 65536 mal 65536 Pixel zu 3 Byte, wenn man 16GB RAM im Rechner hat?