FPS Einbruch mit Windows Vista

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

WEBLink

Betreff: FPS Einbruch mit Windows Vista

BeitragFr, Aug 17, 2007 19:36
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi,

hab mir vor ein paar Tagen windows Vista installiert.
Seid dem betragen meine FPS nur noch die hälfe des vorherigen Wertes.

Im taskmanager seh ich das meine FPS runter geregelt,
werden damit die cpu nicht über 60 % kommt was bei XP ja nicht der Fall war und man dies selber mit Delay machen musste.

Hat jemand noch das Problem oder weiss wer die Lösung?


Benutze B3D V1.77

Abrexxes

Betreff: Re: FPS Einbruch mit Windows Vista

BeitragFr, Aug 17, 2007 19:45
Antworten mit Zitat
Benutzer-Profile anzeigen
Hmm..

du benutzt denn Delay Blödsinn mit einer URALTEN Version auf dem NEUSTEN OS ?!?

Frage:

- Wieso Delay statt ordentlich mit Timer zu programmieren?
- Wieso uralte Blitz Version

Das solche Praktiken so langsam Probleme machen ist kein Wunder sondern normal.
 

DrFreak339

BeitragFr, Aug 17, 2007 20:06
Antworten mit Zitat
Benutzer-Profile anzeigen
"Delay" kannste total vergessen, um zu timen: im gegensatz zu "Timern" misst delay nicht die zeit, die bisher vergangen ist. somit wartet es immer strikt den wert ab, den du ihm gegeben hast. ein timer misst immer die zeit, die seit dem letzten aufruf vergangen ist und zieht diese von dem angegebenen wert ab -> mit timern ist eine hauptschleife immer gleich lang, ausser sie braucht länger zum berechnen, als der timer abwarten kann. mit delay wartet die hauptschleife immer zusätzlich ab und muss danach noch die hauptschleife berechnen.

omg.. hab ich das sch**** beschrieben, ich hoffe, man blickt das so^^

WEBLink

BeitragFr, Aug 17, 2007 20:08
Antworten mit Zitat
Benutzer-Profile anzeigen
STTOOOOPPP,

Delay ist nicht zum timen gedacht sondern um den Rechner etwas zeit zum ausruhen zu geben. Gab darüber hier auch mal einen threat. Getimt wird mit einem FPS begrenzer.

weiterhin benutz ich die Vista Busniss version

Abrexxes

BeitragFr, Aug 17, 2007 20:14
Antworten mit Zitat
Benutzer-Profile anzeigen
WEBLink hat Folgendes geschrieben:

Delay ist nicht zum timen gedacht sondern um den Rechner etwas zeit zum ausruhen zu geben


Das machen die Rechner seit 30 Jahren schon selbst, vorausgesetzt man lässt sie und nervt Sie nicht mir diesem Schmarn. Dann haben sie nämlich WIRKLICH die Chance sich auszuruhen, und zwar soviel es geht also optimal.

Was hat die Vista Buisness damit zu tun?
 

Mr Hopp

BeitragFr, Aug 17, 2007 20:16
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich denke, damit möchte er sagen, dass es bei ihm flüssig läuft.
Zitat:
Wie poste ich falsch?

Nachdem ich Google, die FAQ's und die Boardsuche erfolgreich ignoriert habe, erstelle ich zwei bis fünf neue Themen, in den falschen Unterforen, mit kreativen Titeln und undeutlichem Text, unter dem sich jeder etwas anderes vorstellen kann.

aMul

Sieger des Minimalist Compo 01/13

BeitragFr, Aug 17, 2007 20:21
Antworten mit Zitat
Benutzer-Profile anzeigen
Hat jetzt nicht viel mit dem Thema zu tun, aber da das angesprochen wurde kann ich mich nicht raushalten:

Was spricht dagegen sich mit Delay einen eigenen Timer zu programmieren?
Ich behaupte sogar, das das Programm mit einem Delay-Timer schneller läuft als mit einem "normalen" Timer.

Und bevor gleich wieder einer kommt und irgendwas von wegen "Delay geht nicht, Frames nicht gleich lang, blabla" schreibt, mit einem Delay-Timer meine ich sowas:
Code: [AUSKLAPPEN]
Repeat
   ms = MilliSecs()
   ; do something
   Delay 16 - MilliSecs() + ms
Forever


