AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Cross-Platform-Entwicklung MacOS: Bitmap drucken und (GlobaluseMetal := True) crasht

MacOS: Bitmap drucken und (GlobaluseMetal := True) crasht

Ein Thema von Harry Stahl · begonnen am 15. Mai 2021 · letzter Beitrag vom 24. Mai 2021
Antwort Antwort
Benutzerbild von Harry Stahl
Harry Stahl

Registriert seit: 2. Apr 2004
Ort: Bonn
2.176 Beiträge
 
Delphi 10.4 Sydney
 
#1

MacOS: Bitmap drucken und (GlobaluseMetal := True) crasht

  Alt 15. Mai 2021, 23:51
Wenn ich meine MACOS-Anwedung mit "GlobalUseMetal := True" kompiliere, crasht das Programm an dieser Stelle:

Delphi-Quellcode:
PrintPage(Scrollbox1.Bitmap.Canvas, x);
// Und das folgende crasht
Printer.Canvas.DrawBitmap (Scrollbox1.Bitmap, RectF (0,0,Scrollbox1.Bitmap.Width, Scrollbox1.Bitmap.Height),
            RectF (0,0, Printer.PageWidth, Printer.PageHeight), 1, false);
Und zwar entsteht der Fehler in Unit FMX.Canvas.Mac, TcanvasQuartz.Dodrawbitmap in der Zeile (1505):

ImageRef := TQuartzBitmap(ABitmap.Handle).GetImage; Wenn ich das Programm ohne GlobalUseMetal komiliere, funktioniert der Druck.

Ist das schon mal jemanden untergekommen, evtl. ein WorkAround bekannt?

Ach ja, Delhii 10.4.2 und MacOS Bigsur (aber auch unter Mojave)
  Mit Zitat antworten Zitat
CHackbart

Registriert seit: 22. Okt 2012
237 Beiträge
 
#2

AW: MacOS: Bitmap drucken und (GlobaluseMetal := True) crasht

  Alt 16. Mai 2021, 21:17
Hallo Harry,

das ist mit ziemlicher Wahrscheinlichkeit ein Bug. TCanvasQuartz ist die alte Anzeigebibliothek für MacOS und wird bei aktiviertem Metal ziemlich sicher gar nicht initialisiert. Übrigens hab ich nie mit FMX und TCanvasQuartz eine normale Anzeige auf meinem iMac zum Laufen bekommen. Ich musste immer was eigenes in OpenGL schreiben, aber Metal ist echt cool. Ich kriege hier in 5k knapp 1000 Frames, wenn ich ein 4k HEVC Video abspiele. Was mich dabei allerdings wundert ist, ich dachte GlobalPreferredFramesPerSecond in Kombination mit GlobalEventDrivenDisplayUpdates limitiert das auf 60 Frames.

Christian

Geändert von CHackbart (16. Mai 2021 um 21:19 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Harry Stahl
Harry Stahl

Registriert seit: 2. Apr 2004
Ort: Bonn
2.176 Beiträge
 
Delphi 10.4 Sydney
 
#3

AW: MacOS: Bitmap drucken und (GlobaluseMetal := True) crasht

  Alt 17. Mai 2021, 00:52
Hallo Harry,

das ist mit ziemlicher Wahrscheinlichkeit ein Bug. TCanvasQuartz ist die alte Anzeigebibliothek für MacOS und wird bei aktiviertem Metal ziemlich sicher gar nicht initialisiert. Übrigens hab ich nie mit FMX und TCanvasQuartz eine normale Anzeige auf meinem iMac zum Laufen bekommen. Ich musste immer was eigenes in OpenGL schreiben, aber Metal ist echt cool. Ich kriege hier in 5k knapp 1000 Frames, wenn ich ein 4k HEVC Video abspiele. Was mich dabei allerdings wundert ist, ich dachte GlobalPreferredFramesPerSecond in Kombination mit GlobalEventDrivenDisplayUpdates limitiert das auf 60 Frames.

Christian
Seltsamerweise wird die gleiche Stelle, wenn es knallt auch durchlaufen, wenn GlobalMetal nicht aktiviert ist (wohl default).

Na ja, werde morgen abend mal ein Demo produzieren und eine QC-Meldung machen...
  Mit Zitat antworten Zitat
Benutzerbild von Harry Stahl
Harry Stahl

Registriert seit: 2. Apr 2004
Ort: Bonn
2.176 Beiträge
 
Delphi 10.4 Sydney
 
#4

AW: MacOS: Bitmap drucken und (GlobaluseMetal := True) crasht

  Alt 24. Mai 2021, 23:37
So, leider bin ich erst jetzt dazu gekommen, einen QC-Beitrag zu erstellen, jetzt ist er online mit demo-app.

Also wer unter MacOS Bitmaps mit Metal drucken will, kann die Behebung des Fehlers ja gerne mit einem Vote unterstützen.

https://quality.embarcadero.com/browse/RSP-34053
  Mit Zitat antworten Zitat
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 +2. Es ist jetzt 06:21 Uhr.
Powered by vBulletin® Copyright ©2000 - 2021, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2021 by Daniel R. Wolf