![]() |
synchronisieren zwischen GDI/OGL
Wie kann ich GDI und OGL so im einklang bringen das ich AV's bedingt
durch die Asynchronisation verhindern kann? Wenn ich im resize meinen buffer verändere auf die neuen ausmaße aber gleichzeitig im renderevent auf diesen zugreife dann krachts. Ok ich verhindere den AV indem ich die kritischen stellen mit einer CriticalSection umgebe ist eine lösung aber keine auf dauer. Ist eine synchronisierung überhaupt möglich? Ich kann den Buffer nicht sperren da er mit GDI Mitteln erstellt wird. (CreateDIBSection) Es gäbe eine alternative gdipBitmapLockBits. Dadurch würde sich meine lib aber um 400KB vergrößern da ich dann GDI+ einbinden müßte nur wegen zwei Funktionen. gruss |
AW: synchronisieren zwischen GDI/OGL
Du darfst bei GDI-Ressourcen nur in dem Thread auf die Ressourcen zugreifen in dem das GDI-Objekt erstellt wurde.
Anders geht es nicht. Die Lösung wäre wenn du schon OGL (= OpenGL?) einsetze das du komplett auf GDI verzichtest. |
AW: synchronisieren zwischen GDI/OGL
Zitat:
Es ist aber nicht anders machbar da die Anwendung das resize auslößt. Ich kann die API also nicht in meinem Thread einlagern. Eine alternative für CreateDIBSection? In OpenGL ..Wäre Interessant ;) Hat oder kennt da jemand was? gruss |
AW: synchronisieren zwischen GDI/OGL
Sehe gerade das du das Problem schon 4 Jahre vor dir herschiebst:
![]() Hast du schon mal die diskussionen nachverfolgt wenn du nach "CreateDIBSection OpenGL" googelst? |
AW: synchronisieren zwischen GDI/OGL
Zitat:
Überall wird das HBitmap mit CreateDIBSection erstellt.. alternativ von einem Image geladen. Nur das habe ich nicht. ;) Es ging hier aber auch um etwas anderes nicht darum um CreateDIBSection zu ersetzen. Irgendwie scheint es da nicht das richtige zu geben. Sonst hätte ich es schon vor Jahren gelößt. Was ich quasi benötige ist ein ersatz für den VisBuf "Pointer zu den Bitmap Daten" der über CreateDIBSection erzeugt wird. gruss |
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:03 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