AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Multithreading Systemressourcen erschöpft

Ein Thema von wangxuebing · begonnen am 5. Jun 2012 · letzter Beitrag vom 6. Jun 2012
Antwort Antwort
Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#1

AW: Multithreading Systemressourcen erschöpft

  Alt 5. Jun 2012, 10:22
siehe Klaus
+ BitBlt Bezieht sich auf ein canvas.Handle
+ Resourcenschutz
Thomas Wassermann H₂♂
Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)
  Mit Zitat antworten Zitat
wangxuebing

Registriert seit: 17. Feb 2012
7 Beiträge
 
#2

AW: Multithreading Systemressourcen erschöpft

  Alt 5. Jun 2012, 11:58
Sorry, hatte mich verschrieben. Meinte natürlich BMP1 := TBitMap.Create; und auch das BitBlt ist mit Canvas.Handle (hatte nur keine Lust, alles hinzuschrieben )
Mit einem Thread läufts auch wunderbar durch... Nur ab 2 Threads mag es nimmer...

@Bummi: Wie meinst du das mit dem Ressourcenschutz?
  Mit Zitat antworten Zitat
Benutzerbild von Daniel Schuhmann
Daniel Schuhmann

Registriert seit: 16. Jul 2005
Ort: München
391 Beiträge
 
Turbo Delphi für Win32
 
#3

AW: Multithreading Systemressourcen erschöpft

  Alt 5. Jun 2012, 12:05
Wie meinst du das mit dem Ressourcenschutz?
http://www.delphi-treff.de/tutorials...schutzbloecke/
Daniel Schuhmann
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.784 Beiträge
 
Delphi 10.4 Sydney
 
#4

AW: Multithreading Systemressourcen erschöpft

  Alt 5. Jun 2012, 12:06
Hallo,

Ist BitBlt thread safe?

Der Canvas ist meines Erachtens nicht Thread safe.

Resource Schutzblock:

Delphi-Quellcode:
inst := TInst.create
try
  //tu etwas mit inst
finally
  inst.free
end;
Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
wangxuebing

Registriert seit: 17. Feb 2012
7 Beiträge
 
#5

AW: Multithreading Systemressourcen erschöpft

  Alt 5. Jun 2012, 12:10
Hab grad alles was der Thread macht in Try...finally..end; gepackt. Bringt aber keine Veränderung.
Macht das dem BitBlt was aus, wenn es von einem lokalen Bild etwas in ein anderes lokales Bild in zwei verschiedenen Threads malt?
Bei gleicher Source oder Destination würd ich das ja verstehen, aber wenn die doch lokal im Thread definiert/erzeugt werden...
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.784 Beiträge
 
Delphi 10.4 Sydney
 
#6

AW: Multithreading Systemressourcen erschöpft

  Alt 5. Jun 2012, 12:14
BitBlt ist aber eine Systemfunktion - oder..

Hier findest Du ein Beispiel wie Du BitBlt thread safe verwenden kannst.

BitBlt benötigt GDI resourcen (die sind nicht unbegrenzt verfügbar) - aber bei zwei aktiven Threads sollte das noch kein Problem darstellen.

Grüße
Klaus
Klaus

Geändert von Klaus01 ( 5. Jun 2012 um 13:16 Uhr)
  Mit Zitat antworten Zitat
wangxuebing

Registriert seit: 17. Feb 2012
7 Beiträge
 
#7

AW: Multithreading Systemressourcen erschöpft

  Alt 5. Jun 2012, 15:01
Gibts ne Möglichkeit das Bitmap nicht im Graphikkartenspeicher sondern im Arbeitsspeicher zu halten? Weil davon sollte ich genug haben (50% frei laut Ressourcenmonitor).
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.572 Beiträge
 
Delphi 12 Athens
 
#8

AW: Multithreading Systemressourcen erschöpft

  Alt 5. Jun 2012, 15:10
Das liegt doch im Arbeitsspeicher?


Höchstens wenn man es anzeigt liegt zusätzlich noch etwas davon (eine Kopie) im Grafikspeicher, aber das sollte dort nicht auffallen.
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Antwort Antwort

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 02:04 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-2025 by Thomas Breitkreuz