Sprite-Kette von oben nach unten Durchlaufen lassen?

Previous topic - Next topic

Veritas

QuoteIst heutzutage nicht mehr nötig, wir haben Page flipping.
LIMITFPS ist nicht Deine Frequenz, dass sind die Frames.

GOSUB update_uDelay
SLEEP uDelay   
kann ganz weggelassen werden, hat überhaupt keine Funktion!
Die Geschwindigkeit bleibt immer gleich.

Huhu, also erstmal ist das nicht der ganze Code. Es gibt noch eine Sleepintervallschleife von Ocean. Sie sorgt dafür das nicht mehr Frames berechnet werden als nötig und funktioniert auch einwandfrei. Dadurch hat die Animaton statt 100% CPU Auslastung, wie bei allen unoptimierten Programmen nur 1-4% CPU Auslastung.
Das hab ich aber nicht mehr integriert, weil es unötig gewesen wäre und sowieso funktioniert und das "Zucken" auch vorher schon da war.

V-Sync TFT und Röhre. Monitore haben EINEN Elektronenstrahl TFTs haben Multiplexing, sie können auch nicht alles auf einmal Darstellen sondern nur mehrere Zeilen gleichzeitig. Das V-Sync da unwichtig ist halte ich somit also für einen Irrglaube. Allerdings dürfte das durch das page flipping wegfallen. Jetzt bin ich irritiert.
Habe in anderen Foren gelesen das auch Tfts Artefakte anzeigen können die dann mit V-Sync verschwinden. Also Irgendwie kann somit keiner ganz richtig oder falsch liegen.

QuoteDas Programm ist ja doppelt und dreifach auf 60Hz und mein Tft ist es logischerweise auch ^^.
QuoteLIMITFPS ist nicht Deine Frequenz, dass sind die Frames

Ich denke wenn man das nicht wüßte, würde man auch nicht so eine Frage stellen oder?
Meine Herzrate ist "logischerweise" 60 Herz, weil ich einen 22"Tft nutze. Sehr viel mehr als 60 Herz kriegt man da einfach nicht raus ;).

LG Veritas
Tower: 2,5Ghz Quadcore/  8GB DDR2 Ram/ 1066Mhz FSB / ATI HD Radeon 4860.
Mobil:  DELL Studio XPS 16 / 2,53GHz intel Centrino 2 Duo / 4GB DDR 3 Ram/ 1066Mhz FSB/ ATI Radeon 4670 mobility

Never Argue with Idiots. They'll drag you down
to their level and beat you with experience.

peterpan

Huhu,

ja, wenn du das schon alles kennst, dann muss mich halt zurückhalten.
Die Frage nach dem Vsync, nun, da hast Du ja Deine eigene Vorstellung.

Hoffendlich hab Ich mich jetzt nicht unbeliebt gemacht, mit Meiner Dummheit !

Bye


 

Schranz0r

Warum bist du gleich so eingeschnapt wenn einer was anderes sagt?
Wiederlegs doch einfach und ruhe is. Dann hast du recht und er nicht ;)
I <3 DGArray's :D

PC:
AMD Ryzen 7 3800X 16@4.5GHz, 16GB Corsair Vengeance LPX DDR4-3200 RAM, ASUS Dual GeForce RTX™ 3060 OC Edition 12GB GDDR6, Windows 11 Pro 64Bit, MSi Tomahawk B350 Mainboard

peterpan

Hi schranzOr,

ich denke mal, dass Ich das kann.
Aber im Prinzip interessiert es mich nicht, was der so meint.
Die haben alle Ahnung, nur nicht genug!

Der sollte das hier mal lesen !!

Im Gegensatz zu einem herkömmlichen Röhrenmonitor baut ein Flachdisplay das Monitorbild nicht zeilenweise auf, sondern bringt alle Pixel gleichzeitig zum Leuchten. Die Pixel bestehen vereinfacht ausgedrückt aus flüssigen Kristallen, einem Farbfilter und einem Transistor. Das ist eine Art Schalter, der je nach erzeugter Spannung die Lage der Kristalle ändert. Je nachdem, in welcher Lage die Kristalle sich befinden, lassen sie das Licht in unterschiedlichen Wellenlängen passieren und erzeugen somit verschiedene Farben.

Das Licht produzieren Leuchtstoffröhren an den Rändern des Displays. Für die gleichmäßige Verteilung des Lichts über die gesamte Monitorfläche sind zwei Polarisationsfilter zuständig, die nur Licht bestimmter Wellenlänge passieren lassen. Alle Leuchtpunkte (Pixel) zusammen ergeben das Monitorbild.

Bildwiederholfrequenz

Beim TFT-Display spricht man, wie beim Röhrenmonitor, ebenfalls von Bildwiederholfrequenz. Hier meint man jedoch die Häufigkeit, mit der die Transistorspannung in der Sekunde verändert wird. Beim Röhrenmonitor misst man dagegen den zeilenweisen Bildaufbau in der Sekunde. Anders als bei der herkömmlichen Methode, nimmt das Auge das Umschalten der Transistoren nicht als Flimmern wahr, weshalb schon 60 Bilder pro Sekunde (60 Hertz) für ein klares Bild ausreichen.

