Seite 1 von 2

Nachteile von OpenWindowedScreen() bei Spielen

Verfasst: 04.09.2005 14:28
von Delle
Hallo,

irgendwelche Nachteile hatte doch OpenWindowedScreen() bei Spielen oder?

Mir fällt nur auf, daß sie im Vergleich zu Fullscreen verschwommen und langsamer sind...

Verfasst: 04.09.2005 15:08
von NicTheQuick
Verschwommen ist bei OpenScreen nichts.

Der Nachteil ist allerdings, dass die FPS-Rate durch die Bildwiederholfrequenz begrenzt wird, die bei Windows im Desktop-Mode eingestellt ist.

Verfasst: 04.09.2005 15:14
von MVXA
NicTheQuick hat geschrieben:Verschwommen ist bei OpenScreen nichts.

Der Nachteil ist allerdings, dass die FPS-Rate durch die Bildwiederholfrequenz begrenzt wird, die bei Windows im Desktop-Mode eingestellt ist.
Das wage ich mal zu bezweifeln. Das ist in meinen Augen eher ein Bug.
PB sieht eine Funktion zum Limitieren der Framerate vor. Allerdings
funktioniert dieses nur im Windowed Screen richtig, wenn ich mich
richtig erinnere. Im Fullscreen Mode ist die Framerate dann doppelt
so hoch wie sie eigentlich seien sollte.

Verfasst: 04.09.2005 15:23
von Hroudtwolf
Die Unteschiede von einem DX-Vollbildschirm zum gefensterten Screen kannst du schon an der FPS sehen.

Versuchs mal.

Code: Alles auswählen

;Remi Meier
;PureBasic-Lounge.de
 ;Gibt die anzahl der Bilder pro sek. zurück.
Procedure GetFPS()
  Static GetFPS_Count,GetFPS_FPS,GetFPS_Start
  GetFPS_Count+1
  If GetTickCount_()-GetFPS_Start >= 1000
    GetFPS_FPS   = GetFPS_Count
    GetFPS_Count = 0
    GetFPS_Start + 1000
  EndIf
  ProcedureReturn GetFPS_FPS
EndProcedure

ich hab Probleme mit der Maus

Verfasst: 28.09.2005 19:55
von ThomasT
Mein Programm läuft im Vollbild problemlos, im Fenster hab ich das Problem, dass nach dem ersten Mausklick Mousebutton(1) immer einen geklickten Button zurück liefert.

Verfasst: 28.09.2005 20:04
von vonTurnundTaxis
Eine IMO gute Methode ist, das Spiel anstatt in einem WindowedScreen, in einem ImageGadget anzuzeigen.

Verfasst: 29.09.2005 07:11
von DrShrek
vonTurnundTaxis hat geschrieben:Eine IMO gute Methode ist, das Spiel anstatt in einem WindowedScreen, in einem ImageGadget anzuzeigen.
Sorry, das ist eher eine schlechte Methode.

Warum:
DirectX ist dann ausgeschlossen, es werden 'nur' die GDI Grafikfunktionen angewendet (und die sind nicht performant).

Verfasst: 29.09.2005 13:48
von DrShrek
Noch eine wichtige Ergänzung:

In der PB-Hilfe zu der PureBasic - Mouse Library steht:
... Verwenden Sie die Befehle dieser Library nicht in einer regulären Applikation, realisieren Sie in diesem Fall die Mausabfrage mittels WindowMouseX(), WindowMouseY() und EventType()...

Verfasst: 04.10.2005 12:21
von ThomasT
IceSoft hat geschrieben:Noch eine wichtige Ergänzung:

In der PB-Hilfe zu der PureBasic - Mouse Library steht:
... Verwenden Sie die Befehle dieser Library nicht in einer regulären Applikation, realisieren Sie in diesem Fall die Mausabfrage mittels WindowMouseX(), WindowMouseY() und EventType()...
ist denn ein "Windowed Screen" eine reguläre Applikation?
Er verhält sich ja etwas anders, z.B. kann die Maus das Fenster nicht verlassen.

Re: Nachteile von OpenWindowedScreen() bei Spielen

Verfasst: 04.10.2005 19:50
von Kaeru Gaman
Delle hat geschrieben:... im Vergleich zu Fullscreen verschwommen ...
wenn darstellungsgröße und interne pixelzahl nicht gleich sind
(z.b. einen 800x600 WindowedScreen in der größe 720x540 dargestellt)
dann wird die bildinformation von der hardware weichgerechnet.

das ist abhängig von fenstergröße, position im fenster, autostretch, randoffsets, etc.