BB Programme verschnellern

Übersicht BlitzBasic Allgemein

Gehe zu Seite 1, 2  Weiter

Dieses Thema ist gesperrt, du kannst keine Beiträge editieren oder beantworten.

 

X0r

Betreff: BB Programme verschnellern

BeitragDi, Mai 23, 2006 14:43
Antworten mit Zitat
Benutzer-Profile anzeigen
Da BB ja mit "Buffer" Grafik System funktioniert und deswegen langsam ist, wollte ich fragen, wie ich mein 3d Spiel verschnellern kann, uns war so, dass diese Schnelligkeit Konstant bleibt. Auch wenn noch z.B 7 Gegner meshes auf mich zukommen.
Geht das oder nicht? Bitte eine Antwort + Beispiel. Es ist verdammt wichtig.

Bitte schreibt eure Antworten und Beispiele an EMAIL entfernt .
Vergesst mich nicht.


Vielen anderen Spiele, z.B Star Wars, sind sehtr schnell. Ich weiß, ist mit Open Gl Grafik programmiert, aber es fasziniert mich, dass bei so einem risiegen Raumschiff das Spiel noch schnell funktioniert.

Jan_

Ehemaliger Admin

BeitragDi, Mai 23, 2006 14:48
Antworten mit Zitat
Benutzer-Profile anzeigen
hm,

1. Frame unabhängig,
2. Culling
3. Optimierung der Meshs
4. Optimieren

und mehr is da nicht
between angels and insects

5k41

BeitragDi, Mai 23, 2006 14:49
Antworten mit Zitat
Benutzer-Profile anzeigen
mh also das programm kannst du glaub ich vom CPU Speed (wenns perfekt optimiert ist) nichtmehr verschnellern, aber du könntest dein spiel frameunabhängig programmieren, sodass sich die figur einfach schneller bewegt, sobald ein schleifendurchlauf länger dauert (dadurch entsteht das was man als ruckeln empfindet) funktiopniert ca. so:
Code: [AUSKLAPPEN]

const verlangsamung=2

While not Keydown(1)

 old=Millisecs()

 ;zeichnen laden berechnen usw.
 
 speed#=(Millisecs()-old)/verlangsamung

 flip
 cls

Wend


zur erklärung: je länger ein schleifendurchlauf dauert, so größer ist die differenz und so weiter wird die figur mit einem mal bewegt (musst die figur dann halt um speed bewegen)

MfG
Projekte:
For a better World - Gesellschaftsspiel ( 100%)

User posted image
 

X0r

BeitragDi, Mai 23, 2006 14:56
Antworten mit Zitat
Benutzer-Profile anzeigen
Also den mesh änder ich nicht. Das ist ein Raumschiff. Aber warum ist das bei anderen spiele so schnell? Das hat mit meinem CPU nichts zu tun. 3.2 GH schnell. Das sollte wohl kaum am CPU liegen.
Das Problem ist, dass das Spiel einfach so langsamer wird. Die Geschwindigkeit ist nicht konstant. [b]Und das brauche ich aber.


oK. Danke. Kannst du mir mal ein richtiges Beispiel schreiben. mit nur einem mesh und die Kamera soll sich konstant schnell bewegen k;nnen. Egal ob ich nicht 7 meshes lade.


