wOp
Mitglied
Zum Gruße
Vorweg erkläre ich am besten mal was ich überhaupt machen will:
Ich habe mir eine Schaltung mit 8 LEDs gebastelt, die ich per Parallel Port (LPD1) ansteuere. Dies funktioniert soweit auch wunderbar. Sprich ich kann jedes der 8 LEDs einzeln ohne Probleme ansteuern.
Hier mal der Link zum Downloaden meines Programms.
Soweit so gut! Natürlich ist das an sich nichts spektakuläres. Interessant wird es erst bei den unzähligen Schleifen die man so einbaut um ein paar nette Effekte hin zu bekommen. Beispielsweise den „Wurm“, „Night Rider“ und nicht zu vergessen das Winamp Vblink PlugIn.
Ich habe also mit dem Night Rider angefangen und eine Schleife gebastelt die auch super funktioniert. Nur leider treibt er mir die CPU-Auslastung auf 100% während die Schleife läuft, so das der Stop Button erst nach einigen Sekunden reagiert. Meine Frage also: Wie kann ich das umgehen?
Unter Verwendung des Moduls:
Ich betone nochmals das der Effekt wunderbar an den LEDs angezeigt wird. Sprich sie flitzen hin und her, wie man das eben von Night Rider gewohnt ist. Nur die CPU-Auslastung kann so net sein.
PS: Ich hab nen Pentium 4 mit 2400 MHz und 512 DDR-Ram, daran sollte es also nicht liegen.
Bitte um Hilfe!
motivierende Grüße
wOp
Vorweg erkläre ich am besten mal was ich überhaupt machen will:
Ich habe mir eine Schaltung mit 8 LEDs gebastelt, die ich per Parallel Port (LPD1) ansteuere. Dies funktioniert soweit auch wunderbar. Sprich ich kann jedes der 8 LEDs einzeln ohne Probleme ansteuern.
Hier mal der Link zum Downloaden meines Programms.
Soweit so gut! Natürlich ist das an sich nichts spektakuläres. Interessant wird es erst bei den unzähligen Schleifen die man so einbaut um ein paar nette Effekte hin zu bekommen. Beispielsweise den „Wurm“, „Night Rider“ und nicht zu vergessen das Winamp Vblink PlugIn.
Ich habe also mit dem Night Rider angefangen und eine Schleife gebastelt die auch super funktioniert. Nur leider treibt er mir die CPU-Auslastung auf 100% während die Schleife läuft, so das der Stop Button erst nach einigen Sekunden reagiert. Meine Frage also: Wie kann ich das umgehen?
Code:
Private Sub Form_Load()
'Belegung der Ausgänge
Dim a, b As Byte
a = 1
b = 1
Do While b < 9
Ausgang(b) = a
b = b + 1
a = a + a
Loop
End Sub
Public Function NightRider(ByVal i As Integer)
Dim Start
Start = Timer
Do While Timer < Start + 0.1
Out &H378, Ausgang(i)
Loop
End Function
Private Sub tmNightRider_Timer()
tmNightRider.Interval = 1
NightRider (1)
NightRider (2)
NightRider (3)
NightRider (4)
NightRider (5)
NightRider (6)
NightRider (7)
NightRider (8)
NightRider (7)
NightRider (6)
NightRider (5)
NightRider (4)
NightRider (3)
NightRider (2)
End Sub
Private Sub optNightRider_Click()
tmNightRider.Enabled = True
End Sub
Private Sub optKeine_Click()
tmNightRider.Enabled = False
End Sub
Unter Verwendung des Moduls:
Code:
Public Declare Function Inp Lib "inpout32.dll" _
Alias "Inp32" (ByVal PortAddress As Integer) As Integer
Public Declare Sub Out Lib "inpout32.dll" _
Alias "Out32" (ByVal PortAddress As Integer, ByVal Value As Integer)
Ich betone nochmals das der Effekt wunderbar an den LEDs angezeigt wird. Sprich sie flitzen hin und her, wie man das eben von Night Rider gewohnt ist. Nur die CPU-Auslastung kann so net sein.
PS: Ich hab nen Pentium 4 mit 2400 MHz und 512 DDR-Ram, daran sollte es also nicht liegen.
Bitte um Hilfe!
motivierende Grüße
wOp
Zuletzt bearbeitet: