Beispiel? Was ist x und y ?
Ich meine im Zusammenhang mit Drawing-Befehle, ist es für mich etwas seltsam von FPS zu sprechen,
da es meiner Meinung nach nicht für Echtzeit-Sachen gedacht ist.
Daher würde ich gerne mal ein Beispiel von dir sehen, was du dann "ununterbrochen" Zeichnest.
Zumal du bei Angabe zu FPS bitte immer den Debugger und die Synchronization ausschalten musst.
[Windows] 2DDrawing Befehle mit AntiAliasing durch GDI+
Re: [Windows] 2DDrawing Befehle mit AntiAliasing durch GDI+
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Re: [Windows] 2DDrawing Befehle mit AntiAliasing durch GDI+
Bei meiner Auflösung von 1920x1080 ist x= 598 und y= 200. Mit oder ohne Debugger ist egal, vsync ist an.
Wenn ich x auf 597 setze halbiert sich die fps, bei 596 ist wieder alles gut bei 595 wieder nicht.
Ich zeichne die RoundBox() als "Progressbar", ich wollte das eigentlich nicht immer auf ein Sprite zeichnen, lasse mich aber gerne umstimmen.
-EDIT-
Ich zeichne es auf ein Sprite und lass dieses dann anzeigen
Trotzdem herzlichen Dank!
Wenn ich x auf 597 setze halbiert sich die fps, bei 596 ist wieder alles gut bei 595 wieder nicht.
Ich zeichne die RoundBox() als "Progressbar", ich wollte das eigentlich nicht immer auf ein Sprite zeichnen, lasse mich aber gerne umstimmen.
-EDIT-
Ich zeichne es auf ein Sprite und lass dieses dann anzeigen
Trotzdem herzlichen Dank!
"I became insane, with long intervals of horrible sanity." - Edgar A. Poe
Re: [Windows] 2DDrawing Befehle mit AntiAliasing durch GDI+
Hallo Danilo,
irgendwie besteht immer noch das Problem, das gTextWidth() nicht den TextAntialiasMode berücksichtigt.
Du hattest dir das zwar schon mal angesehen, aber hier ist es zum Beispiel immer noch deutlich sichbar:
Wäre echt nett, wenn du da noch mal gucken könntest.
irgendwie besteht immer noch das Problem, das gTextWidth() nicht den TextAntialiasMode berücksichtigt.
Du hattest dir das zwar schon mal angesehen, aber hier ist es zum Beispiel immer noch deutlich sichbar:
Code: Alles auswählen
Enumeration
#Image
EndEnumeration
XIncludeFile "gDrawing.pbi"
gInit()
CreateImage(#Image, 900, 300, 32|#PB_Image_Transparent)
Define Text.s = "Das ist ein ganz langer Text, von dem die Breite ermittelt wird"
gStartDrawing(ImageOutput(#Image))
gSetFont("Verdana", 24)
gClear($FFFFFFFF)
gSetTextAntialiasMode(#TextAntialiasMode_SystemDefault)
gBox(0, 0, gTextWidth(Text), gTextHeight(Text), $FFC0C0C0)
gDrawText(0, 0, Text, $FF000000)
gSetTextAntialiasMode(#TextAntialiasMode_ClearTypeGridFit)
gBox(0, 60, gTextWidth(Text), gTextHeight(Text), $FFC0C0C0)
gDrawText(0, 60, Text, $FF000000)
gSetTextAntialiasMode(#TextAntialiasMode_AntiAlias)
gBox(0, 120, gTextWidth(Text), gTextHeight(Text), $FFC0C0C0)
gDrawText(0, 120, Text, $FF000000)
gStopDrawing()
OpenWindow(#PB_Any, 0, 0, ImageWidth(#Image), ImageHeight(#Image), "Image", #PB_Window_MinimizeGadget|#PB_Window_ScreenCentered)
ImageGadget(#PB_Any, 0, 0, ImageWidth(#Image), ImageHeight(#Image), ImageID(#Image))
Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow
gEnd()
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Re: [Windows] 2DDrawing Befehle mit AntiAliasing durch GDI+
Dauert paar Tage, habe aber noch eine Möglichkeit zur Hand. Wenn Diese auch nicht PixelPerfekt korrekt funktioniert,STARGÅTE hat geschrieben:Wäre echt nett, wenn du da noch mal gucken könntest.
dann bleibt nur noch den Text mit bisherigem gTextWidth() auf ein neues Bild zu zeichnen und dann von hinten
angefangen zu scannen, bis der erste sichtbare Pixel kommt. Die GDI+ Funktionen sind da leider nicht so genau, ist bekanntes Problem.
cya,
...Danilo
"Ein Genie besteht zu 10% aus Inspiration und zu 90% aus Transpiration" - Max Planck
...Danilo
"Ein Genie besteht zu 10% aus Inspiration und zu 90% aus Transpiration" - Max Planck
Re: [Windows] 2DDrawing Befehle mit AntiAliasing durch GDI+
Ich dachte, dass ich einfach alles was in gDrawText steht in gTextWidth kopiere, aber so einfach gings leider auch nicht ...
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Re: [Windows] 2DDrawing Befehle mit AntiAliasing durch GDI+
GdipMeasureString_() ist nicht ganz genau, und in der Hilfe dazu steht das man #TextAntialiasMode_AntiAlias setzen muss.STARGÅTE hat geschrieben:Ich dachte, dass ich einfach alles was in gDrawText steht in gTextWidth kopiere, aber so einfach gings leider auch nicht ...
Mit #TextAntialiasMode_AntiAlias funktioniert es ja korrekt, nur mit den anderen AA modes nicht.
Ich hoffe mit GdipMeasureCharacterRanges_() geht es korrekter. Sonst bleibt nur der Weg mit dem Scannen der Pixel.
cya,
...Danilo
"Ein Genie besteht zu 10% aus Inspiration und zu 90% aus Transpiration" - Max Planck
...Danilo
"Ein Genie besteht zu 10% aus Inspiration und zu 90% aus Transpiration" - Max Planck
Re: [Windows] 2DDrawing Befehle mit AntiAliasing durch GDI+
Gibt's in der Lib auch eine Funktion wie die native FillArea(), nur eben mit Antialiasing?
PB 6.02 LTS + Win 11
Re: [Windows] 2DDrawing Befehle mit AntiAliasing durch GDI+
Benutzt das Teil hier eigentlich noch jemand?
In der Demo zeigen mir folgende "Kommandos" nichts an:
- gLine
- gBezier
- gTriangle
- gPoly
In der Demo zeigen mir folgende "Kommandos" nichts an:
- gLine
- gBezier
- gTriangle
- gPoly
PB 6.02 LTS + Win 11