64 bit und Multithreading?

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

Sereyanne

Betreff: 64 bit und Multithreading?

BeitragMi, Jun 30, 2010 8:44
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi,
ich habe mal zwei ganz blöde Fragen!
Man sieht mittlerweile immer mehr, wie wichtig es ist/wird, ein Spiel auf 64 Bit zu optimieren und für Multithreading zu programmieren. Mein Problem ist jetzt: Wie stelle ich das jetzt genau an?? Auf was muss ich beim Code achten?
Die Suchfunktion ergab eine Beta von Max für Multithreading. Heißt das, 3D und Plus können das nicht? Und wie siehts aus mit der Beta? Ist die Funktion endlich ausgereift?
Vielen Dank im Voraus.
LG,
Sereyanne

hazumu-kun

BeitragMi, Jun 30, 2010 9:09
Antworten mit Zitat
Benutzer-Profile anzeigen
B3D und B+ können einfach kein Multithreading, das ist im Sprachkonzept nicht umgesetzt, Für Blitz3D gibt es zwar einen Hack über die Userlibs mit dem du Threads nutzen kannst, das ist aber SEHR störanfällig, lass es lieber.

BMAX hat tatsächlich Threading umgesetzt, allerdings musst du dafür erstmal alle Module Multi-Threaded neu kompilieren per C-Compiler, und dich dann damit ärgern das Events (Timer, Tastatur) nur im Hauptthread funktionieren, es ist mangelhaft umgesetzt.

Zum Thema 64 Bit:
Der Compiler muss auf 64 bit ausgelegt sein, weil 64 Bit anderen Maschinencode benutzt, dass 32-Bit Exe's noch laufen verdankst du der Kompatibilität und dem NT-Kernel.
Warum kann es keine omnipotente Macht geben?
Weil diese omnipotente Macht in der Lage sein müsste, einen so schweren Stein zu schaffen, dass sie ihn nicht heben kann
-> nicht omnipotent

Jan_

Ehemaliger Admin

BeitragMi, Jun 30, 2010 12:27
Antworten mit Zitat
Benutzer-Profile anzeigen
Multithreating geht in Blitzmax und 64 Bit nirgenswo.

64 Bit brauchst du erst, bei Zahlen über 2,4 Millarden um sie mit einen Taktzyklus berechnen zu können und bei Programmen mit über 4 GB Speicherauslastung.
between angels and insects

Sereyanne

BeitragMi, Jun 30, 2010 16:58
Antworten mit Zitat
Benutzer-Profile anzeigen
Okay, vielen Dank, auch wenn die Antworten sehr ernüchternd sind...
Ich verstehe nicht so ganz, wenn das stimmt, was Jan_ sagt, wieso es dann Spiele gibt, die eigentlich für XP gemacht wurden, weil es da auch noch kein Vista gab, und auch nicht so viel Speicher auslasten, wieso die merkwürdigerweise unter Vista weniger haken und deutlich flüssiger laufen... dachte das hätte was mit den 64 Bit meines Vista zu tun... anscheinend ja nicht.

Gut... kennt ihr denn eine Sprache, mit der sich sowas umsetzen lässt? Schade dass es mit Max immer noch nur Beta ist.

LG,
Sereyanne

Pummelie

BeitragMi, Jun 30, 2010 17:40
Antworten mit Zitat
Benutzer-Profile anzeigen
Suche einfah bei google nach: 64Bit Compiler
It's done when it's done.

hazumu-kun

BeitragDo, Jul 01, 2010 7:59
Antworten mit Zitat
Benutzer-Profile anzeigen
Es gibt für nahezu jede populäre Hochsprache die compiliert auch einen 64-bit Compiler.

z.B. alle C-Sprachen und natürlich Assembler
Warum kann es keine omnipotente Macht geben?
Weil diese omnipotente Macht in der Lage sein müsste, einen so schweren Stein zu schaffen, dass sie ihn nicht heben kann
-> nicht omnipotent

Midimaster

BeitragDo, Jul 01, 2010 9:18
Antworten mit Zitat
Benutzer-Profile anzeigen
@serayanne

erwarte dir nicht zuviel von 64bit oder Multithreading. Der Flaschenhals ist das DirectDraw aus DirectX7, das von BB B3D und B+ benutzt wird und unter VISTA und WIN7 gar nicht mehr nativ zur Verfügung steht. Hier wird dann langwierig emuliert und das kostet Rechenzeit.

Eine echt schnelle Alternative ist BMAX: Dort wird die Grafik unter DX9 oder OpenGL erstellt und der Ärger ist vorbei. Da brauchst Du für 2D Sachen gar kein Multithreading oder 64bit.

Und für 3D Sachen bindest du eine 3D-Engine ein. Hier bietet sich MINIB3D an, das sicherlich nicht zu den besten gehört, aber die Umsetzung alter Programme gelingt damit sehr zügig.
 

BBPro2

BeitragDi, Jul 06, 2010 3:07
Antworten mit Zitat
Benutzer-Profile anzeigen
multithreading richtig umzusetzen ohne deadlocks oder data races zu generieren
ist alles andere als einfach (begriffe bei bedarf einfach googeln)

java unterstützt multithreading sehr sehr gut und ist imo auch sonst eine tolle
sprache
inwieweit java mit 64 bit umgeht hab ich kA da mich das nun wirklich nicht
interessiert^^
aber ich denke da gibt es SICHER möglichkeiten

wenn du wirklich interesse hast auf java multithreading zu programmieren
kann ich dir eine cd schicken (per post) auf der meine nebenläufige programmierung
vorlesung als flashdateien enthalten ist
sprache wie auch bewegte folien inside Wink

die vorlesung ist echt genial und preisgekrönt (im ernst^^)

is mir aber bissl zu viel das alles als mail oder so zu versenden

also bei interesse einfach pn oder so
is auf jeden fall lohnenswert, aber ne ganze menge arbeit, das sag ich dir Wink

das ganze gegen eine aufwandsentschädigung von 1€ für rohling + kA wie viel für versand
versteht sich Smile

Jan_

Ehemaliger Admin

BeitragDi, Jul 06, 2010 10:15
Antworten mit Zitat
Benutzer-Profile anzeigen
@ Sereyanne

Wenn die für XP gemacht wurden dann hast du auch unter Vista mit 64 Bit keine 64 Bit. Die Dateien werden im 32 Bit kompatibilitätsmodus ausgeführt. (Wird Prozessorintern gemacht) Also kann es garnicht daran liegen.
between angels and insects

Starwar

BeitragDi, Jul 06, 2010 10:51
Antworten mit Zitat
Benutzer-Profile anzeigen
Wenn du mit Grafik was machen willst lohnt sich sicher auch C# in Kombination mit mit XNA Game Studio (DirectX, benötigt eine Art Runtime) oder Fetze's ZweiDe (OpenGL)
MFG

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group