Forum: Algorithmen, Datenstrukturen und Klassendesign
by himitsu,
19. Nov 2014
Man kann es auch Mathematisch erledigen ... wenn man weiß wie die Daten im Bitmap gespeichert werden.
Das Windows-Bitmap wird von unten nach oben gespeichert.
* Scanline auf die letzte Zeile
* und dann liegen die Linies hinterienander
* zwischenden Lines muß man nur noch das Align beachten, also jeweils auf 4 Byte aufrunden, aber bei 32-Bit-Bitmaps fällt das nicht auf
P: TPixelAarray; ...
Forum: Algorithmen, Datenstrukturen und Klassendesign
by himitsu,
19. Nov 2014
Ja, Ziel/Quelle in jeden Thread verschieben und zugleich hoffen, daß Scanline threadsafe ist.
Forum: Algorithmen, Datenstrukturen und Klassendesign
by himitsu,
19. Nov 2014
OK, dann sind es eben massig anonyme Methoden (1), welche in einem Pool warten und von einer Hand voll Threads abgearbeitet werden.
1:
* kurzer Code von nichtmal annähern einer Millisekunde Rechenzeit
* der jeweils nur ein einziges Pixel verarbeitet
Die Verwaltung und Synchronisierung dieses Pools ist garantiert langsamer, als die eingesparte Zeit.
Über die Verarbeitung einer ganzen oder...
Forum: Algorithmen, Datenstrukturen und Klassendesign
by himitsu,
19. Nov 2014
Ja, aktiv sind gleichzeitig immer nur ein paar, aber insgesammt sind es sehr Viele.
Vermutlich also mehr Verwaltungaufwand, als Zeitersparnis.
Vorher gab es Einen Typen, der holte sich alle Infos und arbeitete das dann nacheinander ab.
Jetzt gibt es vielleicht 8 Leute, die rennen gleichzeitig zu einen Verwalter Hauptthread, holen sich durcheinanderredend irgendeine Arbeitsposition...
Forum: Algorithmen, Datenstrukturen und Klassendesign
by himitsu,
19. Nov 2014
Scanline: Ist das auch wirklich ein 32-Bit-Bitmap?
Und man durfte noch nie nicht-threadsichere Befehle in einem Thread ausführen.
Inc z.B.
Außerdem sind alle deine lokalen Variablen sowas wie globale Variablen, welche in allen Threads "gleich" sind.
B muß lokal in die Thread-Prozedur