![]() |
Proggi bremst game aus
Hallo,
ich hab folgendes problem. Mein proggram, welches mit winamp zusammenarbeitet und infos, etc. auf einem LCD display anzeigt, bringt das game (counterstrike source, wem das was sagt) dazu, zu zuckeln. Dies drückt sich so aus, das es unteranderem beim schreiben ingame stockt, oder auch beim drehen der perspektive mit der maus, und auch beim laufen. Kurz, es stockt alles. Ich hab schon CPU last und Speicherusage geprüft, daran liegt es nicht. Was kann ich nun noch versuchen/ändern? MfG - Ghost007 |
Re: Proggi bremst game aus
du könntest es ja mal mit nem anderen timer versuchen - falls einer im Programm in Benutzung ist. Verschiedene Timer haben meiner Erfahrung nach verschiedene Auswirkungen auf andere Programme. Bei manchen kann man ja auch z.b. die Priorität festlegen. Vielleicht hilfts.
|
Re: Proggi bremst game aus
hi,
wie die priorität? des timers oder meines proggis? Wenn, des timers, dann wie mach ich das? MfG - Ghost007 |
Re: Proggi bremst game aus
Was macht denn dein Programm eigentlich?
|
Re: Proggi bremst game aus
Moin Christian,
benötigst Du für die Ansteuerung Interrupts? Da könnte es zu Problemen kommen. |
Re: Proggi bremst game aus
Zitat:
Zitat:
MfG - Ghost007 |
Re: Proggi bremst game aus
Wenn du wenig zu deinem Programm sagst, kann man leider nicht feststellen woran es liegen könnte.
du müsstest schon ein bißchen genauer beschreiben was dein programm macht und wie es das macht. es könnte sogar helfen, mal ne stelle aus deinem source zu zeigen, welcher dafür verantwortlich dafür ist was mit winamp passiert oder was mit den lcd display passiert. |
Re: Proggi bremst game aus
also,
es wird mit einem timer auf das LCD der logitech G15 tastatur gezeichnet, in einem 900ms interval, in diesem interval werden auch immer die neuen winamp daten ausgelesen und das ganze auf das LCD gemalt. MfG - Ghost007 |
Re: Proggi bremst game aus
Lass mich raten,
alle 900ms zuckelt das Game... es liegt definitiv andeinem Timer, jedesmal wenn der in den Prozessablauf eingreift muss dein Conterstrike solange auf das System warten bis dein Prog alle Arbeiten beendet hat. Und dann darf Counterstrike wieder... Gruß Matthias |
Re: Proggi bremst game aus
Hi,
wie kann ich das mit dem timer beheben? MfG - Ghost007 |
Re: Proggi bremst game aus
Hi,
Zitat:
Erinnert mich so an if..then.. :chat: |
Re: Proggi bremst game aus
danke für deinen sehr hilfreichen beitrag :D
aber nu ma ernsthaft, hat jmd ne ahnung? MfG - Ghost007 |
Re: Proggi bremst game aus
Lager das ganze in einen Thread aus mit der untersten Prioritätsstufe.
|
Re: Proggi bremst game aus
kann ich auch dem prozzes meines programms eine priorität zuordnen?
MfG - Ghost007 |
Re: Proggi bremst game aus
|
Re: Proggi bremst game aus
Hi,
ich hab das nun ma getestet. Jedoch kann ich keine besserung feststellen. Selbst wenn ich die priorität auf niedrigst mach, wird das LCD zwar nicht mehr neu gemalt, aber Counterstrike ist immer noch verzögert :( MfG - Ghost007 P.S.: *helpme* :wall: |
Re: Proggi bremst game aus
#1. *PUSH*
#2. wenn ich den timer aus schalte, dann gehts, also es liegt sicher an dem timer ... aber wie kann ich den fehler beheben? MfG - Ghost007 |
Re: Proggi bremst game aus
*PUSH*
|
Re: Proggi bremst game aus
Hallo ghost007,
Ich würde dir empfehlen nen neuen thread zu erzeugen und in dem dann mittels
Delphi-Quellcode:
deine zeichenmethode auszulösen, ich denke mal das diese "Genauigkeit" für das zeichnen ausreicht...
if GetTickCount-t >= Interval then
begin //Hier was passieren soll t := GetTickCount; end; Die ThreadPirorität kannst du mit
Delphi-Quellcode:
einstellen
Self.Priority := tpLower; //getippt nicht getestet...
mfg Phreax |
Re: Proggi bremst game aus
Wenn die CPU-Last nicht steigt, würde ich sagen, es liegt am Zeichnen. Wie machst du das denn?
|
Re: Proggi bremst game aus
Zitat:
gezeichnet wird über eine komponente.Hierfür zeichne ich alles was ich auf dem LCD haben will auf ein image per canvas und kann dann das image der komponente assignen und dann per send befehlt auf das LCD malen. (ich kann mal alles außer das senden machen, dann wissen wir ja ob es das malen is,oder?) @phreax: danke für deine antowrt, über einen threat wollte ich als letzte möglichkeit gehen ... da ich ehrlichgesagt keine ahnung davon hab, wie das mit den threats funktioniert. MfG - Ghost007 P.S.: Ich teste das mit der malroutine eben mal aus. [EDIT] Ok, an dem senden liegts nicht, habs grade getestet. [/EDIT] |
Re: Proggi bremst game aus
Tja da es wohl nicht am zeichnen liegt musst du wohl oder übel dich an den "bösen" Threads versuchen ;)
Das ist eigentlich recht einfach, in deinem Fall jedenfalls:
Delphi-Quellcode:
Das ist so das simpelste was man so machen kann...
{Einfach mit Neu->Thread-Objekt einen neuen VCL Thread erstellen}
//Hier deine methode die das zeichnen auslösen soll (OHNE Parameter) procedure Zeichnen; begin //TODO: Code einfügen ;) end; procedure TZeichenThread.Execute; var t: Cardinal; begin repeat sleep(1); //demit keine hohe Prozessorauslastung enststeht (aber ungenau) if GetTickCount-t >= 900 then begin Synchronize(Zeichnen); t := GetTickCount; end; until Self.Terminated; //Bis zum Thread ende Wenn du globale Variablen hast auf die zur gleichen zeit ein anderer Thread zugreift (z.B. Hauptprogramm) musst du noch mit critical Sections arbeiten... Dazu dieses kurze ![]() mfg phreax |
Re: Proggi bremst game aus
hi,
werde das gleich mal testen. MfG - Ghost007 P.S.: Kurze frage, wo soll dann das mit der priorität hin? |
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:00 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz