Mstschige Anzeige nach Flippbuffer()

Fragen zu Grafik- & Soundproblemen und zur Spieleprogrammierung haben hier ihren Platz.
northstarex
Beiträge: 103
Registriert: 25.08.2013 18:04
Computerausstattung: alles mögliche^^
Wohnort: Schöppenstedt
Kontaktdaten:

Mstschige Anzeige nach Flippbuffer()

Beitrag von northstarex »

Bevor ich alles zerlege, da frage ich erst mal hier nach.

Als ich ein PBScript auf einen anderen Rechner überprüfen wollte, ist mit aufgefallen, wenn man Flippbuffer() verwendet, dann wird die Ausgabe matschig.

Bild

Vorher hatte ich auf dem Rechner keine Problene mit der Darstellung. Ich habe auch andere Prgs probiert. Da ist alles ok. Auf anderen Rechnern funktioniert das ganze ohne Darstellungsprobleme.

Könnte an der Grafikkarte liegen, an Win10 oder gar an Purebasic?

PBVersion: PureBasic 5.73 LTS (Windows - x64)
Betriebssystem: Windows 10 Pro, 64-bit
DirectX-Version: 12.0
GPU-Prozessor: GeForce GTX 750 Ti
Treiberversion: 461.09

Hat das Problem wer schon mal gehabt?

// Von "Bugs" nach "Grafik & Sound - Programmierung" verschoben (Kiffi)
Bild
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 6996
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

Re: Mstschige Anzeige nach Flippbuffer()

Beitrag von STARGÅTE »

>> "[...], wenn man FlipBuffer() verwendet, dann wird die Ausgabe matschig."
Blöde Frage, aber was wäre denn die alternative von "FlipBuffer() verwendet"? Nicht FlipBuffer() zu verwenden? Das geht ja nicht, dann wird deine Ausgabe ja nie aktualisiert.

>> "Vorher hatte ich auf dem Rechner keine Problene mit der Darstellung. Ich habe auch andere Prgs probiert.
>> "Da ist alles ok. Auf anderen Rechnern funktioniert das ganze ohne Darstellungsprobleme."
>> "Könnte an der Grafikkarte liegen, an Win10 oder gar an Purebasic?"
Ohne Lauffähigen Beispiel-Code können wir nur raten.
Möglicherweise ist die Ausgabe nicht Pixelgenau, spricht der Screen wurde gestretcht.
Oder aber das Bild wird mit einem Sub-Pixel Offset gezeichnet und verliert daher seine Schärfe.
Oder aber du verwendest DrawImage() mit eigener Breite und Höhe.
Oder aber du nutzt ZoomSprite und hast #PB_Sprite_BilinearFiltering aktiviert.
Oder aber ...
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
northstarex
Beiträge: 103
Registriert: 25.08.2013 18:04
Computerausstattung: alles mögliche^^
Wohnort: Schöppenstedt
Kontaktdaten:

Re: Mstschige Anzeige nach Flippbuffer()

Beitrag von northstarex »

ja genau.... flippbuffer matschig, bei nicht flippbuffer alles ok. Bissel kontraproduktiv so ohne Screen-Akualisierung.

Egal was für ein PB Prg. Wäre das nur bei einen Prg., dann hätte ich schon ein Listing gepostet. Ist aber bei allen...

Aber nun gut:

Code: Alles auswählen

Enumeration
   #Window
EndEnumeration


  
If InitSprite() And InitKeyboard() = 0
    MessageRequester("Error", "Can't open screen & sprite environment!", 0)
    End
  EndIf

  UseJPEGImageDecoder()     
  LoadImage(2,"pac2.jpg")    ;<------- kann irgendein Bild sein 960x540

If OpenWindow(#Window, 0, 0, 960, 540, "Graphics", #PB_Window_ScreenCentered|#PB_Window_MinimizeGadget)
OpenWindowedScreen(WindowID(#Window), 0, 0, WindowWidth(#Window), WindowHeight(#Window))

       StartDrawing(ScreenOutput()) 
       DrawImage(ImageID(2),0,0)   
       StopDrawing()                
       
       
       
       Repeat
        


        ExamineKeyboard()
        
        taste$ = KeyboardInkey()
          
          If taste$="1"
            End
          EndIf
          
          
          
          
          FlipBuffers()  ;<-------------------------------------- wenn gesetzt, dann wird es matschig
 
       
       
        Repeat
          Event = WaitWindowEvent(1)
          If Event = #PB_Event_CloseWindow Or KeyboardPushed(#PB_Key_Escape)
            
            End
          EndIf    
        Until Event = 0
        
      ForEver 
    Else
     MessageRequester("Error", "Ups! Irgendwie geht das nicht", 0)
    EndIf
  

Das ist jetzt nur ein Beispiel.Listing. Ohne groß Funktion. Läd ein jpg. Macht ein Screen auf und wartet auf Beendigung vom Nutzer.

Das ist mir nur bei dem einen Rechner auf gefallen, dass bei Flippbuffer die Grafik matschig wird. Ohne Flippbuffer halt nicht.

Also wie gesagt, egal was ich compiliere, Grafiken werden matschig. Nicht bei allen Rechnern... nur bei dem einen, da wo ich auf die Infos gepostet habe.
Bild
northstarex
Beiträge: 103
Registriert: 25.08.2013 18:04
Computerausstattung: alles mögliche^^
Wohnort: Schöppenstedt
Kontaktdaten:

Re: Mstschige Anzeige nach Flippbuffer()

Beitrag von northstarex »

Problem gelöst:

Irgendwann wurde der GraKa Treiber aktualisiert. Dabei wurden ein paar neue Funktionen hinzugefügt.
Wird wohl bei vielen Nvidea Grafikkarten so sein. Zumindest bei der GeForce GTX 750 Ti

Wer das matschige Anzeige-Problem hat, dann die Funktion

Antialiasing FXAA Funktion auf "aus" stellen.

Dann ist wieder alles im compilierten Fenster knackig scharf.
Bild
Benutzeravatar
NicTheQuick
Ein Admin
Beiträge: 8675
Registriert: 29.08.2004 20:20
Computerausstattung: Ryzen 7 5800X, 32 GB DDR4-3200
Ubuntu 22.04.3 LTS
GeForce RTX 3080 Ti
Wohnort: Saarbrücken
Kontaktdaten:

Re: Mstschige Anzeige nach Flippbuffer()

Beitrag von NicTheQuick »

Ich möchte auch noch was raten: Kann es unter Windows Probleme geben, wenn man die DPI auf mehr als 100% stehen hat?
Bild
northstarex
Beiträge: 103
Registriert: 25.08.2013 18:04
Computerausstattung: alles mögliche^^
Wohnort: Schöppenstedt
Kontaktdaten:

Re: Mstschige Anzeige nach Flippbuffer()

Beitrag von northstarex »

bei einen Rechner habe ich bei Win10 die DPi Geschichte auf 120%. Hatte keine Probleme bis jetzt. Ich glaube das kann man auch in den Compilereinstellungen bestimmen, ob mit oder ohne Berücksichtigung der DPI.
Bild
Antworten