Ist VB/A) 'langsamer' als C und Abarten von C ?

Hallo Wissende,

soweit ich weiß ist das unschlagbar „schnellste“ was es gibt Assembler.
Nehmen wir mal als Beispiel ich will ein Spiel namens „Autorennen“ entwickeln.

würde ich das rein in Assembler machen bräuchte ich ja Jahre um mit sowas wie
Move AX, 10h
einen ablauffähigen Code zu entwickeln.

Deshalb wurden ja sogenannte „Hochsprachen“ wie C und VB entwickelt.

Mit denen kann ich dann als willkürliches Beispiel sagen:
Circle 150,200,50
und die Hochsprachen setzen das in Assembler/maschinensprache so um daß um die Pixelpostion 150/200 ein Kreis mit 50 Pixel Radius gezogen wird.

Mal weglassend ob es jetzt Circle in VB oder C nicht gibt, ich sage einfach den Befehl gibt es in beiden Sprachen,

jetzt meine Frage: sind beide varianten gleichschnell in der Ausführung ?

Gruß
Reinhard

Hallo Reinhard,

in einigen Bereichen soll C/C++ auch nicht viel schneller sein, als VB. Aber spätestens, wenn Grafok ins Spiel kommt stößt VB an seine Grenzen.

Mal weglassend ob es jetzt Circle in VB oder C nicht gibt, ich
sage einfach den Befehl gibt es in beiden Sprachen,

jetzt meine Frage: sind beide varianten gleichschnell in der
Ausführung ?

Nein. C/C++ ist sehr viel schneller. Für Grafik orientierte Spiele ist VB nach meiner Meinung komplett ungeeignet. Es gibt aber noch andere Programmiersprachen, die speziell zum schreiben von Spielen geschaffen wurden, Blitzbasic ist da ein Beispiel, liegt bei mir im Schrank.

VB ist eher zum Arbeiten gedacht, im Umgang mit Datenbanken wohl kaum langsamer als C/C++.

Gruß Rainer

Hallo Rainer

Das kann ich in etwa bestätigen.

Es gibt die Ausnahme, das nämlich einige wenige Programmierer es mal geschafft haben, mit VB das direkt-x anzusprechen. Dann gehts auch mit VB.
Was auch geht, das ist, das man mit VB in Assembler geschriebene dll’s aufruft, für Routinen, die in VB zuviel Zeit brauchen.
Eine Möglichkeit, die speziell für mich in Betracht kommt.
Ich habe in Erinnerung, das ein Kreis in VB etwa doppelt solange braucht, wie ein Kreis in Windows API, in C geschrieben.
Da kann es aber auch noch größere Unterschiede geben.

Eine andere, völlig neue Möglichkeit sind Crosscompiler, die VB in Visual C++ übersetzen.
Hier kenn ich aber die genaue Leistung solcher Cross-Compiler nicht.

Empfehlen kann ich aber auch solche Programme, die speziell für Spieleprogrammierung vorgesehen sind.
Da braucht man sich nicht in Direkt-x einzuarbeiten, es gibt meist eine schnelle Engine(der Spiele-Grafik Treiber sozusagen), und man kann mit IDE und Mausbedienung, sowie scripten in einer verminderten C oder Javaähnlichen Sprache das Spiel steuern.

MfG
Matthias

Hallo Mathias,

Das kann ich in etwa bestätigen.

danke.

Es gibt die Ausnahme, das nämlich einige wenige Programmierer
es mal geschafft haben, mit VB das direkt-x anzusprechen. Dann
gehts auch mit VB.

Den ‚Einstieg‘ in Direct3D hatten wir hier neulich mit Werner (Nirwarna) recht erfolgreich. Bis rund 500 Polygone ist die Geschwindikeit OK, das reicht aber nicht für Spiele. Bei mehr Polygonen wird es lahm und ruckelig.

Was auch geht, das ist, das man mit VB in Assembler
geschriebene dll’s aufruft, für Routinen, die in VB zuviel
Zeit brauchen.

Klar. Das machen wir ja ständig. Aber für Grafik würden spezielle DLLs benötigt, die gibt es fertig nicht. Dann braucht man einen Assembler-Programmierer zur Unterstützung.

Eine Möglichkeit, die speziell für mich in Betracht kommt.
Ich habe in Erinnerung, das ein Kreis in VB etwa doppelt
solange braucht, wie ein Kreis in Windows API, in C
geschrieben.
Da kann es aber auch noch größere Unterschiede geben.

Eine andere, völlig neue Möglichkeit sind Crosscompiler, die
VB in Visual C++ übersetzen.
Hier kenn ich aber die genaue Leistung solcher Cross-Compiler
nicht.

Das habe ich neulich schon mal gehört, aber mehr weiß ich darüber nicht.

Empfehlen kann ich aber auch solche Programme, die speziell
für Spieleprogrammierung vorgesehen sind.
Da braucht man sich nicht in Direkt-x einzuarbeiten, es gibt
meist eine schnelle Engine(der Spiele-Grafik Treiber
sozusagen), und man kann mit IDE und Mausbedienung, sowie
scripten in einer verminderten C oder Javaähnlichen Sprache
das Spiel steuern.

Was ich hier habe ist auch Basic, aber eben für Spiele optimiert und richtig schnell. Ich habe allerdings noch die alte Version, die neue hat auch eine 3D-Engine, die Syntax ist sehr nahe an VB.NET.

Der Nachteil z.B. an Blitzbasic, es ist lange nicht so perfekt wie VB, hat gröbere Bugs. Selbst in VB kann man Fehler finden wenn man gründlich sucht, das ist bei Produkten kleiner Anbieter deutlich schlechter.

Gruß Rainer

Hallo

Ich hab hier nur mal diesen einen Link.

http://tangiblesoftwaresolutions.com/Articles/Conver…

Den Unterschied zwischen C# und Visual C++ usw. kenn ich nicht genau.
Da gibt es auch noch andere Converter.

Auf meine Fähigkeiten als Assembler-Programmierer kann ich nur mäßig stolz sein, aber mit ein wenig Schweißtropfen und noch mehr Zeit kann ich ein bißchen zustande bringen.

MfG
Matthias