OpenWindowedScreen() / OpenScreen() zu langsam

Fragen zu Grafik- & Soundproblemen und zur Spieleprogrammierung haben hier ihren Platz.
Benutzeravatar
Fluid Byte
Beiträge: 3110
Registriert: 27.09.2006 22:06
Wohnort: Berlin, Mitte

Re: OpenWindowedScreen() / OpenScreen() zu langsam

Beitrag von Fluid Byte »

NicTheQuick hat geschrieben:Mal eine Frage aus einer anderen Richtung: Wieso muss es so schnell gehen? Ist es zeitkritisch oder ist dir das nur so nebenbei aufgefallen?
Ist nicht zeitkritisch das ist aber nicht wirklich von Relevanz denn die Zeiten bleiben brutal schlecht.
NicTheQuick hat geschrieben:Hast du eine vergleichbare Applikation, bei der es wesentlich schneller geht, sodass man mit Sicherheit sagen kann, dass es irgendwie an Purebasic liegt?
Nein, aber jeder der hier gepostet hat bekommt deutlich bessere Zeiten auf älterer Hardware und bestätigt meinen Verdacht.
STARGÅTE hat geschrieben: bei mir sind es 16ms.
Mit DirectX11 sind es 27ms und
mit OpenGL sind es zB zwischen 230 und 430ms
Auch wenn ich lange nicht mehr mit PB gearbeitet habe weiß ich dass es nie so lange gedauert hat nur um einen Screen zu öffnen.
Windows 10 Pro, 64-Bit / Outtakes | Derek
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: OpenWindowedScreen() / OpenScreen() zu langsam

Beitrag von NicTheQuick »

Auf dem kleinen i3 hier auf der Arbeit ohne dedizierte Grafikkarte dauert es ca. 115 ms bei OpenGL und 9 ms mit DirectX.

Kann es vielleicht damit zu tun haben, dass die Treiber deiner Grafikkarte einfach länger brauchen bis sie geladen sind? Da steckt ja etwas mehr dahinter als wenn man die in der CPU integrierte Grafik nutzt.
Bild
ccode_new
Beiträge: 1214
Registriert: 27.11.2016 18:13
Wohnort: Erzgebirge

Re: OpenWindowedScreen() / OpenScreen() zu langsam

Beitrag von ccode_new »

Bei mir sind es bei deinem Beispiel 14 ms im Mittelwert aus 10 Messungen.

Mich würde interessieren welche Werte du nur beim öffnen des Fensters (nicht Screen) bekommst.

Also:

Code: Alles auswählen

InitSprite()

