Einzelnen Beitrag anzeigen

Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.021 Beiträge
 
Delphi 12 Athens
 
#6

AW: [FMX] warum sind bei FMX Positionsangaben Singlewerte?

  Alt 2. Apr 2020, 08:00
Auch in einer VCL-Anwendung entspricht eine Integer-Koordinate nicht immer einem Pixel auf dem Bildschirm. Das gilt auch ohne eine eventuelle Skalierung bei High-DPI. Das Windows-GDI kennt verschiedene Coordinate Spaces, die zwar alle auf Ganzzahlen basieren, aber nicht zwingend eine 1:1 Beziehung zu Pixeln darstellen. Gerade diese Ganzzahl-Darstellung oberhalb der Device-Ebene führt aber auch zu Problemen durch fortschreitende Rundungsfehler.

FMX orientiert sich eher an Grafik-Schnittstellen wie OpenGL, die auf Floating Point Koordinaten aufbauen. Auch da landet am Ende alles auf einzelnen Pixeln, aber vorher hat man nur mit der Ungenauigkeit des verwendeten Float-Systems (Single, Double) zu leben. Dass es auch dort zu Ungenauigkeiten kommt sieht man gelegentlich an merkwürdigen Artefakten in 3D Spielen.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat