Files |  Tutorials |  Articles |  Links |  Home |  Team |  Forum |  Wiki |  Impressum

Aktuelle Zeit: Mi Jul 16, 2025 20:28

Foren-Übersicht » Programmierung » OpenGL
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 10 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Delphi XE2 64bit
BeitragVerfasst: Mi Apr 04, 2012 15:43 
Offline
DGL Member

Registriert: Do Apr 22, 2010 17:17
Beiträge: 543
Moinsen,

ich hab jetzt Delphi XE2 und wollte mal versuchen eine meiner Progs auf 64Bit zu compilieren.. 1. Problem ist das meine Geometry.pas einige Inline Assembler Routinen hat die sich so nicht compilieren lassen.. Ist es überhaupt möglich so ohne weiteres eine OpenGL Anwendung 64-bit zu compilieren?

Grüße
Thomas


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Delphi XE2 64bit
BeitragVerfasst: Mi Apr 04, 2012 19:04 
Offline
DGL Member
Benutzeravatar

Registriert: Mi Okt 03, 2007 14:22
Beiträge: 388
Mit 64-Bit hatte ich bisher keine Probleme, also würde ich die letzte Frage mit Ja beantworten. Was die Geometry-Unit angeht kenne ich mich nicht aus.

_________________
Meine Musik: spiker-music.net


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Delphi XE2 64bit
BeitragVerfasst: Mi Apr 04, 2012 19:50 
Offline
DGL Member

Registriert: Mo Nov 09, 2009 12:01
Beiträge: 200
Zitat:
Ist es überhaupt möglich so ohne weiteres eine OpenGL Anwendung 64-bit zu compilieren?
Da wäre ich mir ganz sicher!
Hast Du Dir mal die neuste Vectorgeometry aus der GLScene besorgt. Am besten die SVN-Version. Wenn die auch nicht gehen sollte, dann mußt Du die Unit so einstellen, dass die Pur-Pascal-Routinen compiliert werden.
Guck hier auch mal rein ... http://sourceforge.net/apps/phpbb/glscene/viewtopic.php?f=11&t=423&start=20


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Delphi XE2 64bit
BeitragVerfasst: Do Apr 05, 2012 15:09 
Offline
DGL Member
Benutzeravatar

Registriert: Do Sep 02, 2004 19:42
Beiträge: 4158
Programmiersprache: FreePascal, C++
Thmfrnk hat geschrieben:
Problem ist das meine Geometry.pas einige Inline Assembler Routinen hat die sich so nicht compilieren lassen..

Wenn alles nichts hilft: versuch einfach mal, die ganzen eax, ebx, … durch ihre 64-bit äquivalente, rax, rbx, … zu ersetzen. Vielleicht hilft das.

Thmfrnk hat geschrieben:
Ist es überhaupt möglich so ohne weiteres eine OpenGL Anwendung 64-bit zu compilieren?

Klar. Ich mach das Standardmäßig ;)

_________________
If you find any deadlinks, please send me a notification – Wenn du tote Links findest, sende mir eine Benachrichtigung.
current projects: ManiacLab; aioxmpp
zombofant networkmy photostream
„Writing code is like writing poetry“ - source unknown


„Give a man a fish, and you feed him for a day. Teach a man to fish and you feed him for a lifetime. “ ~ A Chinese Proverb


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Delphi XE2 64bit
BeitragVerfasst: Fr Apr 06, 2012 16:34 
Offline
DGL Member
Benutzeravatar

Registriert: Mi Okt 03, 2007 14:22
Beiträge: 388
Ich weiß ja nicht was alles in der Unit drinnen steht, ich weiß nur dass auf alle Fälle viel Vektorrechnerei dabei ist und das lässt sich sehr leicht auch Assembler-frei hinschreiben - ist halt geschmackssache ob man das lieber als Inline-Assembler hat oder nicht. So hat man jedenfalls keine Probleme mehr und braucht nicht alles doppelt für 32-Bit und 64-Bit zu schreiben mit Compiler-Switch.

_________________
Meine Musik: spiker-music.net


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Delphi XE2 64bit
BeitragVerfasst: Sa Apr 07, 2012 16:39 
Offline
DGL Member

Registriert: Do Apr 22, 2010 17:17
Beiträge: 543
wie Nils schon sagte, hab ich die Geometry.pas mal mit Compilerswitches angepasst.. konnte meine Simu jetzt mal 64bit kompilieren... bis auf weitere Probleme mit Mappedfiles etc läufts.. doch die Ausbeute ist ernüchternt.. wenn überhaupt 1-2fps mehr bei meinen Partikelberechnungen.. Da kann man sich die Arbeit auch sparen, wenn man nicht grad mehr als 3GB RAM braucht ;)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Delphi XE2 64bit
BeitragVerfasst: Sa Apr 07, 2012 16:50 
Offline
DGL Member

Registriert: Mo Nov 09, 2009 12:01
Beiträge: 200
Derzeit wird man 64-Bit nur bedingt in wenigen Fällen brauchen, aber mittelfristig wird es unumgänglich sein.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Delphi XE2 64bit
BeitragVerfasst: Sa Apr 07, 2012 17:01 
Offline
DGL Member

Registriert: Do Apr 22, 2010 17:17
Beiträge: 543
nun ich hatte einfach mal ein paar test mit simplen Fließkommaoperationen gemacht.. als Beispiel:
10mio wert := wert + 0.1 * sqrt(9)

auf meiner CPU brauchte er dafür:
32bit 700ms
64bit 360ms

So nun hab ich mich mit einem .NET Kollegen aus der VB ecke angelegt und behauptet das Delphi bzw generell W32/64 apps schneller als .NET wären und ich deshalb dabei bleibe.. Nun da hab ich mich echt auf den Hintern gesetzt...
Die gleiche Berechnung in seinem Prog:

32Bit 360ms
64bit 500ms

Nun war ich doch echt geschockt... Wir haben noch zahlreiche weitere Berechnungstests gemacht, .NET war immer mit der Nase vorn.. Ich hab eigentlich immer gedacht das durch das Echtzeitcompilieren immer Perf. verloren geht..


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Delphi XE2 64bit
BeitragVerfasst: Sa Apr 07, 2012 20:51 
Offline
DGL Member

Registriert: Do Mai 30, 2002 18:48
Beiträge: 1617
Thmfrnk hat geschrieben:
Nun war ich doch echt geschockt... Wir haben noch zahlreiche weitere Berechnungstests gemacht, .NET war immer mit der Nase vorn.. Ich hab eigentlich immer gedacht das durch das Echtzeitcompilieren immer Perf. verloren geht..

Just in Time Compilierung bedeutet dass irgendwann vorher in Maschinencode übersetzt wird - z.B. wenn assemblies geladen werden, im einfachen Fall also wenn das Programm in den Speicher geladen wird. Bei einfachen Berechnungsfunktionen wird normalerweise nichts mehr übersetzt sobald sie laufen - wenn Du die Zeit also zu messen beginnst, braucht nichts mehr übersetzt zu werden. Meistens sagt das Ergebnis aber nicht viel aus, weil es von vielen Kleinigkeiten abhängt, wie bestimmten erlaubten/nicht erlaubten Optimierungen etc. Würde mir über diese Ergebnisse nicht weiter den Kopf zerbrechen :-)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Delphi XE2 64bit
BeitragVerfasst: Mo Apr 09, 2012 15:50 
Offline
DGL Member
Benutzeravatar

Registriert: Do Sep 02, 2004 19:42
Beiträge: 4158
Programmiersprache: FreePascal, C++
@32/64bit:
Der Hauptunterschied ist der, dass die Register 64-bit groß sind und es davon viel mehr gibt⁽¹⁾. Außerdem noch ein paar neue Instruktionen, die dinge vereinfachen. Aber das hilft alles nicht, wenn der Compiler es nicht zu nutzen weiß. Und das traue ich den Delphi-Leuten mal erstmal nicht zu ;).
Gerade bei Vektoroperationen kann man mit den Multimedia-Registern (128bit breit, gehen also 4 Floats bzw. 2 Doubles rein) bei Vektorberechnungen einiges rausholen (das kommt aber eher aus SSE und konsorten als aus 64bit).

Pascaller haben weniger vorteil durch 64-bit, da sie schon bei 32-bit die Register-Aufrufkonvention verwendet haben, die nun bei 64-bit auch bei anderen Compilern standard ist. Die Argumente werden dabei in Register verpackt, anstatt sie auf den Stack zu schieben (was um längen schneller ist). Davon wird viel des Performance-boosts kommen, den man bei einigen Anwendungen bemerken kann. Pascal macht das aber schon immer so – nur stehen bei 64-bit mal eben mindestens doppelt so viele Register für Argumente zur verfügung (bringt nur etwas bei funktionen mit mehr als drei argumenten bzw. mit mehr als zwei argumenten und einem rückgabewert).

grüße

⁽¹⁾: https://de.wikipedia.org/wiki/AMD64#Architektur

_________________
If you find any deadlinks, please send me a notification – Wenn du tote Links findest, sende mir eine Benachrichtigung.
current projects: ManiacLab; aioxmpp
zombofant networkmy photostream
„Writing code is like writing poetry“ - source unknown


„Give a man a fish, and you feed him for a day. Teach a man to fish and you feed him for a lifetime. “ ~ A Chinese Proverb


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 10 Beiträge ] 
Foren-Übersicht » Programmierung » OpenGL


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 7 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
cron
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.008s | 14 Queries | GZIP : On ]