Zu langsame Spiele
Übersicht

Blond PandaBetreff: Zu langsame Spiele |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Guten Tag (![]() Ich bin ein Anfänger Programmierer, der vor kurzem erst mit der Programmierung angefangen hat. Meine momentanen Spiele sind noch im zweidimensionalem Raum. Problem bei der Sache ist: meine Spiele, die ich mit Blitz gemacht habe laufen viiiiieeeeel zu langsam. Selbiges gilt für Spiele, die jemand anders auf Blitz gemacht hat. Hierbei ist es egal, ob ich das Spiel zum test über Blitz Basic starte oder eine Executable ausführe. Laut einem FPS- check, laufen meine Spiele mit 60 fps. Direkt 60. Also so als ob man sie extern oder intern gecapt hätte. Das war nicht immer so und ich habe schon fast ganz Google nach einer Lösung durchforstet. Allerdings ohne Érfolg. Hier sind noch ein Paar wichtige Informationen: Mein Rechner: Intel Core I5 AMD Radeon HD 6800 von Powercolor 4 Gb Ram 1 Gb video Ram weiterhin benutze ich die Blitz 3d Vollversion. Mein Computer ist auf jeden fall keine Schrottmühle und besitzt sogar ziehmlich gute Teile. Und wenn er Spiele, wie Battlefield 3 fast auf maxed- out mit mehr als 60 FPS schafft, dann wird er das bei ein Paar selbst gebastelten 2d Programmen doch erst recht schaffen. Ich freue mich über jede Hilfe. Blond Panda |
||
![]() |
XeresModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Willkommen.
Die Ursache wird am Code liegen - ohne den wird dir hier Niemand wirklich ausführlich helfen können. Davon abgesehen: Wozu brauchst du mehr als 60 fps? Mehr Berechnungen als angezeigt werden können sind überhaupt nicht erwünscht. Und zu guter Letzt, da keine 3D Frage: ~VERSCHOBEN~ |
||
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus THERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld) |
![]() |
count-doku |
![]() Antworten mit Zitat ![]() |
---|---|---|
Zu langsam mit 60FPS?
Es gibt gleich mehrere Punkte warum mehr nichts bringt ausser deinen PC unnötig zu belasten: 1. Dein Auge sieht 29.999 Bilder pro Sekunde 2. Dein Monitor schafft 60 vllt 100 oder ja vllt. auch 200 Bilder pro Sekunden. Das bringt auchnoch minimal besserung aber bei kleineren Spielen nicht wirklich. Somit hast du mit mehr FPS unnötig Rechenleistung (und damit Strom) verbraten. Und wofür? Gerade bei so kleinen Spielen reicht es teilweise sie mit 30FPS auszuführen. Also warum zur Hölle beschwerst du dich darüber, dass ein mini Spiel nicht gleich 100% deiner CPU und Graka verbraucht?! Wobei wenn du unbedingt Strom/Leistung verschwenden willst, es gibt da Benchmarks oder diese Proggi hier: FPS Burner Ansonsten Delay/Timer oder Flip 1 rausnehmen bzw. zu Flip 0 machen. Siehe auch Hilfe CreateTimer ![]() ![]() ![]() Und warum du deine anderen Spiele unbedingt schneller rennen lassen musst - FPS Junkie? lg Count-Doku |
||
![]() |
Pummelie |
![]() Antworten mit Zitat ![]() |
---|---|---|
60 FPS = Maximale Anzahl an Bildern die dein Monitor pro Minute fehlerfrei anzeigen kann.
Die Vertikale Synchronisation, welche sicherstellt das es zu keinem Bildflackern, da zuviel FPS kommt wird mit Flip(0) abgeschaltet. Da du angiebst, das andere Spiele bei dir mit mehr FPS überzeugen klassierst du dich selbst als nicht gerade erfahren im Umgang mit Grafikausgabe der Computertechnik und solltest, bevor du anfängst es einfach zu benutzen, dir ersteinmal ein paar allgemeine Informationen zu diesem Themengibt aneignen. |
||
It's done when it's done. |
Blond Panda |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Das problem liegt nicht am code. Es ist schließlich bei jedem spiel so. Auch denen von anderen entwicklern.
Es sind nicht die 60 FPS, die mich stören. Es ist mir nur aufgefallen, dass es so ist, obwohl solche Spiele bei mir mit 1000 FPS laufen. Mein Problem ist, dass das Spiel langsam läuft. Meine Spiele laufen beispielsweise auf dem Rechner meines Bruders so schnell, dass man nichts erkennt, wärend sie bei mir genau richtig laufen. Die Spiele von meinem Bruder laufen so langsam, dass das spiel aussieht, als ob es in zehnfacher Zeitlupe abgespielt wird. Es tut mir leid, wenn du mich misssverstanden hast, Count-Doku. 60 FPS finde ich, nur mal so am Rande bemerkt eine wundervolle Leistung. Genauso, wie 30 FPS und alles dazwischen. Also, zur klarstellung: Das Problem ist die Geschwindigkeit. Nicht die FPS. Sorry nochmal von mir. na ja. Ich poste trotzdem mal die Hauptschleife von meinem momentanem Projekt BlitzBasic: [AUSKLAPPEN] ;Hauptprogramm |
||
![]() |
Pummelie |
![]() Antworten mit Zitat ![]() |
---|---|---|
Blond Panda hat Folgendes geschrieben: Das problem liegt nicht am code. Es ist schließlich bei jedem spiel so. Auch denen von anderen entwicklern.
Es sind nicht die 60 FPS, die mich stören. Es ist mir nur aufgefallen, dass es so ist, obwohl solche Spiele bei mir mit 1000 FPS laufen. Es liegt an deinem Code, du verwendest vertikale Synchronisation. Andere Entwickler machen das auch. Du verwendest Frame - Abhängige Programmierung, dh. das dein Programm soschnell läuft wie es die Grafikausgabe tut. - Das machen andere Entwickler nicht. Du lädst die Font in der Schleife: - Verlangsamt, läd Speicher voll, produziert enorme Festplattenaktivität während der Programmlaufzeit. |
||
It's done when it's done. |
![]() |
count-doku |
![]() Antworten mit Zitat ![]() |
---|---|---|
Jap wie Pummelie schon schreibt.
Änder das Flip mal in ein Flip 0 und lade die Font vor der Schleife. Auch die ganzen ImagesCollide können bremsen. Siehe Forensuche und Hilfe |
||
![]() |
XeresModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Eigentlich sollte dir dieser Code binnen zweier Minuten um die Ohren fliegen; Wenn du LoadFont in der Hauptschleife ausführst, füllst du den Speicher bis er irgendwann platzt.
Lade nichts in der Hauptschleife! Ansonsten solltest du mit Flip(0) und Waittimer arbeiten. So verbrauchst du 100% CPU Leistung mit dem warten darauf, dass der Buffer wirklich fertig bearbeitet wurde. Siehe dazu: Hurra, 100 % Auslastung Als nächstes solltest du dir gleich Gosub abgewöhnen. Benutze Funktionen. Die Kapseln den Code und erlauben es, strukturiert zu programmieren. Dann solltest du dir die grundlegenden Strukturen nochmal ansehen und den Code optimieren: BlitzBasic: [AUSKLAPPEN] If gegnerzweileben=0 Then Gegnerzweikoerper= zweiweg |
||
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus THERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld) |
Blond Panda |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Tja, wie schon gesagt bin ich noch recht unerfahren im entwickeln.
Die Font hab ich jetzt rausgehauen. Die war sowieson noch nicht in verwendung (das spiel ist erst in der 0.01 alpha und ich hatte vor, später die munition damit auszugeben ![]() Hm... schneller wird's dadurch nicht... aber ich lass sie trotzdem draussen. An dem, was du gesagt hast, wird schon etwas wahres dran sein. ![]() Weiterhin bleibt dann noch die Frage, warum es bei meinem Bruder viel schneller läuft... wie ist das mit Frame gemeint? Die Frage ist wahrscheinlich dumm aber das könnte die Lösung sein. |
||
Kruemelator |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hier ist mal ein Grundaufbau von sogut wie jedem Prorgamm von mir, vielleicht hilft es dir/euch:
BlitzBasic: [AUSKLAPPEN] ;Allgemein---------------------------------------- |
||
![]() |
Pummelie |
![]() Antworten mit Zitat ![]() |
---|---|---|
Frame
Ich ändere meine Aussage von früher wie folgt: "dir ersteinmal ein paar allgemeine Informationen zu diesem Themengibt aneignen " -> "dir ersteinmal ein paar englische Wörter aneignen" Der PC deines Bruders ist verstellt/defekt. |
||
It's done when it's done. |
Blond Panda |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
haha, ich wollt mir die CPU ausklastung ansehen und hab deswegen den Fullscreen rausgenommen.
CPU= 25% Viel erstaunlicher ist, dass das Spiel dann in seiner eigendlichen Geschwindigkeit läuft. also viiieeeel zu schnell. Jaaaaaaa, die Ifs brauchen wirklich ne überarbeitung. Ist gosub wirklich so schlimm, wenn es einmal vorkommt und das nur, wenn der Charakter stirbt? Mir geht es jetzt erstmal darum, dass ich meine Spiele idee umsetze, die ich plötzlich hatte. Leider geht das nicht, wenn ich das Spiel viel zu lahm programmiere. Määääh. Aber danke schonmal für die fleißige hilfe. Seid mir bitte nicht böse, dass ich so nen hässlichen Code zusammenklebe. ![]() Ich will mein Spiel dafür ja auch Modbar machen ![]() |
||
![]() |
Pummelie |
![]() Antworten mit Zitat ![]() |
---|---|---|
Vergiss das Spiel...
Lerne das Programmierung erstmal in Ansätzen, hole dir dann am besten einen 2. Programmierer und versuche dich dann erneut. Du hast 4 Kerne, 1 Thread auf 100% = 1 CPU Kern 100% = 25% |
||
It's done when it's done. |
![]() |
XeresModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Wenn deine CPU vier Kerne besitzt, nutzt BB dann also einen zu 100% aus - nicht schön für Stromrechnung und Lebenszeit (siehe link).
Gosub ist "schlimm" weil es keinen rationalen Grund gibt, diese Struktur zu benutzen. Gosub und Goto gab es, weil man früher einfach nichts besseres hatte. Vergiss, dass es das gibt und lerne mit Funktionen um zu gehen. Wenn man etwas richtig machen will, braucht es eben Zeit - besonders, wenn du keine Erfahrung mit dem hast, was du tust. |
||
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus THERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld) |
![]() |
count-doku |
![]() Antworten mit Zitat ![]() |
---|---|---|
Die 25% kommen daher, dass es auf einem Kern 100% sind. Da B3D nur einen nutzt sagt der Taskmanager dann 25%...
Wenn es jetzt gut läuft, kann es am ImagesCollide und Vollbild liegen, das gibt auf manchen grakas probleme. Siehe auch die Forumsuche dazu. Und sonst mach halt jetzt nen Timer rein. Xeres hat ja 100% Auslastung bereits gepostet. Sieh dir das mal an. Zum Spiel, ich würde Pummelie nicht komplett zustimmen, dass du es komplett vergessen solltest. Aber dir vllt. mal ein paar Tutorials und kleinere vorher Dinge anschauen. Ansonsten mach es kurz und simpel. |
||
- Zuletzt bearbeitet von count-doku am Di, Aug 06, 2013 21:44, insgesamt 2-mal bearbeitet
![]() |
Tennisball |
![]() Antworten mit Zitat ![]() |
---|---|---|
Wie Pummelie schon gesagt hat, solltest du dich wirklich erstmal mit Grundlagen auseinandersetzen. Suche dir am besten hier Tutorials raus und arbeite sie komplett durch: https://www.blitzforum.de/foru...622#324622
Gruß, Tennisball |
||
Blond Panda |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Junge. Ich stehe Eins in Englisch. (Angebermodus enabled)
http://www.youtube.com/user/Determinationchannel Hier ist mein Youtube Kanal, falls du es mir nicht glaubst. Ein frame heißt eigendlich Rahmen. In diesem Falle ist es ein Bild. FPS bedeutet Frames per second. Das bedeutet Bilder Pro Sekunde. Ich verstehe nur den Zusammenhang mit meinem Programm nicht. Du sagtest nunmal (übersetzt) "du arbeitest mit Bild." Oder noch schlimmer: "Du arbeitest mit Rahmen." Es macht echt keinen Spaß, sich mit einer Programmierer Sprache auseinander zu setzen, wenn die Leute, denen man eine Wichtige Frage Stellt einen gleich als ein "nichts" oder sowas in der Art abstempeln. Man könnte wenigstens in wenig mehr höfligkeit erwarten! ![]() Der PC meines Bruders ist frisch und Nagelneu aufgesetzt. Bei anderen Rechnern ist es das selbe Problem. Und das schreibe ich hier echt nicht das erste mal! ![]() |
||
![]() |
count-doku |
![]() Antworten mit Zitat ![]() |
---|---|---|
Denke, der Großteil der Antworten war freundlich - deine war die erste unfreundliche.
Pummelie schrieb FrameAbhängigeProgrammierung, dies bedeutet, das dein Programm an die Hz deines Monitors angepasst ist. Und somit bei unterschiedlicher Hardware unterschiedlich schnell läuft. ( was du auch mit Google hättest erfahren können) Außerdem schreiben auch wir Sachen nicht zum ersten Mal. Es gab diese Probleme schon oft. Ich habe bereits mehrmals geschrieben, dass du dich bitte mit der (deutschen) Hilfe, und der Forensuche auseinandersetzen solltest. Dort werden eigentlich alle Fragen beantwortet. Gerade die Probleme mit Flip, VSync und so weiter hatten wir schon. Probiere beispielweise mal ein einfacheren Testcode. Zum Beispiel: BlitzBasic: [AUSKLAPPEN] Graphics 400,300,0,2 Das sollte mit 60FPS laufen. Wenn du daran jetzt dein Programm anpasst, wird das auch was. Ansonsten muss du zumindest mal einen einfacheren Testcode mit gleichen Problemen bringen. Denn den anderen können wir nicht ausführen. Auch schrieb ich schon mehrmals von Problemem mit ImagesCollide auch hier werden in der Hilfe alternativen genannt.... |
||
![]() |
Pummelie |
![]() Antworten mit Zitat ![]() |
---|---|---|
"Du verwendest Frame - Abhängige Programmierung" <> "Du arbeitest mit Bild"
Es macht echt keinen Spaß, sich mit einem Anfänger auseinander zu setzen, wenn dieser erfolgreich alle Warnungen missachtet, die Grundbegriffe nicht kennt, und Links die ihm geben werden ignoriert. Man könnte wenigstens ein wenig mehr Einsatzwillen erwarten. Ist ein PC frisch und nagelneu, dann ist er nicht nur falsch, sonder gar nicht konfiguriert. Das du etwas mehrfach schreibst kommt wohl daher, da du glaubst man müsse einmalig gegebene Informationen nicht für voll nehmen, was sich dahingehend auswirkt, das dir ein und die selbe Information nun von uns mehrfach gegeben wird. Schon zu Beginn dieser Diskussion wurde dir ein Befehlsparamter für Flip beschrieben der dein Problem lösen sollte, hast du diesen denn bereits ausprobiert? Mir scheint das dir mit der langsamen Mitteilungsgeschwindigkeit hier im Forum nicht angemessen schnell geholfen ist. - Komm doch kurz zu uns ins TS (pummelie.de)... |
||
It's done when it's done. |
Blond Panda |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Weiterhin:
NEIN! Ich vergesse das Spiel nicht. Es funktioniert wie es soll! Ich freu mich darüber. Denkst du ich schmeiß das alles über bord? Ich nehme mir auch gerne das ein oder andere mal meinen Bruder zu hilfe. Es geht mir darum, dass das Spiel äuft. Und nicht darum Wie ich meinen PC nicht überfordere. Ich habe nicht gesagt, dass 25% gut sind genau so hab ich nicht gesagt, dass 25% schlecht sind. An alle, die sich wirklich mit dem Problem auseinander gesetzt haben und mir ernsthaft (und auf gute Art und Weise) geholfen haben, vielen Dank für eure hilfe. Ich werde mir definitiv noch tutorials ansehen. ![]() An alle anderen: danke, dass ihr mir die gute laune verdorben habt ![]() Hätte ich vorher gewusst, dass man hier behandelt wird, als würde man das Alphabet nicht beherrschen, häötte ich dieses Thema nie angefangen. Gute nacht. |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group