@Topic:
Hat dein Prozessor vielleicht zwei Kerne oder Hyperthreading, was du unter XP nicht angeschaltet hattest?
Panic Pong - ultimate action mashup of Pong and Breakout <= aktives Spiele-Projekt, Downloads mit vielen bunten Farben!
advASCIIdraw - the advanced ASCII art program <= aktives nicht-Spiele-Projekt, must-have für ASCII/roguelike/dungeon-crawler fans!
Alter BB-Kram: ThroughTheAsteroidBelt - mit Quelltext! | RGB-Palette in 32²-Textur / Farbige Beleuchtung mit Dot3 | Stereoskopie in Blitz3D | Teleport-Animation Screensaver

Abrexxes

BeitragFr, Aug 17, 2007 23:32
Antworten mit Zitat
Benutzer-Profile anzeigen
Du "erzwingst" mit Delay eine Pause die abhängig von der CPU Power mehr oder weniger bringt. Eine echte Selbstkontrolle der CPU ist so unmöglich. So kann es zb sein das ein Delay Prog je nach CPU und delay Dauer IMMER mal 3 oder 9 % braucht. Lässt man das Programm gewähren mit einem ordentlichen Timer wird das Resulat aber meistens 1% sein wenn man nichts tut (und ordentlich programmiert hat). In 5 Jahren wenn eine CPU 4 oder 6 Ghz hat wird dieses Delay wiederrum das gesamte System ausbremsen, denn es ist ja nicht so das die CPU nichts mehr machen muss. Im Gegenteil, sie muss x tausend mal pro Sekunde vorbeirennen und gucken ob die Zeit abgelaufen ist. Je schneller die CPU desto mehr Zeit geht dafür drauf. Bei einem Timer ist das nicht so, da WEIS die CPU wann sie wieder was zu tun hat.

Sie guckt rein, wenn nix ist zieht Sie weiter zum nächsten Task. Ein Delay hingegen ist eine versteckte Endlosschleife mit definiertem Ende, mehr nicht. Hier muss die CPU bei jedem "reinschauen" rumwurschteln und durchzählen.

Es war noch nie intelligent, zu keiner Zeit in keiner Sprache.

DerHase

BeitragSa, Aug 18, 2007 10:24
Antworten mit Zitat
Benutzer-Profile anzeigen
Wenn man 100% CPU Auslastung vermeiden möchte braucht man ein Delay. Man muss ihm ja keinen festen Wert zuweisen, steht ja oben und in einem Haufen anderer Threads.
Play Satyr!

Abrexxes

BeitragSa, Aug 18, 2007 13:24
Antworten mit Zitat
Benutzer-Profile anzeigen
DerHase hat Folgendes geschrieben:
Wenn man 100% CPU Auslastung vermeiden möchte braucht man ein Delay


Tut mir leid das stimmt einfach nicht. Meine Progs haben nicht mehr als 3% und ich verwende NIE delay.

aMul

Sieger des Minimalist Compo 01/13

BeitragSa, Aug 18, 2007 16:46
Antworten mit Zitat
Benutzer-Profile anzeigen
Abrexxes hat Folgendes geschrieben:
Sie guckt rein, wenn nix ist zieht Sie weiter zum nächsten Task. Ein Delay hingegen ist eine versteckte Endlosschleife mit definiertem Ende, mehr nicht. Hier muss die CPU bei jedem "reinschauen" rumwurschteln und durchzählen.

Wenn man keine Ahnung hat... Bei mir brauchen Programme mit Delay immer 0%, solange nichts anderes passiert.
Ich hab keine Lust mich jetzt darüber zu streiten. Aber Delay war nie, ist nicht und wird nie eine "versteckte Endlosschleife" sein. Und der Prozessor muss bei einem Timer sicherlich mehr rumwurschteln, als bei Delay. Immerhin müssen da noch die FPS-Zahl in MSPF umgerechnet werden. Ich weiß nicht, wie Blitz das intern handhabt, aber Waittimer ist mit Sicherheit nicht schneller als Delay.
Panic Pong - ultimate action mashup of Pong and Breakout <= aktives Spiele-Projekt, Downloads mit vielen bunten Farben!
advASCIIdraw - the advanced ASCII art program <= aktives nicht-Spiele-Projekt, must-have für ASCII/roguelike/dungeon-crawler fans!
Alter BB-Kram: ThroughTheAsteroidBelt - mit Quelltext! | RGB-Palette in 32²-Textur / Farbige Beleuchtung mit Dot3 | Stereoskopie in Blitz3D | Teleport-Animation Screensaver

DerHase

