In einer realen GPU wird der Tiefenpuffer nicht in mehrere Kerne unterteilt, die versuchen, denselben Bereich des Tiefenpuffers zu lesen / schreiben und zwischen ihnen zu synchronisieren, sondern in Kacheln (z. B. 16 × 16 oder 32 × 32) Die Kachel ist einem einzelnen Kern zugeordnet. Dieser Kern ist dann für die gesamte Rasterung in dieser Kachel verantwortlich: Alle Dreiecke, die diese Kachel berühren, werden vom besitzenden Kern (innerhalb dieser Kachel) gerastert. Dann gibt es keine Interferenz zwischen Kernen und sie müssen nicht synchronisiert werden, wenn sie auf ihren Teil des Framebuffers zugreifen.
Dies bedeutet, dass Dreiecke, die mehrere Kacheln berühren, von mehreren Kernen gerastert werden müssen. Es gibt also einen Arbeitsumverteilungsschritt zwischen der Geometrieverarbeitung (Operationen an Scheitelpunkten und Dreiecken) und der Pixelverarbeitung.
In der Geometriephase kann jeder Kern einen Teil der Eingabeprimitive verarbeiten. Dann kann es für jedes Grundelement schnell bestimmen, welche Kacheln das Grundelement berührt (dies wird als "grobe Rasterisierung" bezeichnet), und das Grundelement einer Warteschlange für jeden Kern hinzufügen, der eine der betroffenen Kacheln besitzt.
In der Pixelphase kann dann jeder Kern die Liste der Grundelemente in seiner Warteschlange auslesen, die Pixelabdeckung für die Kacheln des Kerns berechnen und mit dem Tiefentest, der Pixelschattierung und der Aktualisierung des Framebuffers fortfahren, ohne dass eine weitere Koordination erforderlich ist mit anderen Kernen.