Eine alte Arbeit von mir.

bye

Schranz0r

Quote from: peterpan on 2008-Aug-28
Im Gegensatz zu einem herkömmlichen Röhrenmonitor baut ein Flachdisplay das Monitorbild nicht zeilenweise auf, sondern bringt alle Pixel gleichzeitig zum Leuchten.

Dachte ich auch das es so ist :)
I <3 DGArray's :D

PC:
AMD Ryzen 7 3800X 16@4.5GHz, 16GB Corsair Vengeance LPX DDR4-3200 RAM, ASUS Dual GeForce RTX™ 3060 OC Edition 12GB GDDR6, Windows 11 Pro 64Bit, MSi Tomahawk B350 Mainboard

Veritas

QuoteHoffendlich hab Ich mich jetzt nicht unbeliebt gemacht, mit Meiner Dummheit !

"DER" Peter, der Zyniker, sollte hier mal echt nicht so rumzicken  :good:. Gut mein Gott dann lag ich halt nicht richtig. Wäre aber trotzdem schön wenn "der" Peter mal über die Teppichkante guckt und selbst liest, das einige User der Meinung sind Artefakte mit V-Sync auch bei TFT's abzuschalten  :zzz:.
So wird ahnungslosen Usern natürlich das falsche weitergegeben.
Was "die" sagen ist mir imprinzip auch egal, denn ich such ja nur ne Lösung für mein Problem ;/. Ich dachte es könnte eine Ursache sein, mehr nicht.
Ich hab vom Bildaufbau wirklich keine Ahnung und mir nur das zusammengelesen, was ich bei Google darüber gefunden habe. Ich will ja nur herausfinden woran es liegt und wie ich es beheben kann, statt mich hier Seitenweise damit rumzuschlagen was es laut "dem" Peter ja wohl definitiv NICHT sein kann.

Hat irgendjemand ne Idee woran es liegen könnte? Grafiktreiber irgendwas? Nicht das es sich ausschließen lässt, aber bei mir läuft es auf allen Rechnern so.
ps.: Danke nochmal an Ocean =D ich bin wirklich immernoch überglücklich damit *g*.
LG Veritas
Tower: 2,5Ghz Quadcore/  8GB DDR2 Ram/ 1066Mhz FSB / ATI HD Radeon 4860.
Mobil:  DELL Studio XPS 16 / 2,53GHz intel Centrino 2 Duo / 4GB DDR 3 Ram/ 1066Mhz FSB/ ATI Radeon 4670 mobility

Never Argue with Idiots. They'll drag you down
to their level and beat you with experience.

peterpan

Hi Veritas,

ich bin keine Zündkerze und auch kein Mädchen, dass hier rumzickt.
Das ganze sollte nur eine Hilfe sein.
Recht will Ich ja nicht haben, mach Fehler wie andere auch!

Damit beende Ich das Thema in Frieden und werd die Nächsten ärgern.  ;/
Peter 

BumbleBee

Quote from: peterpan
Das ganze sollte nur eine Hilfe sein.
Du hast ihm noch nicht geholfen. Er hat ja noch das Problem. :) Siehe:

Quote from: Veritas
Hat irgendjemand ne Idee woran es liegen könnte? Grafiktreiber irgendwas? Nicht das es sich ausschließen lässt, aber bei mir läuft es auf allen Rechnern so.

Was ist jetzt mit VSYNC beim TFT? Ohne Funktion oder wie? ;)

Quote from: peterpan
und werd die Nächsten ärgern.

  Hehe, hier bin ich.  :P

Cheers
The day will come...

CPU Intel(R) Core(TM) i5-3570k, 3.4GHz, AMD Radeon 7800 , 8 GB RAM, Windows 10 Home 64Bit

Veritas

Ja hallo =)

Naja  =D ehrlich gesagt hatte ich gehofft jemand wäre vlt schon mal auf die Idee gekommen und hätte zufällig eine geschrieben  :good:

Das das nich ohne Funktion geht nur weil ichs mir herbeiwünsche ^^ ist mir in den letzten Wochen auch klar geworden  :S. Also hat jemand ne Idee wie man ne V-Sync schreibt?

Achso und noch ne Frage. Bei Optionen kann man ja neben Auflösung und Herzrate "Multisampling" einstellen. Was ist das überhaupt OO.
Tower: 2,5Ghz Quadcore/  8GB DDR2 Ram/ 1066Mhz FSB / ATI HD Radeon 4860.
Mobil:  DELL Studio XPS 16 / 2,53GHz intel Centrino 2 Duo / 4GB DDR 3 Ram/ 1066Mhz FSB/ ATI Radeon 4670 mobility

Never Argue with Idiots. They'll drag you down
to their level and beat you with experience.

Kitty Hello

Multisampling = Full Screen Antialiasing.

Veritas

