seltsames verhalten
hallo!
ich weiß nicht genau, ob das hier ein bug im php ist oder ob ich einen fehler im script habe: PHP-Code:
ich habe das ganze ohne srand gemacht, da ich php5 benutze und es dort nicht nötig ist. exakte version: 5.0.5-2 |
AW: seltsames verhalten
Mit PHP 4.4.1 kann ich das Problem nicht nachvollziehen. Aber warum benutzt du eigentlich rand() statt array_rand()?
|
AW: seltsames verhalten
Zitat:
Zitat:
|
AW: seltsames verhalten
Zitat:
|
AW: seltsames verhalten
also, ich habs jetzt mit array_rand probiert - genau der gleiche fehler:
http://www.julianmoritz.de/dl/bg.png |
AW: seltsames verhalten
Ok, jetzt weiß ich, was du mit kleinen Werten für $size meinst (mit 25 hat es bei mir nämlich funktioniert). Bei der Größe, die du in deinem Beispielbild hast, kann ich das Problem nun auch beobachten.
|
AW: seltsames verhalten
Ich habe gerade noch einmal ein wenig getestet. Anscheinend hat PHP ab einer bestimmten Anzahl an Aufrufen von imagecolorallocate() Probleme. Wenn du den Rückgabewert von imagecolorallocate() zwischenspeicherst und nur bei einer neuen Farbe neu generierst, funktioniert es:
PHP-Code:
Nachtrag: Anscheinend lassen sich lediglich 255 verschiedene Farben definieren. Jedenfalls liefert imagecolorallocate() ab dem 256. Aufruf -1 zurück. |
AW: seltsames verhalten
also was mir vorhin aufgefallen ist, ist dass die verteilung der schlüssel relativ ausgeglichen ist. es liegt also nicht an den randomfunktionen.
wenn man sehr viele kästchen zeichnet, wird das der funktion imagecolorallocate anscheinend "zu schnell". erst wenn man in der äußeren schleife dann zurückspringt, bleibt ein wenig zeit, dass sich die funktion anscheinend "erholt". zum nachtrag: werde das ganze mal in der bug-database posten, danke für die hilfe, hab schon an mir gezweifelt... edit: habe jetzt mal versucht mit usleep etwas rumzufrickeln, hat aber nichts genützt, meine überlegungen zu dem "erholen" waren also schwachsinn. |
AW: seltsames verhalten
so, das folgende script umgeht das problem.
PHP-Code:
|
AW: seltsames verhalten
weiteres siehe der eintrag im bugtracker, anscheinend ist das ganze gar kein bug:
http://bugs.php.net/bug.php?id=36218 |
Alle Zeitangaben in WEZ +2. Es ist jetzt 16:32:16 Uhr. |
Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.