Moin!
wenn ich ein Bild gegen ein anderes austausche, muss offenbar das neue Bild Pixel für Pixel an die Stelle des alten kopiert werden:
Richtig, anders kriegt der Browser das neue Bild nicht an die Stelle des alten Bildes.
document.getElementById( arr[bild_nr][0] ).src = arr[bild_nr][2].src;
Das ist kein Pixelkopierbefehl.
Gibt es nicht eine Möglichkeit, einfach einen Pointer auf das neue Bild zu setzen?
Was stellst du dir vor?
Wenn es dir darum geht, dass Javascript die Bilder noch schneller wechselt: Vergiß es! Javascript und die Browser sind zu langsam dafür.
Wenn ihr die Seite <file:///C:/www.osmer.de/_v9/studie_3d_fotografie.htm> stark vergrößert anzeigt (z.B. bei FF mehrfach [Strg][+]) dann "schaukelt" das Bild beim Wechsel, ist also langsamer als das Auge.
Das ist ja auch logisch und muß so sein - und kann auch gar nicht anders sein, selbst wenn die Wechselfrequenz höher wäre. Die Maximale Wechselfrequenz wäre sowieso die Bildwiederholfrequenz des Bildschirms, also typischerweise Werte zwischen 60 und 120 Mal pro Sekunde. Was wiederum bedeuten würde, dass eine Phase zwischen 8,3 und 16,6 Millisekunden dauern dürfte. window.setTimeout ist damit schon überfordert. Empfehlenswert sind Werte ab 50 Millisekunden.
Außerdem müßte der Bildwechsel natürlich exakt synchronisiert zur Bildwiederholfrequenz laufen - Javascript kann auf eine derartige Information aber nicht zugreifen (auch wegen der Geschwindigkeit dieser interpretierten Sprache), weshalb spätestens dort der Versuch scheitert.
Abgesehen davon wäre der einzige Erfolg ein irrsinniges Flimmern des Bildes, aber vermutlich kein 3D-Effekt mehr.
- Sven Rautenberg
"Love your nation - respect the others."