Tower: 2,5Ghz Quadcore/  8GB DDR2 Ram/ 1066Mhz FSB / ATI HD Radeon 4860.
Mobil:  DELL Studio XPS 16 / 2,53GHz intel Centrino 2 Duo / 4GB DDR 3 Ram/ 1066Mhz FSB/ ATI Radeon 4670 mobility

Never Argue with Idiots. They'll drag you down
to their level and beat you with experience.

Veritas

Ok Guys,
also ich hab das ganze jetzt nochmal "sauber" programmiert um wirklich alle Fehlerquellen auszuschließen.
Wie in allen vorangegangenen Versionen erscheint dieses "Zucken" immernoch, obwohl der Code ein komplett anderer ist (von Null angefangen). Vielleicht sehe auch nur ich es, weil ich so konzentriert darauf sehe. Es existiert dennoch. Damit ihr sehen könnt WAS ich meine, habe ich eine Version angehängt.

Seht es euch ganz genau an, startet es zwei, dreimal. Die Geschwindigkeit ist die ersten paar Durchläufe konstant. Es dürften also keine Ruckler, Zucken oder sonstiges auftreten. Trotz allem sieht man welche, was ich absolut nicht kapier! Welche Ursachen kann das haben? Mein Programm läuft im Moment so schnell wie es die CPU hergibt. Ich habe mal gelesen, das man auch so programmieren kann / sollte, das es unabhängig von der CPU-Geschwindigkeit immer gleich schnell läuft (über Zeitmessung).
Besteht dadurch nicht die Möglichkeit das es in meiner Version, weil ich dies nicht tue, Interferenzen durch die CPU Geschwindigkeit gibt? Es läuft egal auf welchem Rechner für mich optisch überall gleich Schnell, egal welches Cores die Klötze haben. Daher habe ich bisher nicht mit dem Gedanken gespielt.

Wenn das eine Möglichkeit sein könnte wär ich sehr dankbar, wenn man mir einen Tipp geben könnte wie das funktioniert.

Danke
Liebe Grüße Verry

(Link)
http://www.fileden.com/files/2007/10/4/1481495/Trommel.rar
Tower: 2,5Ghz Quadcore/  8GB DDR2 Ram/ 1066Mhz FSB / ATI HD Radeon 4860.
Mobil:  DELL Studio XPS 16 / 2,53GHz intel Centrino 2 Duo / 4GB DDR 3 Ram/ 1066Mhz FSB/ ATI Radeon 4670 mobility

Never Argue with Idiots. They'll drag you down
to their level and beat you with experience.

Kitty Hello

Wenn die Bildwiederholfrequenz des Monitors <> der Deines Spiels ist, dann _muss_ es ab und an zuckeln. Das ist schon seit 1995 ein Problem am PC, und es wird nie gelöst werden.

Veritas

Ah ok, das verstehe ich schon irgendwie. Danke.
Was ich nicht verstehe ist:

Meine beiden Tfts laufen beide auf 60Hz und das Spiel ist ebenfalls auf 60 Hz eingestellt und die Sleep-Intervall-Schleife von Ocean verhindert zusätzlich noch das nicht mehr Frames (60) berechnet werden als notwendig  (ob das jetzt ins Gewicht fällt oder nicht).
Die Bildwiederholrate ist also = dem Spiel. Trotzdem habe ich etwa alle 3 Sekunden dieses "zuckeln".
Gibt es denn sonst noch Möglichkeiten, wieso der Rechner sich selbst ein Bein "stellt"? Kann es vielleicht, daran liegen, das es so schnell abläuft wie der Kern es verarbeiten kann? Muss ich irgendeinen Gettimmerall Befehl einbinden, der dem Programm sagt,

Code (glbasic) Select
lies das...schreib das wenn ... timer = so und so?

Habt ihr irgendwelche Ideen Jungs? Ich krieg die Krise : /

Liegt es an der Grafikkarte? Ist es einfach so das es FEST nicht möglich ist das konstante 60Hz wiedergegeben werden und dieser Wert pendelt und es dadurch zustande kommt?

Hat irgendjemand in meiner Animation gesehen, was ich meine?
Es muss doch irgendeine erklärliche Ursache geben.
Liebe Grüße
Verry
Tower: 2,5Ghz Quadcore/  8GB DDR2 Ram/ 1066Mhz FSB / ATI HD Radeon 4860.
Mobil:  DELL Studio XPS 16 / 2,53GHz intel Centrino 2 Duo / 4GB DDR 3 Ram/ 1066Mhz FSB/ ATI Radeon 4670 mobility

Never Argue with Idiots. They'll drag you down
to their level and beat you with experience.

Schranz0r

Muss an der GraKa liegen!
Ich hatte noch nie ein zuckeln...
I <3 DGArray's :D

PC:
AMD Ryzen 7 3800X 16@4.5GHz, 16GB Corsair Vengeance LPX DDR4-3200 RAM, ASUS Dual GeForce RTX™ 3060 OC Edition 12GB GDDR6, Windows 11 Pro 64Bit, MSi Tomahawk B350 Mainboard