Ich wusste nie, was millisecs f[r eine Bedeutung hat. Hab mich auch nie damit besch'ftigt. Kann mir die Funktion von ms mal erkl'ren_



Moment. Selbst wenn sie sich schneller bewegt. Ist aber nicht fl[ssig, oder_
Dann bewegt sich die Figur immernoch \ruckelweise|. Das soll aber nicht sein. Es soll auch fluessig sein.
 

Dreamora

BeitragDi, Mai 23, 2006 15:02
Antworten mit Zitat
Benutzer-Profile anzeigen
Von wievielen Polygonen reden wir hier etc?

Wenn du 30'000 Polygone auf einem Schiff hast oder gigantisch viele texturedaten, ist das ziemlich normal. Auch wenn du andere Dinge machst die lange brauchen zur Berechnung, wirds ruckeln.
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.

Jan_

Ehemaliger Admin

BeitragDi, Mai 23, 2006 15:05
Antworten mit Zitat
Benutzer-Profile anzeigen
DW hat Folgendes geschrieben:
Egal ob ich nicht 7 meshes lade.


Du lädst sie doch nciht etwa in der schleife?
between angels and insects

aMul

Sieger des Minimalist Compo 01/13

BeitragDi, Mai 23, 2006 16:29
Antworten mit Zitat
Benutzer-Profile anzeigen
Also wenn du ein wirklich schnelles Spiel haben willst, dann musste das schon mit C++ programieren Rolling Eyes

Blitz ist halt nicht für optimale Geschwindigkeit, sondern für die leichte Bedienung bekannt. Außerdem ist ein großer Unterschied zwischen DX7 und DX9, sowohl in Sachen Geschwindigkeit, als auch bei der grafik (man denke z.B. an Shader).


Wenn dein Programm aber wirklich sehr langsam läuft, dann hast du wohl was falsch gemacht!(s. Posts über mir)

MfG
Panic Pong - ultimate action mashup of Pong and Breakout <= aktives Spiele-Projekt, Downloads mit vielen bunten Farben!
advASCIIdraw - the advanced ASCII art program <= aktives nicht-Spiele-Projekt, must-have für ASCII/roguelike/dungeon-crawler fans!
Alter BB-Kram: ThroughTheAsteroidBelt - mit Quelltext! | RGB-Palette in 32²-Textur / Farbige Beleuchtung mit Dot3 | Stereoskopie in Blitz3D | Teleport-Animation Screensaver

Digi_

BeitragDi, Mai 23, 2006 17:17
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich will nur beobachten, um zu wissen, ob er wirklich die meshes in einer schleife lädt. Aber da kein Link mehr da ist, muss ich einen sinnfreien Post schreiben.
digi

PowerProgrammer

BeitragDi, Mai 23, 2006 17:22
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich dachte, Blitz Basic ist eine unglaublich schnelle Sprache. Aus http://www.blitzbasic.de steht folgendes:
Zitat:
Blitz Basic ist schnell. So kann Blitz Basic ein großes Hintergrundbild setzen und Hunderte von Objekten bewegen, ohne daß der Rechner in die Knie geht. Einige programmieren sogar noch auf PCs mit Pentium-1-Prozessoren.

Stimmt das denn nicht? Ich meine noch zu wissen, das das Doppelbuffering gerade wegen der hohen Geschwindigkeit zusammengebastelt werden musste!

Hubsi

BeitragDi, Mai 23, 2006 17:29
Antworten mit Zitat
Benutzer-Profile anzeigen
Doublebuffering wurde nicht zusammengebastelt und ist überall zu finden, also keine Erfindung von Mark Sibly. Es sorgt lediglich dafür das man ein flimmerfreies Bild bekommt und dazu wird auch die Bildwiederholrate mit der des Monitors synchronisiert. Der Beschreibung nach liegt das Problem wohl eher daran das er die Modelle und/oder Grafiken zur Laufzeit stetig neu in den Speicher schaufelt bis dieser glüht Very Happy
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn...

BladeRunner

Moderator

BeitragDi, Mai 23, 2006 18:35
Antworten mit Zitat
Benutzer-Profile anzeigen
Da sich DW hier aber immer als Pro GT verkaufte wird er doch sicher solche Kleinigkeiten schon lange berücksichtigt haben....
[/sarkasmus]
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3
Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64
B3D BMax MaxGUI

Stolzer Gewinner des BAC#48, #52 & #92
 

X0r

BeitragMi, Mai 24, 2006 21:04
Antworten mit Zitat
Benutzer-Profile anzeigen
Habe mal in C++ was gemacht. Hat mir aber zu lange gedauert und ich habe später aufgehört.

Wa?Lol?BB und schnell? Soll das ein schlechter Witz sein? BB Programme sind verdammt langsam.

Also geht das mit der konstanten Geschwindigkeit doch nicht.

Meshes in einer Schleife? Das habe ich nur als Probe gemacht.

Ach, ihr hilft mir nicht wirklich. Statt zu helfen motzt ihr mich an. Warscheinlich wegen S++. Was kann ich denn für wenn ich Lust hatte eine Scriptsprache zu machen?
Nicht motzen, sondern selber machen.

Nochmals vielen Danke für eure wunderbare Hilfe. Sehr informativ. Wusste ich alles noch garnicht.

Digi_

BeitragMi, Mai 24, 2006 21:50
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich glaube, ich schreibe für alle, wenn ich das hier schreibe:
WTF?

Iguan

BeitragMi, Mai 24, 2006 22:53
Antworten mit Zitat
Benutzer-Profile anzeigen
Hmm... mal ne doofe Frage... hast du den Debugger ausgeschaltet? Der verlangsamt das Proggi nähmlich auch enorm!!

Lunatix

BeitragDo, Mai 25, 2006 0:23
Antworten mit Zitat
Benutzer-Profile anzeigen
Meine BB Programme kommen locker zwischen 60 und 200 FPS - bei 3D Grafik muss man immer gucken, was muss ich zeichen was wegmachen? dazu kommt noch die CodeOptimierung und alsowas!

und ich habe FrameTweening (oder wie des heisst) eingebaut - läuft immer gleich schnell!

Ich bin mit BB sehr zufrieden. Da kannst du auch gleich auf ein Tote Hosen Konzert gehen und Sieg Heil BRüllen - mal sehen wie du raus kommst! (garnicht)

Also wenn du BB net magst bzw. die Ratschläge der USer hier nicht berücksichtigst - - Verpiss dich doch!
[size=9]Pro|gram|mier|er: Ein Organismus, der Koffein in Software umwandelt.
Geben Sie eine beliebige 11-stellige Primzahl ein, um fortzusetzen...

BladeRunner

Moderator

BeitragDo, Mai 25, 2006 2:28
Antworten mit Zitat
Benutzer-Profile anzeigen
Brrrr, allerseits. Sarkasmus ist eine Sache - Beleidigungen eine ganz andere. Also bitte etwas langsamer hier.
Was Dich angeht, DW, kann ich Dir nur raten nicht im´mer so flott hochzugehen und den Rat anderer auch mal anzunehmen. Dein Programm wird sicher nicht langsam durch die Tatsache dass mit Buffern gearbeitet wird - das Switchen der Buffer ist eine Millisekundengeschichte.
Wenn Dir also alle raten Deinen Code auf Macken bzw. Optimierungsmöglichkeiten hin zu überprüfen, so würde ich es an Deiner Stelle annehmen und sie nicht mit Häme übergiessen.
Nicht S++ ist Dein Problem, sondern Dein Unvermögen Kritik anzunehmen.
Wenn Du jedoch weiter darauf beharrst alles besser zu Wissen, dann muß ich mich fragen warum Du überhaupt noch hier postest. Deine Genialität scheint uns ja alle zu überstrahlen.

Was den Speed von BB angeht - schau Dir nur mal ein paar Projekte an. Hier gibt es erstaunliches. BB kann - vernünftig genutzt - durchaus eine Menge Performance liefern.
Es liegt an Dir als Programmierer die Sprache effizient zu nutzen und die Grenzen der Möglichkeiten zu verstehen und für Dich zu nutzen.
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3
Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64
B3D BMax MaxGUI

Stolzer Gewinner des BAC#48, #52 & #92
 

X0r

BeitragDo, Mai 25, 2006 16:57
Antworten mit Zitat
Benutzer-Profile anzeigen
Flasch. BB Programme sind langsam. Purebasic ist z.B dagegen schneller(32 bit Maschinencompiler). Bei mir läuft FPS mit ca. 13.
Welche Kriterien?
So sieht der code aus:

graphics3d 1024,768
setbuffer backbuffer()
cam=createcamera()
..
..
;u.s.w


repeat





renderworld
updateworld
if keyhit(200) then moveentity cam,1,0,0
;..


flip
cls
until keyhit(1)
end

Aber wenn ich mehrere meshes lade, dann wird alles langsamer. Ich will aber konstante Geschwindigkeit der camera moves.

Am CPU liegt es, wie schon gesagt, nicht. Die Star Wars meshes haben garantiert mehr Polygone, aber es funktioniert perfekt.
Star Wars Jedi Knight II: Jedi Outcast
Kennt ihr das?


Und nochwas, das Bildschirm flimmert immer. Bei jedem Programm. Nur mit diesem Buffer Austausch merkt das menschliche Auge es nicht.
Also ist nicht flimmer schonmal so oder so falsch.

Ich soll perfekt sein? Ihr spielt doch hier die perfekten.
Man, kann esw denn nicht mal ein deutsches Forum geben, bei dem ich mich mal normal unterhalten kann? Die Engländer motzen nicht. Liegt wohl an der Kultur.

Artemis

BeitragDo, Mai 25, 2006 17:11
Antworten mit Zitat
Benutzer-Profile anzeigen
Wenn ich deinen Code so nehme, wie er ist kommt er auf 60 FPS. Wenn ich Flip(0) mache, auf 400 FPS.

Vielleicht hast du veraltete Grafikkarten-Treiber?

Zitat:
Und nochwas, das Bildschirm flimmert immer. Bei jedem Programm. Nur mit diesem Buffer Austausch merkt das menschliche Auge es nicht.
Also ist nicht flimmer schonmal so oder so falsch.
Bei jedem Blitz-Programm, oder auch bei anderen?

Zitat:
Ich soll perfekt sein? Ihr spielt doch hier die perfekten.
Du bist nicht perfekt, aber du kannst keine Kritik vertragen.
Zitat:
Man, kann esw denn nicht mal ein deutsches Forum geben, bei dem ich mich mal normal unterhalten kann?
Mach ein eigenes.
Zitat:
Die Engländer motzen nicht. Liegt wohl an der Kultur.
Liegt ehr daran, dass die meisten Leute da denken bevor sie posten. Hier trifft das auf einen Teil nicht zu.

Lunatix

BeitragDo, Mai 25, 2006 17:25
Antworten mit Zitat
Benutzer-Profile anzeigen
Darf ich mal sagen: bevor du hier dumm rumlaberst, wie wär es wenn du mal ins Begginners gehtst?
Da gehörst du hin! ->

Flip
Cls

WTF? das kann auch ned laufen, man löscht den buffer jawol am Anfang bevor man was zeichen will!

und von
Code: [AUSKLAPPEN]

...
...


werden wir hier auch ned shlauer!
Sagen wir mal so : wieviele Polys hat dein mesh was du so oft laden wilst?
[size=9]Pro|gram|mier|er: Ein Organismus, der Koffein in Software umwandelt.
Geben Sie eine beliebige 11-stellige Primzahl ein, um fortzusetzen...
 

X0r

BeitragDo, Mai 25, 2006 18:31
Antworten mit Zitat
Benutzer-Profile anzeigen
Was? Lol? Du bist hier der Dumme. Natürlich geht das. Guck dir mal einige professionelle BB Programme an.
Aber egal. Die meshes werden nicht gezeichnet. Sie werden nur einmal auf den Ram Speicher geladen. Ich muss eigentlich gar kein cls benutzen. ICH MUSS NICHTS IM BUFFER LÖSCHEN. Und selbst wenn, dann kann man auch zum Schluss alles löschen.
Bei 2d wäre es anders. Aber wir reden hier von 3D.
Halt einfach dein Maul, wenn du zu blöd bist, um sowas mal richtig zu erlären.

Artemis, du sagtest: Du bist nicht perfekt, aber du kannst keine Kritik vertragen.
Das ergibt keinen Sinn. Was soll dieses aber? Beide sind widersprüchlich.

Hier denken viele nicht, du hast Recht. Bitte an alle, die nicht so gut beim schreiben denken: Denkt bitte vorher nochmal gut nach, was ihr schreibt.


Das mesh hat cs. 17000 Polygone. Es funktioniert gut. Aber wenn jetzt z.B noch andere meshes dazugeladen werden, dann wird es langsamer.

Also, 3.2 GH reicht ja wohl aus. Meine Grafikarte ist auch ok.


Entweder ihr liest nicht richtig, oder ihr denkt nicht richtig nach. Ich habe gesagt, Jedi Knight II: Jedi outcast funktioniert flüssig. Genau wie GTA San Andreas. Álso ist da alles inordung.

Gehe zu Seite 1, 2  Weiter

Dieses Thema ist gesperrt, du kannst keine Beiträge editieren oder beantworten.


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group