schnell linien zeichnen. [erledigt]

Übersicht BlitzBasic Beginners-Corner

Gehe zu Seite 1, 2  Weiter

Neue Antwort erstellen

 

feuerball11

Betreff: schnell linien zeichnen. [erledigt]

BeitragDi, Apr 07, 2009 11:29
Antworten mit Zitat
Benutzer-Profile anzeigen
zuerst: sufu habe ich benutzt,.

das problem:
ich brauche eine möglichst schnelle variante eine 10 pixel lange linie in verschiedene richtungen zu zeichnen.
ich habe ca an die 10.000 linien, die alle möglichst schnell gezeichnet werden müssen.

mit writepixelfast und cosinus und sinus habe ich es schon versucht -> zu langsam

mit mehreren images in einem dim-feld habe ich es auch versucht -> zu langsam

line habe ich nicht versucht, wird aber logisch sein, das das zu langsam ist....

nun frage: gibt es eine schnellere möglichkeit als die oben genannten oder ist das nicht möglich??
  • Zuletzt bearbeitet von feuerball11 am Di, Apr 07, 2009 12:13, insgesamt einmal bearbeitet

ozzi789

BeitragDi, Apr 07, 2009 11:37
Antworten mit Zitat
Benutzer-Profile anzeigen
Draw3D ^^
0x2B || ! 0x2B
C# | C++13 | Java 7 | PHP 5

Thorsten

Betreff: Re: schnell linien zeichnen.

BeitragDi, Apr 07, 2009 11:39
Antworten mit Zitat
Benutzer-Profile anzeigen
feuerball11 hat Folgendes geschrieben:
line habe ich nicht versucht, wird aber logisch sein, das das zu langsam ist...

Mit Line zeichne ich 10k Linien in einer Sekunde..
Wie hoch sind denn deine Ansprüche?

hectic

Sieger des IS Talentwettbewerb 2006

BeitragDi, Apr 07, 2009 11:46
Antworten mit Zitat
Benutzer-Profile anzeigen
Bei so kurzen Linien ist das Line3D der Draw3D nicht besonders von Vorteil. Man kann allerdings das normale Line mit dem sperren des Zielpuffers sehr beschleunigen. Hier mal ein Beispielcode:

Code: [AUSKLAPPEN]
Graphics 800,600,0,2
SetBuffer BackBuffer()


Local Count,X,Y
Local MS=MilliSecs()


;LockBuffer BackBuffer()

For Count=1 To 100000
   X=Rand(10,790)
   Y=Rand(30,590)
   Line X,Y,X+Rand(-10,+10),Y+Rand(-10,+10)
Next

;UnlockBuffer BackBuffer()


Print "Das ganze hat nun "+(MilliSecs()-MS)+" MS gedauert"

Flip

WaitKey


Verhältnis bei mir beträgt etwa 1:35
Download der Draw3D2 V.1.1 für schnelle Echtzeiteffekte über Blitz3D
 

feuerball11

BeitragDi, Apr 07, 2009 11:47
Antworten mit Zitat
Benutzer-Profile anzeigen
ich probier das mit dem sperren des buffers mal...

edit:

hey das mit den linesd im gesperten bufer funtzt... hätte ich nicht gedacht, da lines doch normalerweise so langsam sind, und ich dachte, lockbuffer wäre nur für ritepixelfast....

naja. danke jedenfalls.
  • Zuletzt bearbeitet von feuerball11 am Di, Apr 07, 2009 12:11, insgesamt einmal bearbeitet

hectic

Sieger des IS Talentwettbewerb 2006

BeitragDi, Apr 07, 2009 12:10
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich war mir vorhin nicht ganz sicher, woher ich die Information habe. Sie steht im übrigen auch in der Line-Onlinehilfe. Im übrigen kannst du dir die deutsche Onlinehilfe downloaden und in dein Blitz integrieren. Dann drückst du im Blitzeditor einfach F1, und es erscheint die Hilfe zu dem Befehl wo sich der Textcursor befindet.

https://www.blitzforum.de/help/Download <-- MACHEN!!!
Download der Draw3D2 V.1.1 für schnelle Echtzeiteffekte über Blitz3D
 

