Autor |
Nachricht |
Sp3C
Threadersteller
Dabei seit: 11.09.2008
Ort: -
Alter: 32
Geschlecht:
|
Verfasst Di 12.06.2012 13:42
Titel Hohe CPU-Auslastung durch Javascript |
|
|
Hallo,
ich habe ein Script in PHP geschrieben welches Informationen aus einer CSV-Datei ausliest und in mehreren Tabellen untereinander ausgibt.
Jeder dieser Tabelle ist mit einem HTML-Anker versehen, damit hin- und hergescrollt werden kann.
Nun habe ich für diese Aufgabe ein Javascript geschrieben.
Das Script ruft mit einer Wartezeit von 10 Sekunden den nächsten Anker auf und aktualisiert die Seite wenn der letzte Anker erreicht ist.
Nun sorgt dieses Script allerdings dafür, dass die CPU-Last bei ca. 50% liegt und er IE bzw. Firefox nicht mehr reagiert.
Kann einer vor euch die Ursache erkennen ?
Code: |
function warten(prmSec)
{
prmSec *= 1000;
var eDate = null;
var eMsec = 0;
var sDate = new Date();
var sMsec = sDate.getTime();
do {
eDate = new Date();
eMsec = eDate.getTime();
} while ((eMsec-sMsec)<prmSec);
}
// Funktion zum Reload
function reloader(){
location.reload();
}
var max_seiten = <?php echo $seite_gesamt;?>;
var seite = 1;
function blaettern(){
while (seite <= max_seiten) {
warten(10);
window.location.href = "#"+seite;
seite++;
}
warten(10);
reloader();
}
|
Gruß
Sp3C
|
|
|
|
|
Alex
Dabei seit: 29.11.2005
Ort: Dortmund
Alter: 37
Geschlecht:
|
Verfasst Di 12.06.2012 13:47
Titel
|
|
|
Rein aus interesse, wieso schreibst du dir deine Timeout-Funktion selbst, statt setTimeout() zu benutzen?
Leider sehe ich auf Anhieb auch nicht die Ursache für dein Problem..
|
|
|
|
|
Anzeige
|
|
|
Sp3C
Threadersteller
Dabei seit: 11.09.2008
Ort: -
Alter: 32
Geschlecht:
|
Verfasst Di 12.06.2012 13:49
Titel
|
|
|
Alex hat geschrieben: | Rein aus interesse, wieso schreibst du dir deine Timeout-Funktion selbst, statt setTimeout() zu benutzen?
Leider sehe ich auf Anhieb auch nicht die Ursache für dein Problem.. |
Das Problem bei setTimeout() ist doch das ich damit meine while-Schleife nicht anhalten kann oder verstehe ich da etwas falsch ?
|
|
|
|
|
Alex
Dabei seit: 29.11.2005
Ort: Dortmund
Alter: 37
Geschlecht:
|
|
|
|
|
Sp3C
Threadersteller
Dabei seit: 11.09.2008
Ort: -
Alter: 32
Geschlecht:
|
Verfasst Di 12.06.2012 14:28
Titel
|
|
|
Damit läuft es endlich, vielen Dank!!
Ich habe diese Lösung trotz ewigem überlegen und googlen nicht gefunden, jetzt liegt die CPU-Last bei 1% bzw. 4% bei laden
|
|
|
|
|
Alex
Dabei seit: 29.11.2005
Ort: Dortmund
Alter: 37
Geschlecht:
|
Verfasst Di 12.06.2012 14:33
Titel
|
|
|
Ich würde vermuten, dass das Problem in deiner selbstgebauten Timeout funktion lag.
Die while schleife hat alle paar Millisekunden geprüft ob die 10 Sekunden schon rum sind, und das ist halt ne Menge Holz, das im Hintergrund gefällt wird
Zuletzt bearbeitet von Alex am Di 12.06.2012 14:33, insgesamt 1-mal bearbeitet
|
|
|
|
|
phihochzwei
Moderator
Dabei seit: 08.06.2006
Ort: Mülheim an der Ruhr
Alter: 46
Geschlecht:
|
Verfasst Di 12.06.2012 15:28
Titel
|
|
|
Nachdem ich das gelesen habe, möchte ich mich wimmernd in der Dusche in Fötalhaltung zusammenrollen.
|
|
|
|
|
phihochzwei
Moderator
Dabei seit: 08.06.2006
Ort: Mülheim an der Ruhr
Alter: 46
Geschlecht:
|
Verfasst Di 12.06.2012 18:17
Titel
|
|
|
Alex hat geschrieben: | Hm... bezüglich meines Tips oder des Ausgangsposts? |
Wenn das wegen deines Posts wäre, dann müsste ich deinen Arbeitsvertrag noch mal überdenken
BTW.: Wohnung gefunden ????
|
|
|
|
|
|
|
|
Ähnliche Themen |
Flash udn CPU Auslastung
100% hohe Tabellen im IE
100% hohe DIV-Ebenen im Internetexplorer
Tabelle eine 100% Hohe zuweisen
GIF-Onlinebanner. Wodurch entsteht die hohe Dateigröße ?
phpBB, Auslastung und "sprechende URLs"
|
|