Aero unter PB 4.20?
Aero unter PB 4.20?
Hallo,
wenn ich richtig verstanden habe, nutzt PB 4.20 jetzt DirectX 9.
Müsste dann bei PB-WindowedScreen-Anwendungen unter Vista nicht auch Aero funktionieren?
Beim Starten meiner EXE wird aber leider immer noch Aero abgeschaltet. Welche Hebel muss man umlegen, damit es nicht abgeschaltet wird?
wenn ich richtig verstanden habe, nutzt PB 4.20 jetzt DirectX 9.
Müsste dann bei PB-WindowedScreen-Anwendungen unter Vista nicht auch Aero funktionieren?
Beim Starten meiner EXE wird aber leider immer noch Aero abgeschaltet. Welche Hebel muss man umlegen, damit es nicht abgeschaltet wird?
Gruß
Markus
Markus
auch unter 4.20 läuft PB noch mit DX7, nur wenn du es Angibst beim erstellen der EXE das auf "SubSystems DirectX9" zugegriffen werden soll, wird auch DX9 genutzt
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
CreateSprite() erzeugt Sprites im PixelFormat 15Bits (DX9)
Mit DX9 klappt's soweit. Allerdings erzeugt CreateSprite() jetzt Sprites im PixelFormat 15Bits.
Mit folgendem Code kann dies getestet werden. Dazu bitte in den Projekt Einstellungen Subsystem DirectX9 angeben und den Code im Debugger starten. Bei mir (unter Win XP) wird dann 2 ausgegeben, also #PB_PixelFormat_15Bits. Ohne DirectX9 wird dagegen 7, also #PB_PixelFormat_32Bits_BGR ausgegeben. Dieser Code erfüllt übrigens keinen weiteren Zweck, als das beschriebene Phänomen zu demonstrieren.
Mit folgendem Code kann dies getestet werden. Dazu bitte in den Projekt Einstellungen Subsystem DirectX9 angeben und den Code im Debugger starten. Bei mir (unter Win XP) wird dann 2 ausgegeben, also #PB_PixelFormat_15Bits. Ohne DirectX9 wird dagegen 7, also #PB_PixelFormat_32Bits_BGR ausgegeben. Dieser Code erfüllt übrigens keinen weiteren Zweck, als das beschriebene Phänomen zu demonstrieren.
Code: Alles auswählen
If InitSprite()=0 : End : EndIf
Breite=300 : Hoehe=200
OpenWindow(0,0,0,Breite,Hoehe,"Test",#PB_Window_SystemMenu|#PB_Window_ScreenCentered)
OpenWindowedScreen(WindowID(0),0,0,Breite,Hoehe,0,0,0)
CreateSprite(1,100,100)
If StartDrawing(SpriteOutput(1))
SpeicherAdresse=DrawingBuffer()
Debug DrawingBufferPixelFormat()
StopDrawing()
EndIf
End
Gruß
Markus
Markus
ich habs im november auch schon gemerkt... antwort von fred:
wegen aero: http://www.purebasic.fr/english/viewtopic.php?t=25643
ich bin mir ziemlich sicher, dass es irgendwie einen workaround gibt, so dass es trotz dx7 noch funktioniert. wenn man z.b. InitEngine3D() benutzt, wird der switch verhindert.
ich hab keine ahnung woran das liegt und mir gehen langsam die ideen aus. wär schön, wenn fred sich mal die sache anschauen könnte, was InitEngine3D() nun da anders macht.
c ya,
nco2k
ich hoffe, dass er es nicht vergessen hat und es noch bis zur final implementiert wird.Fred hat geschrieben:About the bad quality, for now all the sprite are in 16 bits, which means than gradient sprite like yours is badly rendered. I will add 32 bits sprite support later.
wegen aero: http://www.purebasic.fr/english/viewtopic.php?t=25643
ich bin mir ziemlich sicher, dass es irgendwie einen workaround gibt, so dass es trotz dx7 noch funktioniert. wenn man z.b. InitEngine3D() benutzt, wird der switch verhindert.
Code: Alles auswählen
If InitEngine3D() And InitSprite() And OpenWindow(0, 0, 0, 640, 480, "Test", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
If OpenWindowedScreen(WindowID(0), 0, 0, WindowWidth(0), WindowHeight(0), 0, 0, 0)
While WaitWindowEvent(10) <> #PB_Event_CloseWindow : Wend
EndIf
EndIf : End
c ya,
nco2k
~|__/
..o.o.. <--- This is Einkaufswagen. Copy Einkaufswagen into your signature to help him on his way to world domination.
..o.o.. <--- This is Einkaufswagen. Copy Einkaufswagen into your signature to help him on his way to world domination.