 |
JLI Spieleprogrammierung
|
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
PeaceKiller JLI Master

Alter: 36 Anmeldedatum: 28.11.2002 Beiträge: 970
Medaillen: Keine
|
Verfasst am: 12.08.2004, 12:29 Titel: |
|
|
MiracleBoy hat Folgendes geschrieben: | Allerdings weiß ich nicht wie groß da der Performancegewinn sein wird |
Man sagt 20%-30% schneller. _________________ »If the automobile had followed the same development cycle as the computer, a Rolls-Royce would today cost $100, get a million miles per gallon, and explode once a year, killing everyone inside.«
– Robert X. Cringely, InfoWorld magazine |
|
Nach oben |
|
 |
The Lord of Programming Living Legend

Alter: 37 Anmeldedatum: 14.03.2003 Beiträge: 3122
Medaillen: Keine
|
Verfasst am: 12.08.2004, 12:42 Titel: |
|
|
PeaceKiller hat Folgendes geschrieben: | MiracleBoy hat Folgendes geschrieben: | Allerdings weiß ich nicht wie groß da der Performancegewinn sein wird |
Man sagt 20%-30% schneller. |
Wer sagt das und wer kanns bestätigen?  _________________ www.visualgamesentertainment.net
Current projects: RDTDC(1), JLI-Vor-Projekt, Tetris(-Tutorial), JLI-Format
(1) Realtime Developer Testing and Debugging Console
Anschlag, Anleitung zum Atombombenbau, Sprengkörper...
Hilf Schäuble! Damit er auch was findet... |
|
Nach oben |
|
 |
PeaceKiller JLI Master

Alter: 36 Anmeldedatum: 28.11.2002 Beiträge: 970
Medaillen: Keine
|
Verfasst am: 12.08.2004, 12:48 Titel: |
|
|
PC Games Hardware z.B. sagt das. Und auf Linux System denke ich kann man das bestätigen  _________________ »If the automobile had followed the same development cycle as the computer, a Rolls-Royce would today cost $100, get a million miles per gallon, and explode once a year, killing everyone inside.«
– Robert X. Cringely, InfoWorld magazine |
|
Nach oben |
|
 |
The Lord of Programming Living Legend

Alter: 37 Anmeldedatum: 14.03.2003 Beiträge: 3122
Medaillen: Keine
|
Verfasst am: 12.08.2004, 12:55 Titel: |
|
|
Auf der 64-Bit-Version von Linux?
Da ist es natürlich klar, dass der schneller läuft. Aber vorausichtlich wird die 64-Bit-Version von Windows ja noch einige Zeit dauern. Deshalb kann man P4 und A64 bisher auch nur auf 32-Bit-Basis vergleichen  _________________ www.visualgamesentertainment.net
Current projects: RDTDC(1), JLI-Vor-Projekt, Tetris(-Tutorial), JLI-Format
(1) Realtime Developer Testing and Debugging Console
Anschlag, Anleitung zum Atombombenbau, Sprengkörper...
Hilf Schäuble! Damit er auch was findet... |
|
Nach oben |
|
 |
Sören JLI Master Trainee

Anmeldedatum: 26.07.2002 Beiträge: 647 Wohnort: Bonn Medaillen: Keine
|
Verfasst am: 12.08.2004, 13:14 Titel: |
|
|
So wie ich es eine Seite vorher getan habe. Aber 20-30% sind schonmal nicht zu verachten, finde ich. |
|
Nach oben |
|
 |
Christian Rousselle Site Admin

Alter: 48 Anmeldedatum: 19.07.2002 Beiträge: 1630
Medaillen: Keine
|
Verfasst am: 12.08.2004, 16:35 Titel: |
|
|
Ich kann mir nicht vorstellen, dass der Gewinn bei normalen Anwendungen überhaupt spürbar sein wird. Was hat man davon, dass die Register größer sind? Erstmal bedeutet das mehr Aufwand - mehr Verwaltung und zwei 32 Bit Zahlen zu multiplizieren ist weniger Aufwand als das gleiche mit zwei 64 Bit Zahlen zu machen. Es wird erst dann schneller werden, wenn man z.B. gleichzeitig zwei 32 Bit zahlen in den 64 Bit registern verarbeitet oder natürlich von dem größeren Adressraum profitiert - aber einfach so wird es nicht schneller....
C. |
|
Nach oben |
|
 |
