AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Hilfe Mein Programm Laggt!

Ein Thema von Magic94 · begonnen am 20. Dez 2010 · letzter Beitrag vom 21. Dez 2010
 
Benutzerbild von Valle
Valle

Registriert seit: 26. Dez 2005
Ort: Karlsruhe
1.223 Beiträge
 
#5

AW: Hilfe Mein Programm Laggt!

  Alt 20. Dez 2010, 11:39
Hallo,

Ist keine Soundkarte vorhanden, verwendet die Funktion Beep() die ganze CPU-Leistung nur dafür, den Lautsprecher 20 ... 20000 mal je Sekunde möglichst synchron ein- und auszuschalten. Wärend dieser Zeit ist das System praktisch ausgelastet. Erst danach wird die Funktion wieder verlassen.
das kann man so nicht ganz stehen lassen. Diese 20.000 Oszillationen pro Sekunden entsprechen eine Frequenz von 20 kHz. Moderne Prozessoren haben mittlerweile wohl weit über 200 MHz. So eine Frequenz lastet keinen Prozessor aus!

Was wahrscheinlich damit gemeint ist, ist dass die Windows Message Queue nicht abgearbeitet wird, solange der Mainthread deines Programmes mit dieser Funktion beschäftigt ist. Beschäftigt heißt in dem Fall aber nicht, dass dein System ausgelastet ist, sondern leidglich, dass dein Programm auf das Ende des Beeps wartet!

Soweit ich weiß - das ist aber wirklich nur Halbwissen - ist der Lautsprecher aber auch über einen extra Prozessor Timer angebunden, um asynchrones Abspielen zu ermöglichen. Sonst hätte man damals, als CPUs wirklich nur 200 kHz hatten, kaum etwas sinnvolles mit Sound und Grafik machen können. Soll heißen, dass du mit Assembler die Frequenz einstellen kannst, anschließend den Lautsprecher auf "ein" schaltest und dein Programm dann dennoch weiterlaufen kann.

Liebe Grüße,
Valentin
Valentin Voigt
BOFH excuse #423: „It's not RFC-822 compliant.“
Mein total langweiliger Blog
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:46 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-2025 by Thomas Breitkreuz