Src der Engine
+2
Carli
Eddy
6 verfasser
Seite 2 von 2
Seite 2 von 2 • 1, 2
Re: Src der Engine
ci hschon (vllt)
MarcelP- Anzahl der Beiträge : 297
Anmeldedatum : 15.01.09
Alter : 29
Ort : Sachsen-Anhalt
Re: Src der Engine
naja lua ist nicht grad schnell und schön einbinden kann mans auch nciht.
man muss immer diese ekeligen callbacks mit GetLUAState und so machen.
gwXScript kann die Funktionen direkt linken.
man muss immer diese ekeligen callbacks mit GetLUAState und so machen.
gwXScript kann die Funktionen direkt linken.
Carli- Admin
- Anzahl der Beiträge : 1001
Anmeldedatum : 02.01.09
Re: Src der Engine
Lua hat eine sehr viel höhere Geschwindigkeit als jede andere Scriptsprache,wenn deine schneller wäre würde mich das sehr wundern O_o.Davon abgesehen wird Lua sehr oft als eingebettete Sprache in Spiel-Engines benutzt...naja lua ist nicht grad schnell und schön einbinden kann mans auch nciht.
Aber wenn einem Lua nicht gefällt gibts ja noch python und das ist anfängerfreundlich, funktional,übersichtlich,objekt- und aspektorientiert.Also eine sehr mächtige Scriptsprache,leider etwas langsam,notfalls schreibt man aber Zeitkritische Teile in einer Hochsprache(z.B. C).
Holic- Anzahl der Beiträge : 40
Anmeldedatum : 12.01.09
Re: Src der Engine
hmpf.
LUA ist lahm wie Sau!
bei gwX-Script muss !!NIX!! in Hochsprache ausgelagert werden, weil der gesamte ScriptCode ebenfalls in Maschinensprache übersetzt wird.
Es geht hier um Dimensionen, die etwa die 5-fache Geschwindigkeit ausmachen.
Wers nicht glauben will soll benchmarken. Ich garantiere mindestens die Doppelte Geschwindigkeit gegenüber jeder interpretierenden- und Bytecode-Sprache, sprich C4Script, QBasic, LUA, Phyton
TorqueScript is ebenfalls ein Compiler und deshalb genauso schnell wie gwX.
Glaubt mir, das einzige, was an gwX-Engine wirklich wertvoll ist, ist die Scriptsprache.
LUA ist lahm wie Sau!
bei gwX-Script muss !!NIX!! in Hochsprache ausgelagert werden, weil der gesamte ScriptCode ebenfalls in Maschinensprache übersetzt wird.
Es geht hier um Dimensionen, die etwa die 5-fache Geschwindigkeit ausmachen.
Wers nicht glauben will soll benchmarken. Ich garantiere mindestens die Doppelte Geschwindigkeit gegenüber jeder interpretierenden- und Bytecode-Sprache, sprich C4Script, QBasic, LUA, Phyton
TorqueScript is ebenfalls ein Compiler und deshalb genauso schnell wie gwX.
Glaubt mir, das einzige, was an gwX-Engine wirklich wertvoll ist, ist die Scriptsprache.
Carli- Admin
- Anzahl der Beiträge : 1001
Anmeldedatum : 02.01.09
Re: Src der Engine
Dann kannst du nicht mit Lua umgehen.LUA ist lahm wie Sau! Es geht hier um Dimensionen, die etwa die 5-fache Geschwindigkeit ausmachen,wers nicht glauben will soll benchmarken
Dann ist gwX-Script keine Scriptsprache,denn diese sind interpetierende Sprachen,wenn der Code erst übersetzt wird und dann ausgeführt wird ist gwX-Script eine Hochsprache.Davon abgesehen muss bei Python auch nichts ausgelagert werden,man kann es aber tun wenn man diese Geschwindigkeit benötigt,was in der Praxis eher selten der Fall ist.bei gwX-Script muss !!NIX!! in Hochsprache ausgelagert werden, weil der gesamte ScriptCode ebenfalls in Maschinensprache übersetzt wird.
Holic- Anzahl der Beiträge : 40
Anmeldedatum : 12.01.09
Re: Src der Engine
Tja und gwX benötigt eben die Geschwindigkeit, die eine andere Scriptsprache nicht geben kann.
Und es ist noch lange keine Hochsprache, da immer noch zur Laufzeit gelinkt wird.
Aber an eine Hochsprache kommts schon nah ran (Pointer, Arrays, Inline-Assembler)
Und es ist noch lange keine Hochsprache, da immer noch zur Laufzeit gelinkt wird.
Aber an eine Hochsprache kommts schon nah ran (Pointer, Arrays, Inline-Assembler)
Carli- Admin
- Anzahl der Beiträge : 1001
Anmeldedatum : 02.01.09
Re: Src der Engine
@Performance testen: C5Skript kann leider keine Zeit messen...
ich habe schon alle Skripte dafür geschrieben
jetzt benötigt c5s nurnoch die Funktion gettime
Also Lua ist 3 mal so schnell wie Python...
ich habe schon alle Skripte dafür geschrieben
jetzt benötigt c5s nurnoch die Funktion gettime
Also Lua ist 3 mal so schnell wie Python...
- Spoiler:
Lua- Code:
function factorial(n)
if n == 0 then
return 1
else
return n * factorial(n - 1)
end
end
zeit=os.clock()
for i = 1, 1000, 1 do
factorial(100)
end
zeit2=os.clock()
zeit_dif = zeit2 - zeit
print(zeit_dif)
Python- Code:
import time
def fakultaet(x):
if x > 1: return x * fakultaet(x - 1)
else: return 1
zeit1=time.time()
for i in range(1000):
fakultaet(100)
zeit2 = time.time()
zeit_dif = (zeit2 - zeit1)
print zeit_dif
C5Script (als Szenarioskript)- Code:
cdecl faku(x)
{
if (x > 1)
return x * faku(x - 1);
else
return 1;
}
cdecl init
{
var i,time,time2,timediff;
time=gettime;
i:=1000;
while(i>0)
{
faku(100);
};
time2=gettime;
timediff=time-time2;
log("benötigte Zeit %d s",timediff);
}
cdecl initplayer(player)
{
o:=placeobject(getid("clonk"),randomx(-20000,20000),randomx(-20000,20000));
addcrew(player,o);
}
ModernClonker- Anzahl der Beiträge : 88
Anmeldedatum : 03.01.09
Re: Src der Engine
die If-Else bitte in eckige Klammern.
Ein Tipp: Mach einen riesengroßen Rechenauftrag, dann kannst du mit Stoppuhr messen.
Ansonsten schick ich dir gwXScript als DLL zum Nutzen in eigenen Programmen. (icq-nr. angeben)
Ein Tipp: Mach einen riesengroßen Rechenauftrag, dann kannst du mit Stoppuhr messen.
Ansonsten schick ich dir gwXScript als DLL zum Nutzen in eigenen Programmen. (icq-nr. angeben)
Carli- Admin
- Anzahl der Beiträge : 1001
Anmeldedatum : 02.01.09
Re: Src der Engine
btw. wieso sollte eine direkt kompilierte Sprache soviel schneller sein als die Ausführung einer FunktionsPointerListe (Bytecodesprache)?
ModernClonker- Anzahl der Beiträge : 88
Anmeldedatum : 03.01.09
Re: Src der Engine
weil spezielle Berechnungen (+,-,*,/) noch zusätzlich optimiert werden können.
Es geht speziell darum, alle Prozessorregister auszureizen.
Außerdem ist es praktischer, wenn man keine Proxyfunktionen benötigt.
OpenGL besteht aus etwa 150 Befehlen und die will man wahlich nciht alle linken über so 'ne Proxyfunktion!
Es geht speziell darum, alle Prozessorregister auszureizen.
Außerdem ist es praktischer, wenn man keine Proxyfunktionen benötigt.
OpenGL besteht aus etwa 150 Befehlen und die will man wahlich nciht alle linken über so 'ne Proxyfunktion!
Carli- Admin
- Anzahl der Beiträge : 1001
Anmeldedatum : 02.01.09
Re: Src der Engine
Mal ne andere Frage: Könnteste nicht den aktuellen (Teil-)Source ins Distributionspacket gleich mitstecken? [17] ist ja schon wieder ein bisschen her, auch wenn sich wohl nich so viel geändert hat
Re: Src der Engine
hm. ich müsste direkt wissen, was ihr damit vorhabt.
Also kompilieren kann man's nciht weil ich eben auf meinem PC verteilt die ganzen selbergeschriebenen Hilfs-Libs liegen hab.
Ansonsten - Fragen über die Architektur von gwX (Objektorganisation, dynamische Programmierung, Algorithmierung und eben der ganze Kram) beantworte ich aber gerne.
Also kompilieren kann man's nciht weil ich eben auf meinem PC verteilt die ganzen selbergeschriebenen Hilfs-Libs liegen hab.
Ansonsten - Fragen über die Architektur von gwX (Objektorganisation, dynamische Programmierung, Algorithmierung und eben der ganze Kram) beantworte ich aber gerne.
Carli- Admin
- Anzahl der Beiträge : 1001
Anmeldedatum : 02.01.09
Re: Src der Engine
Ich hätte einen Vorschlag zu unterbreiten,anscheinend hängst du ziemlich an der Scriptengine - und ich kann es wirklich verstehen da du mehrmals betont hast das die Scriptengine das beste an gwx ist -,aber da gibts doch auch noch einen Rest,oder?Wie wäre es wenn du dann diesen Rest freigibst zur allgemeinen Entwicklung,dann wären die opensource quengler zufrieden und gwx kriegt einen kräftigen Push,da engineinterne Dinge wie Landschaft schneller entwickelt werden.
Ich würde mich jedenfalls freuen wenn du dir die Mühe machen würdest den Rest zusammenzusuchen und dies veröffentlichen würdest.
Ich würde mich jedenfalls freuen wenn du dir die Mühe machen würdest den Rest zusammenzusuchen und dies veröffentlichen würdest.
foobla- Gast
Re: Src der Engine
Joa. Du könntest die Scriptengine auch nur noch als Bibilothek als externes, aber von gwX einbezogenes Projekt "anbieten" und gwX selbst unter die LGPL 3 stellen. Dann wären alle Open-src "quengler" zufrieden. Immer schön Butter bei die Fische machen !
[edit]Ist ersteres im mom eig. schon zutreffend (24) ? In der 24-distri liegt ja ne scriptengine.dll oder so[/edit]
[edit]Ist ersteres im mom eig. schon zutreffend (24) ? In der 24-distri liegt ja ne scriptengine.dll oder so[/edit]
Re: Src der Engine
ooops.
die DLL war ein Versuch, aber hatte anscheinend nicht geklappt. (Der Zip-Batch nimmt die trotzdem noch rein)
Ich könnte die Scriptengine als DCU reinstellen, is dann aber nur mit D4 zu öffnen (was niemandem was bringen würde)
die DLL war ein Versuch, aber hatte anscheinend nicht geklappt. (Der Zip-Batch nimmt die trotzdem noch rein)
Ich könnte die Scriptengine als DCU reinstellen, is dann aber nur mit D4 zu öffnen (was niemandem was bringen würde)
Carli- Admin
- Anzahl der Beiträge : 1001
Anmeldedatum : 02.01.09
Re: Src der Engine
So hier der (nun hoffentlich vollständige) Sourcecode.
Download
Download
Carli- Admin
- Anzahl der Beiträge : 1001
Anmeldedatum : 02.01.09
Seite 2 von 2 • 1, 2
Seite 2 von 2
Befugnisse in diesem Forum
Sie können in diesem Forum nicht antworten