feuerball11

BeitragDi, Apr 07, 2009 12:13
Antworten mit Zitat
Benutzer-Profile anzeigen
mach ich. ok

kriD

BeitragDi, Apr 07, 2009 15:57
Antworten mit Zitat
Benutzer-Profile anzeigen
sind die linien unbewegt?
wenn ja, mal sie halt in den imagebuffer und zeichne dann das erstellte bild in der hauptschleife..

lg kriD
Wenn ich du wäre, wäre ich lieber ich!
 

feuerball11

BeitragDi, Apr 07, 2009 15:58
Antworten mit Zitat
Benutzer-Profile anzeigen
sie sind unbefwegt, aber das mit den images ist langsamer als die orginal linien.....
 

da_poller

BeitragDi, Apr 07, 2009 16:03
Antworten mit Zitat
Benutzer-Profile anzeigen
er meint zu erstellt zur laufzeit EIN bild worauf du alle linien zeihnest..
dieses eine bild kannst du im programm anzeigen.
 

feuerball11

BeitragDi, Apr 07, 2009 16:05
Antworten mit Zitat
Benutzer-Profile anzeigen
achso... von dem her nein. die linien bewegen sich.
 

da_poller

BeitragDi, Apr 07, 2009 16:15
Antworten mit Zitat
Benutzer-Profile anzeigen
was genau sollen die linien eigentlich machen? evtl gehts mit ner anderen methode viel schneller /einfacher..
 

feuerball11

BeitragDi, Apr 07, 2009 16:17
Antworten mit Zitat
Benutzer-Profile anzeigen
die linien sollen auf einem feld liegende stro-halme darstellen, woei jeder halm einzeln gerechnet werden soll, weil ich eine kollision zu den brauche. wobei es auch einfach ein punkt auf der linie tut.

SpionAtom

BeitragDi, Apr 07, 2009 16:18
Antworten mit Zitat
Benutzer-Profile anzeigen
10.000 ist auch eine ganz schön große Zahl!
Ich würd mir von vornerein überlegen, ob man diese Zahl nicht etwas verkürzen kann.
os: Windows 10 Home cpu: Intel Core i7 6700K 4.00Ghz gpu: NVIDIA GeForce GTX 1080
 

feuerball11

BeitragDi, Apr 07, 2009 16:18
Antworten mit Zitat
Benutzer-Profile anzeigen
kurz und knapp nein.

ozzi789

BeitragDi, Apr 07, 2009 16:21
Antworten mit Zitat
Benutzer-Profile anzeigen
also mit lock buffer hatte mein Laptop 85 ms das ist doch gar nicht so schlecht, besser kriegst dus nicht hin Razz
0x2B || ! 0x2B
C# | C++13 | Java 7 | PHP 5
 

da_poller

BeitragDi, Apr 07, 2009 16:21
Antworten mit Zitat
Benutzer-Profile anzeigen
aufgrund der infos die ich nun hab(die mehr als spärlich sind) sag ich ganz einfach: diese 10.000 sind total übertrieben.. WAS ist der sinn der strohhalme?
 

feuerball11

BeitragDi, Apr 07, 2009 16:24
Antworten mit Zitat
Benutzer-Profile anzeigen
kurz und knapp. ich will einen simmulator für ein fald machen, wo man mit nem traktor drüberfahren kann, und die halme einsammeln und zu einem bundel bündeln kann..... wie auf nem richtigen feld halt.

edit: und nen feld mit grade mal zb 1000 halmen sieht ziehmlich blöde aus.
 

da_poller

BeitragDi, Apr 07, 2009 16:27
Antworten mit Zitat
Benutzer-Profile anzeigen
du willst ein ganzes feld simulieren? das ist etwas zu übertrieben find ich.. das ganze bündelweise wär um einiges besser.. nur jeden halm einzeln mit KOLLISION is unnötig.. mit was soll er kollidieren?
 

feuerball11

BeitragDi, Apr 07, 2009 16:29
Antworten mit Zitat
Benutzer-Profile anzeigen
kurz und knapp mit dem traktor.
auserdem funktioniert es momentan.

Gehe zu Seite 1, 2  Weiter

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group