The Lord of Programming Living Legend

Alter: 37 Anmeldedatum: 14.03.2003 Beiträge: 3122
Medaillen: Keine
|
Verfasst am: 20.08.2004, 13:02 Titel: |
|
|
Gestern habe ich gelesen, dass es jetzt schon eine Testversion des 64-Bit-WinXp zum Downloaden gibt
--> chip.de
Mich wundert auch, dass es dann schneller laufen soll.
Es klingt zwar wie eine Verdoppelung, aber die 32 hat ja eigentlich überhaupt nix mit der Geschwindigkeit zu tun.
PS: *sfz* jeder sagt irgendwie etwas anderes, was Intel HT vs. AMD 64 angeht...
Einmal heißt es, HT-Rulez, dann wieder, dass nicht-auf-HT-optimierte Anwendungen dann sowieso keinen Vorteil bringen
Dann heißt es 64-Bit-Rulez, dann aber wieder, dass das auch keinen besonders großen Geschwindigkeitsvorteil bringt/bringen kann.  _________________ www.visualgamesentertainment.net
Current projects: RDTDC(1), JLI-Vor-Projekt, Tetris(-Tutorial), JLI-Format
(1) Realtime Developer Testing and Debugging Console
Anschlag, Anleitung zum Atombombenbau, Sprengkörper...
Hilf Schäuble! Damit er auch was findet... |
|
Nach oben |
|
 |
PeaceKiller JLI Master

Alter: 36 Anmeldedatum: 28.11.2002 Beiträge: 970
Medaillen: Keine
|
Verfasst am: 20.08.2004, 15:07 Titel: |
|
|
Nja wenn ich genug Geld zusammen hab kauf ich mir ein Dual 64bit AMD, dann hab ich beide Vorteile in einem.
edit: 46 in 64 korrigiert. _________________ »If the automobile had followed the same development cycle as the computer, a Rolls-Royce would today cost $100, get a million miles per gallon, and explode once a year, killing everyone inside.«
– Robert X. Cringely, InfoWorld magazine
Zuletzt bearbeitet von PeaceKiller am 20.08.2004, 16:08, insgesamt 2-mal bearbeitet |
|
Nach oben |
|
 |
AFE-GmdG JLI MVP


Alter: 45 Anmeldedatum: 19.07.2002 Beiträge: 1374 Wohnort: Irgendwo im Universum... Medaillen: Keine
|
Verfasst am: 20.08.2004, 16:03 Titel: |
|
|
PeaceKiller hat Folgendes geschrieben: | ...kauf ich mir ein Dual 46bit AMD... | Das möcht ich sehn
Wovon der größere Adressraum profitiert, ist in erster Linie dass Prozesse komplette Dateien in den Adressraum mappen können um dann auf Dateiebene mit Pointern um sich zu werfen. So wäre es dann durchaus denkbar, dass ein besonders großer Level mit extra detailierten Details (Ich weiss, dass das doppelt gemoppelt ist) direkt angesprochen werden kann, ohne dass spürbare Ladezeiten vorhanden wären. Memory Mapped Files (was auch schon bei 32-Bit geht, aber abhängig von der Anwendung nur mit Dateien von maximal 1 GB) wären wenn sie vernünftig eingesetzt werden ein echter Qualitätssprung. _________________
CPP: | float o=0.075,h=1.5,T,r,O,l,I;int _,L=80,s=3200;main(){for(;s%L||
(h-=o,T= -2),s;4 -(r=O*O)<(l=I*I)|++ _==L&&write(1,(--s%L?_<(L)?--_
%6:6:7)+\"World! \\n\",1)&&(O=I=l=_=r=0,T+=o /2))O=I*2*O+h,I=l+T-r;} |
|
|
Nach oben |
|
 |
Sören JLI Master Trainee

Anmeldedatum: 26.07.2002 Beiträge: 647 Wohnort: Bonn Medaillen: Keine
|
Verfasst am: 20.08.2004, 17:31 Titel: |
|
|
The Lord of Programming hat Folgendes geschrieben: |
Es klingt zwar wie eine Verdoppelung, aber die 32 hat ja eigentlich überhaupt nix mit der Geschwindigkeit zu tun. |
Klar. (siehe Post von Afe)
Wenn die Register größer sind kann leichter(->schneller) mit größerem Speicher gerechnet werden. |
|
Nach oben |
|
 |
The Lord of Programming Living Legend

Alter: 37 Anmeldedatum: 14.03.2003 Beiträge: 3122
Medaillen: Keine
|
Verfasst am: 20.08.2004, 21:58 Titel: |
|
|
AFE-GmdG hat Folgendes geschrieben: | So wäre es dann durchaus denkbar, dass ein besonders großer Level mit extra detailierten Details (Ich weiss, dass das doppelt gemoppelt ist) direkt angesprochen werden kann, ohne dass spürbare Ladezeiten vorhanden wären. |
Hmm...aber für den Endkunden wären ja eher nicht die Ladezeiten, sondern die FPS entscheidend. Zumindest hört sich das jetzt so an, als ob es bei den Ladezeiten eben schneller geht.
Aber was ist dann im Spiel? _________________ www.visualgamesentertainment.net
Current projects: RDTDC(1), JLI-Vor-Projekt, Tetris(-Tutorial), JLI-Format
(1) Realtime Developer Testing and Debugging Console
Anschlag, Anleitung zum Atombombenbau, Sprengkörper...
Hilf Schäuble! Damit er auch was findet... |
|
Nach oben |
|
 |
AFE-GmdG JLI MVP


Alter: 45 Anmeldedatum: 19.07.2002 Beiträge: 1374 Wohnort: Irgendwo im Universum... Medaillen: Keine
|
Verfasst am: 21.08.2004, 21:54 Titel: |
|
|
Vielleicht hab ich mich ungünstig ausgedrückt. Sicherlich ist ein höherer Takt für schnellere Frames und eine schnelle Festplatte für schnellere Ladezeiten verantwortlich. Aber wenn man genug (addressierbaren) Speicher hat, kann man üppiger damit umgehen. Bei Memory Mapped Files wird einfach so getahn, als ob eine Datei Teil des Ramspeichers ist, dadurch sind Operationen mit den Daten einfacher zu programmieren.
In einem 32-Bit-Betriebssystem (wo man 4 GB addressieren kann) wird pro Prozess ein Addressraum eingerichtet, der 4 GB groß ist.
Der Bereich von 0 bis 2 Gigabyte ist dabei für die Anwendung selbst, bis 3 GB für DLL's und bis 4 GB für System-DLL's reserviert. Hat man also eine Anwendung, die 100 MB Speicher verbraucht (z.B. durch ein Array) zeigen die Pointer allesamt auf den Bereich unter 2 GB, eine Bibliotheksfunktion (z.B. printf) hat eine Funktionsadresse im Bereich zwischen zwei und drei GB und eine Systemfunktion wie CreateWindow() hat einen Funktionspointer zwischen 3 und 4 GB. Soviel zur Theorie.
Jetzt hat man für seine eigene Anwendung also ca. 1,5 Gigabyte freien Speicher, der je nach Fragmetierung des Adressraumes in mehr oder weniger große Teile zersplittert ist. Wenn man nun einen Addressraum von 700 MB benötigt, kann die Sache schnell mal knapp werden. Dabei ist es völlig unrelevant, ob wirklich 700 MB freier physikalischer Ram zur Verfügung stehen - die würden bei Memory Mapped Files eh nicht verwendet werden - wichtig ist nur, dass ein Addressraum dieser Größe vorhanden ist. Die Datei wird dann einfach in diesen Addressraum eingeblendet.
Der größere zur Verfügung stehende Adressraum ist in einem 64-Bit-System ist die größte Stärke. Ansonsten gibt es natürlich auch Nachteile:
Wie bereits von Christian erwähnt, müssen für eine einfache Operation jetzt zwei mal 64 Bits statt bisher zwei mal 32 Bits miteinander verknüpft werden. Diese Müssen ebenfalls aus dem Speicher gelesen und das Ergebnis muss wieder in denselben geschrieben werden - alles Dinge, die sich in einem 64-Bit-System Geschwindigkeitsmäßig halbieren gegenüber einem 32-Bit-System (bei gleichschneller Hardware)
So, ich hoffe nun hab ich alle Klarheiten beseitigt
AFE-GmdG _________________
CPP: | float o=0.075,h=1.5,T,r,O,l,I;int _,L=80,s=3200;main(){for(;s%L||
(h-=o,T= -2),s;4 -(r=O*O)<(l=I*I)|++ _==L&&write(1,(--s%L?_<(L)?--_
%6:6:7)+\"World! \\n\",1)&&(O=I=l=_=r=0,T+=o /2))O=I*2*O+h,I=l+T-r;} |
|
|
Nach oben |
|
 |
The Lord of Programming Living Legend

Alter: 37 Anmeldedatum: 14.03.2003 Beiträge: 3122
Medaillen: Keine
|
Verfasst am: 21.08.2004, 22:11 Titel: |
|
|
AFE-GmdG hat Folgendes geschrieben: | Ansonsten gibt es natürlich auch Nachteile:
Wie bereits von Christian erwähnt, müssen für eine einfache Operation jetzt zwei mal 64 Bits statt bisher zwei mal 32 Bits miteinander verknüpft werden. Diese Müssen ebenfalls aus dem Speicher gelesen und das Ergebnis muss wieder in denselben geschrieben werden - alles Dinge, die sich in einem 64-Bit-System Geschwindigkeitsmäßig halbieren gegenüber einem 32-Bit-System (bei gleichschneller Hardware)
So, ich hoffe nun hab ich alle Klarheiten beseitigt
AFE-GmdG |
Das heißt, ein 64-Bit System kann u.U. auch langsamer werden?
Also heißt das, bei 64-Bit können die Adressen im Speicher und der Speicher selbst besser verarbeitet werden? _________________ www.visualgamesentertainment.net
Current projects: RDTDC(1), JLI-Vor-Projekt, Tetris(-Tutorial), JLI-Format
(1) Realtime Developer Testing and Debugging Console
Anschlag, Anleitung zum Atombombenbau, Sprengkörper...
Hilf Schäuble! Damit er auch was findet... |
|
Nach oben |
|
 |
AFE-GmdG JLI MVP


Alter: 45 Anmeldedatum: 19.07.2002 Beiträge: 1374 Wohnort: Irgendwo im Universum... Medaillen: Keine
|
Verfasst am: 21.08.2004, 23:22 Titel: |
|
|
The Lord of Programming hat Folgendes geschrieben: | Das heißt, ein 64-Bit System kann u.U. auch langsamer werden?
Also heißt das, bei 64-Bit können die Adressen im Speicher und der Speicher selbst besser verarbeitet werden? | Nicht unbedingt besser - halt nur wesentlich mehr. Mit jedem Bit Mehr kann man die doppelte Menge an Speicher Addressieren. mit einem Bit kann man 2 Byte addressieren, mit 2 Bit schon 4 Byte, mit 8 Bit 256 Byte usw.
Bei 64 Bit Speicherbreite (Addressbreite) kann man so um die 2048 Exabytes Speicher Addressieren (2048*10^18 Bytes) _________________
CPP: | float o=0.075,h=1.5,T,r,O,l,I;int _,L=80,s=3200;main(){for(;s%L||
(h-=o,T= -2),s;4 -(r=O*O)<(l=I*I)|++ _==L&&write(1,(--s%L?_<(L)?--_
%6:6:7)+\"World! \\n\",1)&&(O=I=l=_=r=0,T+=o /2))O=I*2*O+h,I=l+T-r;} |
|
|
Nach oben |
|
 |
|
|
Du kannst keine Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum nicht antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen.
|
Powered by phpBB © 2001, 2005 phpBB Group Deutsche Übersetzung von phpBB.de
|