Paintbox zu langsam

Ich möchte in einer TPaintbox Komponente eine wachsende Linie zeichnen. Wenn ich das Wachstum mit einer TTimer Komponente steuere, dann komme ich ziemlich schnell an eine Geschw.-Grenze, denn die Linie darf nur 1 Pixel groß sein und um Pixel wachsen.
Gibt’s schnellere Möglichkeiten wie TPaintbox?

Danke
Mario

Wahrscheinlich ist der Timer das Problem - die TTimer-Komponente ist recht träge. Du kannst hier mal den Multimediatimer ausprobieren (gibts auch irgendwo im Netz, z.B. Delphi Super Page usw. und/oder Online-Hilfe unter MMTimer nachschlagen). Alternativ kannst du das Wachsen der Linie auch in einen Thread packen oder du machst einen kleine Schleife, innerhalb derer du aber mit Application.ProcessMessages Gelegenheit schafts, Botschaften zu verarbeiten.

Wenn TPaintbox selbst zu langsam ist, kannst du auf die API-Programmierung ausweichen. Hohl dir mit GetDC einen Darstellungskontext, setze die zus. Pixel immer mit SetPixel(DC,X,Y) und Zeiche nur im Bedarfsfall die Linie mit MoveTo(DC,X1,Y1,nil); LineTo(DC,X2,Y2) neu. Hole dir den DC einmal vor Beginn aller Zeichenoperationen und vergiß nicht, ihn mit ReleaseDC wieder freizugeben, wenn du ihn nicht mehr brauchst (frißt sonst ne Menge Systemresourcen). Sieh in der Online-Hilfe nach.

Grüße
Jochen

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]