Zu viele Mesh stocken...

Übersicht BlitzBasic Blitz3D

Gehe zu Seite Zurück  1, 2, 3

Neue Antwort erstellen

 

BIG BUG

BeitragSo, Apr 01, 2007 19:25
Antworten mit Zitat
Benutzer-Profile anzeigen
Zitat:

In C und C++ MUSS man jede Variable, bevor man sie benutzen kann, definieren (Also ob es ein String ist oder ein Integer). Blitz3D muss also noch einiges während der Laufzeit interpretieren. Ich meine mit Interpretieren nicht das was in Java gemeint ist, blos das Blitz3D noch während der Laufzeit einiges zu bewältigen hat was C und C++ schon beim compilieren machen! Das kostet bei allen Basic Programmiersprachen wie z.B. "BlitzBasic" aber auch "PureBasic" viel Zeit! Dafür ist Basic aber eben auch sehr viel leichter als Professionelle Programmiersprachen!


Meinungen sind ja ok, solange es als Meinung zu erkennen ist und nicht als falsches Faktum verkauft wird.
Das Definieren einer Variable hat sicherlich nichts mit der späteren Geschwindigkeit des compilierten Programmes zu tun.


Ich kann mir aber irgendwie nicht vorstellen, dass es Geschwindigkeitsabfall bei einigen Surfaces auch bei anderen Engines gibt(Der sich nach meinen Erfahrungen bei ATI-Grafikkarten sogar wesentlich stärker auswirkt, als bei Nvidia). Spiele wie Warcraft 3 müssten ja sonst alle Figuren in gemeinsame Surfaces zusammenkopieren...

Vielleicht kann hier ja jemand eine kompetente Aussage dazu machen? Würde mich sehr interessieren. Danke.
B3D-Exporter für Cinema4D!(V1.4)
MD2-Exporter für Cinema4D!(final)

StepTiger

BeitragSo, Apr 01, 2007 19:30
Antworten mit Zitat
Benutzer-Profile anzeigen
Surfaces werden als einzelne Pakete an die Grafikkarte gesendet. Hat man allerdings jedes mal eine neue Prozedur, die die Grafikkarte ansprechen muss, wie durch viele Surfaces, dann wird es langsam.
Zu viele Vertices sind auch langsam, da die Pakete selbst zu groß werden. Mitunter kann das zu Fehlern führen.

Glaube, dass das so richtig ist.

@LukasBanana:
Du weißt auch, dass jede Programmiersprache in Maschinencode umgewandelt wird, oder? Sowohl in C als auch in Basic. Basic ist nur wesentlich spezieller, muss allgemeiner gehalten werden und ist somit langsamer.
Noch gestern standen wir am Abgrund, doch heute sind wir schon einen Schritt weiter.
Computer:
AMD Sempron 3000+; ATI Radeon 9800 Pro; 512 MB DDR RAM 400Mhz; Asus E7N8X-E Deluxe; Samsung 200GB HD 5.4ns acces t
Gewinner: BP Code Compo #2
Π=3.141592653589793238...<--- und das aus dem kopf Laughing
Seit der Earthlings-Diskussion überzeugter Fleisch(fr)esser.
 

Dreamora

BeitragSo, Apr 01, 2007 20:16
Antworten mit Zitat
Benutzer-Profile anzeigen
Blitz hat keinen Interpreter sondern Kompiliert.
Das einzige was die alten Blitz (im Unterschied zu BlitzMax) nicht machen ist eine Deklarationspflicht zu besitzen.

Das ändert aber an der späteren Geschwindigkeit nix. Es hat nur zur Folge das man in Bugs rennt die schwer zu finden sind.
Aber es gibt IDEs die es einem erlauben eine pseudo Deklarationspflicht für B3D und BB+ zu integrieren. Darüber hinaus gibts auch einige Preprocessoren die das gleiche tun.
Oder man nimmt halt BlitzMax + Strict / SuperStrict

Der Grund das alte Blitz Programme im Unterschied zu BM / C / C++ langsamer sind ist ein anderer, nämlich das "niceness" Features dahinter hängen, die zb bei Floats dafür sorgen, dass man auch = benutzen kann beim vergleich was normalerweise kompletter Blödsinn ist und in einem von einer milliarde Fälle vielleicht true zurück geben würde und sonst false. Speziell wenn man mit ihnen multipliziert würde der Fall mehr oder weniger direkt eintreten das = wertlos wird (man vergleicht bei Float immer gegen einen erlaubten Fehlerwert)
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.

Gehe zu Seite Zurück  1, 2, 3

Neue Antwort erstellen


Übersicht BlitzBasic Blitz3D

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group