Fenster blitzt bei Vollbild manchmal auf

Fragen zu Grafik- & Soundproblemen und zur Spieleprogrammierung haben hier ihren Platz.
Benutzeravatar
dllfreak2001
Beiträge: 2925
Registriert: 07.09.2004 23:44
Wohnort: Bayern

Beitrag von dllfreak2001 »

Dieses Phänomen tratt mbei mir nur auf wenn ich Winamp 5 mit
teilweise sehr aufwändigen Skins(nicht bei allen) im Hintergrund(auch minimiert)
laufen lies. Mit dem Standart-modern Skin war der Effekt wieder weg.
Außerdem wenn man ein Steam-Spiel hat wie zB.: HL2 oder CS
und Steam in der Taskleiste läuft dann kann auch dieser Effekt entstehen.
Vor allem beim Download der Patches oder bei geöffneten Download-Monitor.
Das liegt wahrscheinlich an den Direct-Draw Befehlen die diese Programme nutzen.
Außerdem sind solche Effekte in den ersten 2 Sekunden nach dem Start das Spiels, bei mir zumindest, normal.
Geskinte Program-Oberflächen scheinen dem PB-Fullscreen wohl nicht so zu bekommen. Ich hoffe ich hab dir weitergeholfen :allright:
I´a dllfreak2001
Benutzeravatar
AndyMars
Beiträge: 141
Registriert: 08.09.2004 11:59
Computerausstattung: Win11 Prof 64bit, i5-13500 @ 4.8 GHz, 32GB RAM, Nvidia RTX 4070 TI
Wohnort: Zürich, Schweiz
Kontaktdaten:

Re: Fenstertitel blitzt bei Vollbild manchmal auf

Beitrag von AndyMars »

Es gibt zu diesem Thema noch einen Code aus dem englischen Forum von The_Pharao.

Code: Alles auswählen

If InitKeyboard()=0:Beep_(3000,300):End:EndIf
If InitSprite()=0:Beep_(3000,300):End:EndIf
If OpenScreen(640,480,32,"Test")=0:Beep_(3000,300):End:EndIf

If 1 ;setzte auf Null, um den Unterschied zu sehen (evtl. keiner, je nach Grafikkarte)
  ;http://forums.purebasic.com/english/viewtopic.php?p=50682#50682
  ;von The_Pharao
  ;Sets the window to "borderless" mode, helps to stop the flickering title bar
  OShWnd = ScreenID();returns the window handle (hwnd) of the directx output form
  lngStyle = GetWindowLong_(OShWnd, -16)
  ToggleStyle= 8388608
  If (lngStyle & ToggleStyle)
    lngStyle = lngStyle - ToggleStyle
  Else
    lngStyle = lngStyle | ToggleStyle
  EndIf
  tmpRect.RECT
  SetWindowLong_(OShWnd, -16, lngStyle)
  GetWindowRect_(OShWnd, tmpRect)
  SetWindowPos_(OShWnd, 0, tmpRect\left, tmpRect\top, tmpRect\right - tmpRect\left, tmpRect\bottom - tmpRect\top, 32)
  ;End of "stop flickering" code  
EndIf

Repeat
  ExamineKeyboard()
  StartDrawing(ScreenOutput())
    Plot(Random(640), Random(480), RGB(255,255,255))
  StopDrawing()
  FlipBuffers()
  ;ClearScreen(0,0,0)
  ;Mit ClearScreen braucht man den "stop flickering code" nicht.
Until KeyboardPushed(#PB_Key_Escape)
Grüsse von AndyMars
Benutzeravatar
Epyx
Beiträge: 247
Registriert: 29.08.2004 01:40
Computerausstattung: AMD64 X2 DualCore 6000+ , 3GB Ram , WinXP sp3
2x Ati Radeon HD4800 ~ CrossFireX
Kontaktdaten:

Beitrag von Epyx »

Ich habe das Problem übrigens auch seit neustem, unter anderem auch in meinem mini Spielchen. Im Hauptmenü flackert hin und wieder ein weißer Balken an der obersten Position in der Breite eines Window-Rahmens.

http://forums.purebasic.com/german/view ... 91&start=0

Da ich das problem vorher nicht hatte, liegt es evtl doch an geänderten PB Bereichen, aber was weiß ich.... Das wirkt sich aber nicht so aus, wie in dem Source hier über mir das die komplette Leiste vollständig zu sehen ist. Vielmehr gibts ein unregelmäßiges aufflackern eines weißen Bereiches in dem diese Leiste dargestellt werden würde. Aber wie gesagt nicht regelmäßig und nicht ständig....
If you can't make it good, at least make it look good.
Bill Gates
Benutzeravatar
ZeHa
Beiträge: 4760
Registriert: 15.09.2004 23:57
Wohnort: Friedrichshafen
Kontaktdaten:

Beitrag von ZeHa »

Es kann wirklich dran liegen, daß im Hintergrund irgendwelche Programme laufen... hatte das auch schonmal... am besten alles unnötige schließen oder so
KTX82
Beiträge: 95
Registriert: 31.08.2004 00:11
Wohnort: Mannheim
Kontaktdaten:

Beitrag von KTX82 »

Aber das ist doch auch keine Lösung, alles schließen zu müssen, nur um mit PB geschriebene Vollbild-Anwendungen ohne dieses gelegentliche Aufflackern laufen zu lassen (kommt bei mir übrigens auch vor aber "sehr" selten. Meist in den ersten paar Sekunden wo der Fullscreen läuft, sehr selten mitten im Betrieb).
Da dies kein Fehler von DX7 ... (argh! PB reitet immer noch auf DX7 rum!!!) :evil: ... sein kann, da jedes andere Spielchen, was DX7 nutzt ohne dieses Phänomen läuft, muss der Fehler seitens PB liegen. Ist ja nicht das einzige Problem, was "nur" bei in PB geschriebenen Vollbildanwendungen auftritt. Will mal gar nicht von Detonatortreibern für ältere nVidia-Karten sprechen... bis ich da eine Version gefunden hatte, die mir ermöglichte "überhaupt" was außer Flackern des ganzen Screens zu sehen ("nur" bei PB) hat ewig gedauert.
(Benutze Detonator, da es für mein Modell (TNT2 - Diamond Viper V770) keine fehlerfreien Herstellertreiber gibt).

Zurück zum Thema... bei mir ist das übrigens auch verstärkt, wenn ich im Hintergrund Winamp mit Modern-Skin laufen hab, der von sich aus schon gut CPU-Leistung schluckt auch wenn keine Musik läuft. Weiß nicht, wie lange es diesen Code von Oben schon existiert, aber könnte das ganze nicht fest in den OpenScreen()-Befehl eingebunden werden?
Pharmacie populaire www.viagrasansordonnancefr.com aide aux malades
Antworten