BeitragSa, Aug 18, 2007 17:28
Antworten mit Zitat
Benutzer-Profile anzeigen
Abrexxes hat Folgendes geschrieben:
DerHase hat Folgendes geschrieben:
Wenn man 100% CPU Auslastung vermeiden möchte braucht man ein Delay


Tut mir leid das stimmt einfach nicht. Meine Progs haben nicht mehr als 3% und ich verwende NIE delay.


Ich hab es auf nen anderen Rechner ausprobiert und da hast Du recht, hier geht es auch mit dem Timer, komisch ich muss der Sache mal auf den Grund gehn. Delay hab ich nur deshalb eingebaut weil der Timer mir nichts gebracht hat bei der CPU Auslastung.
Play Satyr!

WEBLink

BeitragSa, Aug 18, 2007 17:42
Antworten mit Zitat
Benutzer-Profile anzeigen
Abrexxes du kannst gern in diesem Threat weiter darüber diskutieren
https://www.blitzforum.de/foru...mp;start=0
ich selbst hatte mein Programm einmal ohne delay laufen bei eine cpu auslastung von 100% und 52 >FPS mit Delay eine cpu auslastung von unter 50 % und die vorgegebene >FPS von 61.

DerHase

BeitragSo, Aug 19, 2007 17:42
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich hab mich einfach geirrt, vergesst was ich in diesem Thread sagte, tut mir leid. Natürlich geht weniger als 100% CPU Auslastung auch ohne Delay. Vergesst einfach was ich gesagt hab Embarassed
(Endlich kann ich mal diesen endgeilen OOPS Smilie benützen)
Play Satyr!
 

Omenaton_2

BeitragDo, Aug 23, 2007 10:17
Antworten mit Zitat
Benutzer-Profile anzeigen
Noch etwas dazu.
Bei komplexen Spielen (wie mein Strategiespiel) müssen sehr viele Sachen berechnet und dargestellt werden.
Wenn man mit Timern ohne delay arbeitet, dann kann man das so regeln, daß man nicht ständig bei jedem Hauptschleifedurchlauf alles macht, sondern manche Funktionen kommen nur alle paar Sekunden (oder Millisekunden) zum Einsatz.
Zum Beispiel update ich die Übersichtskarte nur alle 8-10 Sekunden ein Mal oder ich springe die Rutine, in der die KI die Stärke des Gegners und den Aufbau seiner Armee analysiert nur alle 40 Sekunden an, Aggro werden von Einheiten nur alle 500 Millisekunden. So kann man die Zeit, die man bei Delay untätig warten würde ausnutzen, in dem man diese Zeit gelegentlich durch besondere Berechungen verkürzt.

aMul

Sieger des Minimalist Compo 01/13

BeitragDo, Aug 23, 2007 13:16
Antworten mit Zitat
Benutzer-Profile anzeigen
Wenn man keine Ahnung hat.²

Und was ist, wenn man selbst wenn alles gemacht ist immer noch Zeit hat?
Es soll ja Computer geben die mehr als 600 Mhz haben Rolling Eyes

Es ist schwachsinnig dann irgendwas zwangsläufig zu berechnen, was wie du es so schön erkannt hast ja in einer Minute erst wieder nötig wird. Stattdessen kann man dem Rechner ruhig eine kleine Pause gönnen, das schont die Hardware und braucht weniger Strom.
Panic Pong - ultimate action mashup of Pong and Breakout <= aktives Spiele-Projekt, Downloads mit vielen bunten Farben!
advASCIIdraw - the advanced ASCII art program <= aktives nicht-Spiele-Projekt, must-have für ASCII/roguelike/dungeon-crawler fans!
Alter BB-Kram: ThroughTheAsteroidBelt - mit Quelltext! | RGB-Palette in 32²-Textur / Farbige Beleuchtung mit Dot3 | Stereoskopie in Blitz3D | Teleport-Animation Screensaver
 

Dreamora

BeitragDo, Aug 23, 2007 16:04
Antworten mit Zitat
Benutzer-Profile anzeigen
Wenn du Vista auf ein Single Core System installiert hast, bist du selbst schuld dass die FPS einbricht.

Das Prozess Management von Vista läuft ein wenig anders und das anders hat extrem üble folgen für Single Core Systeme leider, da sie damit recht zusammenbrechen.

Ein weiteres Problem wäre wenn du keine DX 10 karte hast, jedoch Vista mit Aero laufen lässt und dann Blitz im Fenster. Schalt mal ins vollbild, denn du bringst grad deine Karte um mit 2 3D beschleunigten Anwendungen ^^
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group