z1 = ElapsedMilliseconds()
ok = OpenWindow(0,0,0,1280,720,"",#PB_Window_SystemMenu | #PB_Window_ScreenCentered)
z2 = ElapsedMilliseconds()

ok2 = OpenWindowedScreen(WindowID(0),0,0,WindowWidth(0),WindowHeight(0))
MessageRequester("Time passed", Str(z2 - z1) + " ms")
Debug ok
Vielleicht liegt es ja wirklich an den Treibern.
Wird hier für eine höhere Leistung mehr vorgeladen ?

Mich würden echte Performance-Tests interessieren.

....
Unter Windows (mit DX) sind es im Durchschnitt 60 ms.

Ich habe jetzt aber mal das PureBasic-Programm und gleichzeitig die NVidia-Systemsteuerung geöffnet.
Das Ergebnis: Das PB-Fenster ist eingefroren und die MsgBox hat mir 26043 ms angezeigt.

Ich möchte damit sagen: Vielleicht läuft bei dir irgend ein Hintergrundprozess der die Geschwindigkeit ausbremst.

Ach so noch etwas:

Also:
Unter Linux (OpenGL): ca. 14 ms
Unter Windows (DX): ca. 60 ms
Unter Windows (Subsystem: opengl): ca. 1500 ms (höchster Wert 3867 ms)

Also OpenGL versagt (mit dieser Performance) unter Windows bei mir vollkommen.

System:
CPU: Intel(R) Core(TM) i5-3230M CPU @2.60GHz
RAM: 8,00 GB (7,71 verwendbar)
OS: 64-Bit Windows 10 Pro
OS: Linux Ubuntu Mate 16.04 LTS
GPU(s): Intel(R) HD Graphics 4000 / NVIDIA GeForce 710M
Betriebssysteme: div. Windows, Linux, Unix - Systeme

no Keyboard, press any key
no mouse, you need a cat
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 6996
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

Re: OpenWindowedScreen() / OpenScreen() zu langsam

Beitrag von STARGÅTE »

Hast du schon mal geguckt ob vllt NVIDIA oder ´dieses Geforce-Experience in der PureBasic Applikation "rumfuscht"?

Hast du diese lange Ladezeit auch wenn du einen FullScreen öffnest?

PS: Das OpenGL Subsystem hat bei mir schon "immer" längere Ladezeiten verursacht.
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
Benutzeravatar
Fluid Byte
Beiträge: 3110
Registriert: 27.09.2006 22:06
Wohnort: Berlin, Mitte

Re: OpenWindowedScreen() / OpenScreen() zu langsam

Beitrag von Fluid Byte »

STARGÅTE hat geschrieben:Hast du schon mal geguckt ob vllt NVIDIA oder ´dieses Geforce-Experience in der PureBasic Applikation "rumfuscht"?
Tut es nicht.
STARGÅTE hat geschrieben:Hast du diese lange Ladezeit auch wenn du einen FullScreen öffnest?
Da dauert es knapp 1 Sekunde.
Windows 10 Pro, 64-Bit / Outtakes | Derek
ccode_new
Beiträge: 1214
Registriert: 27.11.2016 18:13
Wohnort: Erzgebirge

Re: OpenWindowedScreen() / OpenScreen() zu langsam

Beitrag von ccode_new »

Wenn deine restliche Performance stimmt, würde ich mich nicht an dieser einen Sache festkrallen.
Es ist eben so.
Wie schaut den der Wert bei OpenGl aus ?

Ansonsten kannst du ja mal ne Liste deiner laufenden Hindergrundprozesse/-programme posten.
Vielleicht fällt etwas auffälliges auf.

Hast du eigentlich schon mal Linux probiert ?
Mich persönlich würde einfach aus Interesse dein Wert unter Linux interessieren. (Auf gleicher HW natürlich)
Betriebssysteme: div. Windows, Linux, Unix - Systeme

no Keyboard, press any key
no mouse, you need a cat
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: OpenWindowedScreen() / OpenScreen() zu langsam

Beitrag von NicTheQuick »

Sind noch andere Programme am Laufen, die vielleicht auch Gebrauch von der Grafikkarte machen? Zum Beispiel Videos in. Firefox?
Bild
Benutzeravatar
_JON_
Beiträge: 389
Registriert: 30.03.2010 15:24

Re: OpenWindowedScreen() / OpenScreen() zu langsam

Beitrag von _JON_ »

Was ist den mit der Auflösung?
Würde mich nicht wundern das FullHD und z.B. 4K+ ein Unterschied machen.
PureBasic 5.46 LTS (Windows x86/x64) | windows 10 x64 Oktober failure
Benutzeravatar
Fluid Byte
Beiträge: 3110
Registriert: 27.09.2006 22:06
Wohnort: Berlin, Mitte

Re: OpenWindowedScreen() / OpenScreen() zu langsam

Beitrag von Fluid Byte »

Es gibt also keine Lösung für das Problem momentan. Werde wohl mit dieser beschissenen Verzögerung leben müssen ...
Windows 10 Pro, 64-Bit / Outtakes | Derek
Benutzeravatar
X0r
Beiträge: 2770
Registriert: 15.03.2007 21:47
Kontaktdaten:

Re: OpenWindowedScreen() / OpenScreen() zu langsam

Beitrag von X0r »

The absolute value returned is of no use since it varies depending on the operating system. Instead, this function should be used to calculate time differences between multiple ElapsedMilliseconds() calls.
Wieso machst du es dann nicht so in deinem ersten Post?
Antworten