Zitat von Gather: „Wie kann ich mir hier eine Fehlermeldung anzeigen lassen?“Die sollte eigentlich im Ausgabefenster erscheinen. Also dieses löschen, solange noch kein Fehler da ist und dann dort suchen und finden. Ansonsten ggf. ein Logging einbauen.
Zitat von Gather: „dass es ein OutOfMemory-Fehler ist.“Mach Dir dochj mal nen ordentlichen Test-Case, so dass praktisch immer ne Exception kommt. Du kannst ja im Output-Fenster den verfügbaren Speicher ausgeben, um das zu verifizieren.
Zitat von Gather: „VB.NET-Quellcode (1 Zeile)“ist performancemäßig absolut suboptimal. Pack die Differenz in je eine Variable und rechne die Quadrate zu Fuß aus: VB.NET-Quellcode (3 Zeilen)
Zitat von Gather: „VB.NET-Quellcode (1 Zeile)“machst Du ggf. gleichVB.NET-Quellcode (1 Zeile)Ist der Else-Zweig so gewollt? Kommt da das p.InCanvas vom letzten Step?
Zitat von Gather: „eine passende Stelle“Zumindest nach der äußeren Schleife. Die Pens hatte ich auch schon in Verdacht. Muss es ein LinearGradientBrush sein? Andere kannst Du vorab berechnen.
Zitat von Gather: „Sie werden doch direkt danach disposed?“Klar werden sie disposed, trotzdem fressen sie viel Speicher. Vielleicht lässt sich das doch durch Vorabberechnung erledigen.
Zitat von Gather: „die punkte in einem lineargradientbrush zu verändern“Ich gehe mal davon aus, dass es nicht geht, weil das intern ein unmanaged Objekt ist, weshalb auch der Speicher zuläuft.