Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

11

31.08.2015, 06:38

Also meine Festplatte schafft 200 MB/s, der RAM nur 51,2 GB/s (Speicherbandbreite laut Prozessorspezifikation).
Das sind aber die reinen Übertragungsgeschwindigkeiten. Die Zugriffszeiten sind in diesem Fall viel interessanter und da sieht's noch viel schlimmer aus.
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

12

31.08.2015, 14:10

Also meine Festplatte schafft 200 MB/s, der RAM nur 51,2 GB/s (Speicherbandbreite laut Prozessorspezifikation). Wie jemand auf die Idee kommt, dass der RAM langsamer ist, weiß ich auch nicht.

Lokale Variablen werden auf dem Stack erzeugt, dazu wird einfach ein Stackpointer-Register verändert, was direkt im Prozessor ist, der Zugriff auf die Variablen erfolgt dann über Lesen und Schreiben an der Adresse Stackpointer + Offset im RAM, sehr wahrscheinlich auch direkt im L1 Cache, der deutlich schneller als der RAM ist. Nachdem der Scope der Variablen verlassen wird (nach dem {...} Block, in dem die Variablen stehen, bzw. nach dem return in der Funktion), wird der Stackpointer wieder auf den vorherigen Wert zurückgesetzt. Das ist überhaupt nicht ineffizient.
Ich habe NIE behauptet die Festplatte sei schneller als der RAM... keine Ahung wo du das gelesen hast, aber nicht bei mir. Das die static-Variablen auf der festplatte angelegt werden stimmt zwar so nicht ganz, sie werden aber auf jeden Fall anders behandelt als auto-Variablen.
Und diese wieder auf einen Wert zurücksetzen und danach wieder initialisieren ist mehr Aufwand als nicht neuinitialisieren. 1 + 1 = 2 ?

Dazu behalten static's auch noch ihren Wert, was für mich an dieser Stelle essentiell ist.

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

13

31.08.2015, 14:12

Du solltest Dich dringend damit beschäftigen, wie Objekt-Instanzen funktionieren und wo der Unterschied zwischen Member- und lokalen Variablen ist. Richtig gemacht, wird da überhaupt gar nichts zurückgesetzt und neu initialisiert. Davon mal abgesehen ist das Setzen einer Variablen wohl sicher nicht Dein Bottleneck in der Anwendung und Du zer-optimierst da unnötig irgendwelche Dinge nur deshalb, weil Du ihre Funktionsweise nicht verstanden hast.
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

14

16.09.2015, 19:17

Du solltest Dich dringend damit beschäftigen, wie Objekt-Instanzen funktionieren und wo der Unterschied zwischen Member- und lokalen Variablen ist. Richtig gemacht, wird da überhaupt gar nichts zurückgesetzt und neu initialisiert. Davon mal abgesehen ist das Setzen einer Variablen wohl sicher nicht Dein Bottleneck in der Anwendung und Du zer-optimierst da unnötig irgendwelche Dinge nur deshalb, weil Du ihre Funktionsweise nicht verstanden hast.
Die Hälfte von dem was du hier insgesamt geschrieben hast, ist bullshit. Nach Abgleichen mit Microsoft.org.
Anscheinend musst du noch einiges aufarbeiten. Mein Programm funktioniert jetzt auch so. Mir ist klar, dass jetzt alle hier ein Kommentar gegen meine Aussage verfassen werden, um dir in den Arsch zu kriechen. Aber das ist mir völlig egal. Bannt mich ruhig für meine Ausdrucksweise, aber irgendeiner muss dir arrogantem Ignorant mal erzählen, dass du kein Genie bist.
Du hast ja noch nichts öffentlich relevantes geschafft oder?
Schönen Tag noch der Herr ;)

PS: Würde das was du sagst stimmen, würde mein Programm nicht funktionieren, doch es funktioniert. (Dir fehlt vielleicht Praxis)

Schorsch

Supermoderator

Beiträge: 5 145

Wohnort: Wickede

Beruf: Softwareentwickler

  • Private Nachricht senden

15

16.09.2015, 19:49

Halt mal den Ball flach. Ich erinnere daran dass du hier derjenige bist der bei den Grundlagen nicht weiter kommt. Eben weil du solche Dinge anscheinend nicht richtig weißt. Das heißt nicht dass du beleidigend werden musst. Und nur weil man etwas irgendwie zum laufen kriegt heißt es nicht dass man es verstanden hat. Wenn du meinst Microsoft würde da völlig andere Dinge behaupten dann zeig die Stellen doch bitte damit wir es nachvollziehen können. Anscheinend haben wir das ja seit Jahren falsch verstanden. Ein wunder dass wir überhaupt irgendwelchen lauffähigen Code produzieren konnte.
„Es ist doch so. Zwei und zwei macht irgendwas, und vier und vier macht irgendwas. Leider nicht dasselbe, dann wär's leicht.
Das ist aber auch schon höhere Mathematik.“

Sylence

Community-Fossil

Beiträge: 1 663

Beruf: Softwareentwickler

  • Private Nachricht senden

16

16.09.2015, 20:04

(Dir fehlt vielleicht Praxis)


Du weißt nicht, was static bedeutet und meinst dann er hätte zu wenig Praxiserfahrung?

*popcorn hohl*

Werbeanzeige