AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Threadübergreifende Bitmap

Ein Thema von FirstTry · begonnen am 1. Okt 2015 · letzter Beitrag vom 4. Okt 2015
 
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#22

AW: Threadübergreifende Bitmap

  Alt 3. Okt 2015, 09:39
Nur das Sleep verbessert die Situation. Die Bitmap Instanz kann man erzeugen wo man möchte.

Problematisch ist nicht TBitmap an sich, sondern TBitmap.Canvas . Da wird intern etwas Globales verwendet und das fällt einem auf die Füße.

Ein TCanvas.Lock /TCanvas.Unlock sollte eigentlich helfen, aber leider auch nur bedingt. Irgendwann kommt man in einen Deadlock, wenn das zu schnell von unterschiedlichen Threads erfolgt.

Darum bringt die Verwendung von Sleep eine Verbesserung.

Wenn man eine echte Lösung haben möchte, dann sollte man TBitmap im Thread vergessen und dort auf TBitmap32 von Graphics32 setzen.

Zu dieser Erkenntnis kommt man auch hier: How threadsafe is TBitmap
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:32 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz