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

Anonymous

unregistriert

21

30.08.2003, 21:47

-> ab ins FAQ - Forum !!!!!!!

Tobiking

1x Rätselkönig

  • Private Nachricht senden

22

30.08.2003, 21:51

Ich habe total keine Ahnung aber für mich klingt 1 gut. Obwohl die 3. Möglichkeit auch begründet werden kann an einem Beispiel. Die neue AMD CPU Generation läuft mit 64 Bit aber mit 32 Bit kompatiblitätsmodus. Laut AMD ist eie 64 Bit CPU mit 800 Mhz schneller als ein 1,6 ghz p4. Habe ich damals mal in einem älteren Test gelesen. Das bedeutet das eine 32 Bit CPU auch mit 16 Bit doppelt so schnell Rechnen könnte. Aber das klingt alles vage.

23

30.08.2003, 22:30

Also ich hab AMD mal angeschrieben. Mal schaun, vieleicht schreiben sie ja zurück. Das würd mich nämlich schon sehr Interessieren.
Wichtig! Ich übernehme keinerlei Verantwortung für eventl. Datenverlust oder Schäden am Rechner ;D

Patrick

Alter Hase

Beiträge: 1 264

Wohnort: Düren

Beruf: Fachinformatiker für Anwendungsentwicklung

  • Private Nachricht senden

24

31.08.2003, 13:35

BOOL ist OS Speziefisch, da BOOL halt kein BuildIn Type ist im gegensatz zu bool der 16 Bit ist. ;) mehr sag ich dazu net :D

25

31.08.2003, 14:49

Bei MS VC++ .NET ist bool nur 1Byte groß. Es währe auch totalle Platzverschwendung wenn man mehr Speicher dafür berappen würde, nur um eine eins oder ne null darin zu speichern.
Wichtig! Ich übernehme keinerlei Verantwortung für eventl. Datenverlust oder Schäden am Rechner ;D

DarthB

Treue Seele

Beiträge: 265

Beruf: Schüler

  • Private Nachricht senden

26

02.09.2003, 12:07

Apropo 64Bit Prozessoren von Athlon in der neuen Gamestar steht das ein Prozessor von Athlon mit 64Bit Struktur und 2GHZ schneller laufen soll als ein Pentium 4 mit 3,2GHZ.
Heftig oder?

27

02.09.2003, 15:12

Naja...so ganz kann ich das ja nett glauben. Ich glaub das sind wohl eher absolute Spitzenwerte, die nur bei Spezialisierten 64Bit Programmen zustande kommen.
Wichtig! Ich übernehme keinerlei Verantwortung für eventl. Datenverlust oder Schäden am Rechner ;D

28

30.09.2003, 16:36

AMD hat es doch noch geschaft mir zu Antworten. Hier mal die Antwort:

Zitat

vielen Dank fuer Ihr Interesse an der Produktpalette von AMD. Bitte entschuldigen Sie meine spaete Antwort. Ich habe Ihre E-mail aber erst heute von den Kollegen zur Beantwortung weitergeleitet bekommen. Generell laesst sich Ihre Frage kaum beantworten, da es sehr spezifisch auf den Programmcode ankommt. Wenn z.B. 8 bit Programmcode entsprechend optimiert ist (Abarbeitung mehrerer 8 bit Befehle parallel), laeuft er natuerlich auf einem 32 bit Prozessor schneller als auf einem 8 bit Prozessor. Es kann aber auch dazu kommen, dass der Prozessor aufgrund des Programmcodes immer wieder Taktzyklen hat, in denen kein Programmcode abgearbeitet werden kann, da z.B. auf den Speicher gewartet werden muss. In diesem Fall haetten Sie von der Verwendung eines 32 bit Prozessors praktisch keinen Vorteil. Auf jeden Fall muessen Sie bedenken, dass neben dem Prozessor noch andere Faktoren, wie Speicheranbindung, Programmcodegestaltung,... eine Rolle spielen. Schon aus diesem Grund laesst sich eine generelle Antwort im Prinzip nicht geben.

Also, ich denke da wird schon viel gesagt, wenn auch nett alles :( Ob 8, 16, 32 oder 64Bit Programmcode oder Prozessor. Man kann also nett generell sagen 8Bit Code ist schneller als 32Bit Code. Es kommt halt immer darauf an wie der Code aufgebaut ist und wie er dann auch verarbeitet wird.

Es wurde hier ja auch das Beispiel genannt:

Zitat

Schau Dir einfach mal das Beispiel an wenn Du einen Shooter wie Unreal 2003 spielst, welche enormer Unterschied in der Performence vorliegt wenn man die Farbtiefe auf 16 Bit setzt statt der 32 Bit, das wäre ein ähnliches Prinzip, da die Graka mit viel weniger Farben arbeiten muß
Da es im Prinzip nach egal ist ob man ein 8, 16 oder 32Bit Datenwort lädt, weil in einem 32Bit System nur 32Bit Datenworte eingelesen werden können, kommt hier die Paralellität zum zuge. Wie in der Antwort beschrieben, werden hier wohl gleich zwei Farbpixel auf einmal Transportiert. Was eine Erklärung wäre warum Spiele mit 16Bit Farbtiefe schneller laufen als mit 32Bit Farbtiefe.
Wichtig! Ich übernehme keinerlei Verantwortung für eventl. Datenverlust oder Schäden am Rechner ;D

29

15.10.2003, 16:16

@AMD 2 GHZ > Intel 3.16 GHZ:
Dieser Vergleich wurde ja mal aufgestellt, und gesagt dass das nur mit optimierter 64-Bit Software so sei. GameStar hat dieses Messergebnis allerdings mit einer normalen 32-Bit Version WinXP zusammengebracht.
Ich denke aber dass der Geschwindigkeitsvorteil in keinster Weise hier etwas mit der 64-Bit-Architektur zu tun hat.
Viel mehr glaub ich, dass das integrierte Speicherinterface des Hammers sowie die Unterstützung von Dual-Channel-Ram im DDR400-Mode schuld ist. Vor allem in Speicherintensiven Spielen wie UT2k3 bringt diese Abkürzung für den Speicher vielen, außerdem verfügt der Hammer über 1 Mb L2 Cache wo der Pentium 4 Northwood "nur" 512 kb hat.
Für einen Vergleich zwischen 64 und 32 Bit halte ich deshalb dieses Beispiel für ungeeignet.

SCHNELLIGKEIT VON TYPEN KLEINER ALS 32 BIT:
Der normale bool-Wert der unter VC mit 8 Bit definiert ist bietet sowohl Geschwindigkeitsvorteile als auch Nachteile.
Eine einfache Multiplikation mit einem 8Bit-Typ dauert in der Regel 5 Takte, wobei für einen 32Bit-Typ nur 3 Takte benötigt werden.
Die arithmetischen Funktionen sind insgesamt alle fast um das doppelte mit 32-Bit-Typen schneller.
Den Nachteil bei der Verwendung von 32-Bits für eine Variable die nur 8 Bit benötigt ist allerdings der, dass unnötig große Datenmengen auf dem Stack gesichert und zurückgeladen werden müssen. Desweiteren wird der Cache verschwendet weil dann 24 Bits mit einem best. Vorzeichenwert (meistens 0) gefüllt werden müssen. Dadurch verringert sich die effektive Größe des Caches was sich wiederhalb stark auf die Leistung auswirkt.

Abschließend kann man zu Leistung deshalb sagen, man besser größere Array von boolschen Werten besser in bools anlegt, hingegen aber einzelne Werte in BOOLs besser aufgehoben sind.

Da wir hier aber sowieso Spieleentwicklung sprechen und z.B. nicht für einen Taschenrechner wie dem TI Voyage 200 mit 10 Mhz und 126 K Cache, braucht man sich normalerweise nicht um so Kleinigkeiten wie einzelnen Variablentypen kümmern sondern sollte die Optimierung sowieso auf höhere Ebene suchen.

Ich persönlich würde aber innerhalb eines Programms, oder einer Programmgruppe NUR einen Variablentyp hernehmen, denn wenn ein Programm bools binär in eine Datei schreibt und ein anderes Programm versucht die Werte als BOOLs einzulesen könnten auf älteren Betriebssystemen probleme entstehen. Bei Systemen wie WinXP oder Win2000 braucht man allerdings keine bedenken haben, denn hier wird alles 32bittig geschrieben und geladen.
Every time you download a warez, god kills a programmer. So please, think of the programmers!

Patrick

Alter Hase

Beiträge: 1 264

Wohnort: Düren

Beruf: Fachinformatiker für Anwendungsentwicklung

  • Private Nachricht senden

30

15.10.2003, 17:11

Originalauszug aus der WinDef.h:

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
#undef FAR
#undef  NEAR
#define FAR                 far
#define NEAR                near
#ifndef CONST
#define CONST               const
#endif

typedef unsigned long       DWORD;
typedef int                 BOOL;
typedef unsigned char       BYTE;
typedef unsigned short      WORD;
typedef float               FLOAT;
typedef FLOAT               *PFLOAT;


und nun ist ende ;)

Werbeanzeige