Aktuelle Zeit: 27.05.2018 19:28

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]




Ein neues Thema erstellen Auf das Thema antworten  [ 31 Beiträge ]  Gehe zu Seite 1, 2, 3, 4  Nächste
Autor Nachricht
 Betreff des Beitrags: OpenWindowedScreen() / OpenScreen() zu langsam
BeitragVerfasst: 20.06.2017 19:56 
Offline
Benutzeravatar

Registriert: 27.09.2006 22:06
Wohnort: Berlin, Mitte
Code:
; Debugger ausschalten

InitSprite()

OpenWindow(0,0,0,1280,720,"",#PB_Window_SystemMenu | #PB_Window_ScreenCentered)

ElapsedMilliseconds()
OpenWindowedScreen(WindowID(0),0,0,1280,720)
MessageRequester("Time passed",Str(ElapsedMilliseconds()) + " ms")

Ich kriege mit diesem winzigen Testcode fast 0.6 Sekunden Verzögerung. Zieht man meine starke Hardware in Betracht: i7@3.4GHz 8 Kerne, GTX 1070 8GB, 32GB RAM, ist dies doch sehr merkwürdig. Ich habe zwar sehr lange nicht mehr mit PB gearbeitet aber so langsam habe ich diesen Befehl nicht in Erinnerung.

Normaler Overhead oder muss ich mir Sorgen machen? Dies ist Teil eines größeren Programms und man spürt das Lag deutlich bei jedem Start.

_________________
Windows 10 Pro, 64-Bit / Outtakes | Derek


Zuletzt geändert von Fluid Byte am 20.06.2017 20:53, insgesamt 1-mal geändert.

Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: OpenWindowedScreen() / OpenWindowedScreen() zu langsam
BeitragVerfasst: 20.06.2017 20:16 
Offline
Benutzeravatar

Registriert: 30.03.2010 15:24
Was soll den der Code für eine Zeit messen?
Also wenn Ich hier den ersten Aufruf von ElapsedMilliseconds() vom 2-ten abziehe sind es 26 ms
und das auf sehr betagter Hardware.

_________________
PureBasic 5.46 LTS (Windows x86/x64) | windows 10 x64 Falling Bug


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: OpenWindowedScreen() / OpenWindowedScreen() zu langsam
BeitragVerfasst: 20.06.2017 20:51 
Offline
Benutzeravatar

Registriert: 27.09.2006 22:06
Wohnort: Berlin, Mitte
_JON_ hat geschrieben:
Was soll den der Code für eine Zeit messen?

Du kriegst 26 ms auf alter Hardware, ich fast 600ms auf einem aktuellen Top-Rig ...

Welche von den beiden Zeiten will ich wohl haben? Ich glaub fest daran dass du selbst drauf kommst ...

_JON_ hat geschrieben:
Also wenn Ich hier den ersten Aufruf von ElapsedMilliseconds() vom 2-ten abziehe sind es
und das auf sehr betagter Hardware.

Wieso abziehen? Der erste Aufruf von ElapsedMilliseconds() ist 0, da brauchst du nichts abziehen.

_________________
Windows 10 Pro, 64-Bit / Outtakes | Derek


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: OpenWindowedScreen() / OpenWindowedScreen() zu langsam
BeitragVerfasst: 20.06.2017 20:59 
Offline
Benutzeravatar

Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9
Fluid Byte hat geschrieben:
Der erste Aufruf von ElapsedMilliseconds() ist 0, da brauchst du nichts abziehen.

nee, der ist bei mir schon knapp über 200

so passt's:

Code:
InitSprite()
OpenWindow(0,0,0,1280,720,"",#PB_Window_SystemMenu | #PB_Window_ScreenCentered)
z1 = ElapsedMilliseconds()
OpenWindowedScreen(WindowID(0),0,0,1280,720)
z2 = ElapsedMilliseconds()
MessageRequester("Time passed", Str(z2 - z1) + " ms")

_________________
einfach ist schwierig


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: OpenWindowedScreen() / OpenScreen() zu langsam
BeitragVerfasst: 20.06.2017 21:20 
Offline
Benutzeravatar

Registriert: 27.09.2006 22:06
Wohnort: Berlin, Mitte
Der erste Aufruf von ElapsedMilliseconds() ist bei mir 0. Keine Veränderung, fast 600 ms Verzögerung. Das ist im Verhältnis zur Stärke von PB und meiner Hardware brutal viel.

_________________
Windows 10 Pro, 64-Bit / Outtakes | Derek


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: OpenWindowedScreen() / OpenScreen() zu langsam
BeitragVerfasst: 20.06.2017 21:51 
Offline
Benutzeravatar

Registriert: 30.03.2010 15:24
Fluid Byte hat geschrieben:
Wieso abziehen? Der erste Aufruf von ElapsedMilliseconds() ist 0, da brauchst du nichts abziehen.

ElapsedMilliseconds() ist ein Counter der beim Start des Betriebssystem anfängt die ms zu zählen.

_________________
PureBasic 5.46 LTS (Windows x86/x64) | windows 10 x64 Falling Bug


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: OpenWindowedScreen() / OpenScreen() zu langsam
BeitragVerfasst: 20.06.2017 22:01 
Offline

Registriert: 27.11.2016 18:13
Wohnort: Erzgebirge
_JON_ hat geschrieben:
ElapsedMilliseconds() ist ein Counter der beim Start des Betriebssystem anfängt die ms zu zählen.


Genau !!! :allright:

Man braucht immer 2 Aufrufe für eine Referenz.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: OpenWindowedScreen() / OpenScreen() zu langsam
BeitragVerfasst: 20.06.2017 22:03 
Offline
Benutzeravatar

Registriert: 27.09.2006 22:06
Wohnort: Berlin, Mitte
_JON_ hat geschrieben:
ElapsedMilliseconds() ist ein Counter der beim Start des Betriebssystem anfängt die ms zu zählen.

Wo hast du denn das Märchen her? Soll ich jetzt zum dritten Mal sagen das ElapsedMilliseconds() 0 ist?

ccode_new hat geschrieben:
Genau !!! :allright:

Ja genau, genau falsch.

_________________
Windows 10 Pro, 64-Bit / Outtakes | Derek


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: OpenWindowedScreen() / OpenScreen() zu langsam
BeitragVerfasst: 20.06.2017 22:10 
Offline

Registriert: 27.11.2016 18:13
Wohnort: Erzgebirge
Fluid Byte hat geschrieben:
Wo hast du denn das Märchen her? Soll ich jetzt zum dritten Mal sagen das ElapsedMilliseconds() 0 ist?


Schau in die Hilfe !!!!

ElapsedMilliseconds() gibt dir beim ersten Aufruf irgend einen Scheiß wieder.
Das kann auch 0 sein und hat auch nichts mit der Startzeit deines Programms zu tun.

Du brauchst zum Messen immer min. 2 Aufrufe.

Ich denke: "ElapsedMilliseconds() ist ein Counter der beim Start des Betriebssystem anfängt die ms zu zählen."

Stimmt schon, oder auch nicht???

Bin mir nicht ganz sicher.

Aber die Millisekunden werden bei einem Speicherüberlauf einfach wieder bei 0 anfangen.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: OpenWindowedScreen() / OpenScreen() zu langsam
BeitragVerfasst: 20.06.2017 22:21 
Offline
Benutzeravatar

Registriert: 30.03.2010 15:24
Fluid Byte hat geschrieben:
Wo hast du denn das Märchen her? Soll ich jetzt zum dritten Mal sagen das ElapsedMilliseconds() 0 ist?

ElapsedMilliseconds() ist ein Wrapper für die GetTickCount_() API GetTickCount MSDN

_________________
PureBasic 5.46 LTS (Windows x86/x64) | windows 10 x64 Falling Bug


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 31 Beiträge ]  Gehe zu Seite 1, 2, 3, 4  Nächste

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste


Sie dürfen keine neuen Themen in diesem Forum erstellen.
Sie dürfen keine Antworten zu Themen in diesem Forum erstellen.
Sie dürfen Ihre Beiträge in diesem Forum nicht ändern.
Sie dürfen Ihre Beiträge in diesem Forum nicht löschen.

Suche nach:
Gehe zu:  

 


Powered by phpBB © 2008 phpBB Group | Deutsche Übersetzung durch phpBB.de
subSilver+ theme by Canver Software, sponsor Sanal Modifiye