Problem mit Delay gelöst
Übersicht

![]() |
ThunderBetreff: Problem mit Delay gelöst |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich brauche Delay bei meinem Programm. Das Problem ist allerdings das die Wartezeit "Delay 1" zu kurz ist.
Danke, im Vorraus |
||
Meine Sachen: https://bitbucket.org/chtisgit https://github.com/chtisgit |
- Zuletzt bearbeitet von Thunder am Do, Nov 08, 2007 19:21, insgesamt einmal bearbeitet
phil217 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
dann nimm doch ne größere Zahl
die Zahl hinter delay bestimmt die Anzahl der Millisekunden die gewartet wird wofür brauchst dus denn? MfG Phil |
||
![]() |
BladeRunnerModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich brauche Geld auf meinem Konto. Das Problem ist allerdings dass 1 Euro zuwenig ist.
So fucking what ? Wenn Du eine Frage hast: Stell sie. Aber das hier ist hanebüchen. |
||
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 |
![]() |
Abrexxes |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich hab da mal was vorbereitet:
Code: [AUSKLAPPEN] Delay 2 Dieser Code ist Freeware und darf manipuliert, kopiert und erweitert werden. |
||
neolein |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hi Thunder,
Delay 1000 = 1000ms = 1sec Es gibt in der Tat Basic Dialekte, bei denen 1 = 1sec bedeutet Aber: Robs und Motus Kurse lesen, gehört zu den Basics |
||
![]() |
Thunder |
![]() Antworten mit Zitat ![]() |
---|---|---|
[b]Tut mir leid ich habe meine Frage falsch formuliert.[/b] Mir ist die Wartezeit Delay 1 zu lang und ohne Delay zu kurz. | ||
Meine Sachen: https://bitbucket.org/chtisgit https://github.com/chtisgit |
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
dazwischen gibt es nichts.
1ms wartezeit ist das kürzest mögliche. inwiefern 1 millisekunde zu lange sein soll ist mir schleierhaft überdies. das gibt bei 60 FPS immer noch 15.6666 ms für anderes (inkl rendern) also sehr viel zeit |
||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
![]() |
Abrexxes |
![]() Antworten mit Zitat ![]() |
---|---|---|
Wieder das übliche NoobTimer gebastel mit Delay. | ||
![]() |
Thunder |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich kann ja mal meinen Programmtext reinkopieren:
Code: [AUSKLAPPEN] Graphics 800,600 For i= 0 To 200000 Color 255,0,0 Plot Rand(800),Rand(200) Color 255,255,255 Plot Rand(800),Rand(200,400) Color 255,0,0 Plot Rand(800),Rand(400,600) Next Cls For i= 0 To 200000 Color 255,0,0 Plot Rand(800),Rand(200) Color 255,255,255 Plot Rand(800),Rand(200,400) Color 0,255,0 Plot Rand(800),Rand(400,600) Next Cls For i= 0 To 200000 Color 255,0,0 Plot Rand(800),Rand(200) Color 255,255,0 Plot Rand(800),Rand(200,400) Color 255,0,0 Plot Rand(800),Rand(400,600) Next End Das ist eine Testversion mit 3 Flaggen. Die Vollversion hat ca. 15 und für mich ist Delay 1 eindeutig zu lang. Trotzdem Danke für die schnelle Antwort. |
||
Meine Sachen: https://bitbucket.org/chtisgit https://github.com/chtisgit |
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Den joke meinst du unter garantie nicht ernst oder.
Das ich zumindest sehr. Denn: 1. Du hast mehrere CLS in einer Hauptschleife und nutzt kein DoubleBuffering -> grundlegender Fehler 2. Du versuchst in jeder For Schleife 600'000 Pixel zu zeichnen. Da würde dir auch Delay 0 nimmer helfen, denn das wird in Echtzeit nie funktionieren. 3. Zeigt dein Code nicht einmal wofür du Delay brauchst. |
||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
![]() |
Thunder |
![]() Antworten mit Zitat ![]() |
---|---|---|
Dreamora hat Folgendes geschrieben: Den joke meinst du unter garantie nicht ernst oder.
Das ich zumindest sehr. Denn: 1. Du hast mehrere CLS in einer Hauptschleife und nutzt kein DoubleBuffering -> grundlegender Fehler 2. Du versuchst in jeder For Schleife 600'000 Pixel zu zeichnen. Da würde dir auch Delay 0 nimmer helfen, denn das wird in Echtzeit nie funktionieren. 3. Zeigt dein Code nicht einmal wofür du Delay brauchst. Das ich kein Double-buffering nutze ist, weil das Programm dann zu langsam läuft. Und ich möchte Delay einsetzen um das Zeichnen dieser 600000 Pixel zu verlangsamen(double-buffering=zu langsam). |
||
Meine Sachen: https://bitbucket.org/chtisgit https://github.com/chtisgit |
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Wenns langsam ist hast du nicht verstanden wie man es macht.
Dazu lies am besten in der Hilfe Mal bei: LockBuffer UnlockBuffer WritePixelFast |
||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
![]() |
ozzi789 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Delay 0.5 ![]() |
||
0x2B || ! 0x2B
C# | C++13 | Java 7 | PHP 5 |
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Wenn du keine Ahnung hast, poste bitte nicht, danke
Die Dokumentation sagt glaub selbst anfängerverständlich, dass dort ein Integer erwartet wird, kein Float! |
||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
![]() |
hecticSieger des IS Talentwettbewerb 2006 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Wenn es nun kein super-duper-Projekt sein soll, so würde ich es wie folgt machen:
Code: [AUSKLAPPEN] Graphics 800,600,0,1
SetBuffer FrontBuffer() ClsColor 32,32,40:Cls Delay 1000 For w=1 To 200 LockBuffer FrontBuffer() For q=0 To w*w WritePixelFast Rand(24,775),Rand( 24,207),0 WritePixelFast Rand(24,775),Rand(208,391),15601937 WritePixelFast Rand(24,775),Rand(392,575),14540049 Next UnlockBuffer FrontBuffer() Delay 50 Next Print "habe fertig" WaitKey End Wenn es aber 'gut' programmiert werden soll, so würde ich mir Gedanken darüber machen, wie ich den Rechner dazu bringen kann, nicht Pixelweise per Zufall zu setzen, sondern so, dass jeder Pixel an einer bestimmten Position auch nur einmal gesetzt wird. edit1: Kleine Korrektur am Code vorgenommen. |
||
Download der Draw3D2 V.1.1 für schnelle Echtzeiteffekte über Blitz3D |
- Zuletzt bearbeitet von hectic am Mi, Nov 07, 2007 19:01, insgesamt 3-mal bearbeitet
![]() |
ozzi789 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Kommt nicht mehr vor...
War ein witzchen ![]() |
||
0x2B || ! 0x2B
C# | C++13 | Java 7 | PHP 5 |
![]() |
hecticSieger des IS Talentwettbewerb 2006 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Problematisch wird allerdings dann, wenn du auch Diagonale oder Sterne und andere Symbole darstellen willst. Von daher kannst du auch gleich ein Image laden und ein wenig mit DrawBlockRect rumspielen. Das ganze dann Tilesbasierend natürlich. | ||
Download der Draw3D2 V.1.1 für schnelle Echtzeiteffekte über Blitz3D |
HyDr0x |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Du könntest das Bild aber auch vorher einlesen lassen und die Koordinaten wo es zu Farbänderungen kommt in einem Dimfeld abspeichern. Dann kannst du vorher eine abfrage machen welche Farbe für diese Koordinate genommen werden muss.
EDIT: Nach etwas überlegen bin ich zu dem Entschluss gekommen das ich genau das wiederholt habe was Hectic vorschlug ![]() EDIT für unteren Post Jop stand etwas neben der Spur, allerdings ist dein Post auch nur OffTopic von daher .... ![]() |
||
- Zuletzt bearbeitet von HyDr0x am Mi, Nov 07, 2007 20:52, insgesamt einmal bearbeitet
![]() |
XeresModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
-Argh-
Erst denken, dann Posten >.> |
||
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus THERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld) |
![]() |
Thunder |
![]() Antworten mit Zitat ![]() |
---|---|---|
hectic hat Folgendes geschrieben: Wenn es nun kein super-duper-Projekt sein soll, so würde ich es wie folgt machen:
Code: [AUSKLAPPEN] Graphics 800,600,0,1
SetBuffer FrontBuffer() ClsColor 32,32,40:Cls Delay 1000 For w=1 To 200 LockBuffer FrontBuffer() For q=0 To w*w WritePixelFast Rand(24,775),Rand( 24,207),0 WritePixelFast Rand(24,775),Rand(208,391),15601937 WritePixelFast Rand(24,775),Rand(392,575),14540049 Next UnlockBuffer FrontBuffer() Delay 50 Next Print "habe fertig" WaitKey End Wenn es aber 'gut' programmiert werden soll, so würde ich mir Gedanken darüber machen, wie ich den Rechner dazu bringen kann, nicht Pixelweise per Zufall zu setzen, sondern so, dass jeder Pixel an einer bestimmten Position auch nur einmal gesetzt wird. edit1: Kleine Korrektur am Code vorgenommen. Dieser code ist nicht schlecht ich werde daran feilen und Danke an alle! |
||
Meine Sachen: https://bitbucket.org/chtisgit https://github.com/chtisgit |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group