ratifico lo dicho por roman. Cuando hice mis pruebas sí se ralentizaba el bucle, obvio ya que en cada ciclo tiene que "respirar".
Solución intermedia: "respirar 1 vez cada x ciclos"
Código Delphi
[-]
if i mod 10 = 0 then
Application.processMessages
Saludos