schnelle Bildwechsel
Kalle_B
- javascript
0 Kalle_B0 JürgenB0 Kalle_B
0 Sven Rautenberg0 Kalle_B
Hallöle,
wenn ich ein Bild gegen ein anderes austausche, muss offenbar das neue Bild Pixel für Pixel an die Stelle des alten kopiert werden:
document.getElementById( arr[bild_nr][0] ).src = arr[bild_nr][2].src;
Gibt es nicht eine Möglichkeit, einfach einen Pointer auf das neue Bild zu setzen?
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.
Gruß, Kalle
Hallo Kalle_B,
schon mal an animierte GIFs gedacht? Sonst leg doch mehrere Bilder übereinander und mache nur eins davon sichtbar.
Gruß, Jürgen
Hallo Jürgen,
schon mal an animierte GIFs gedacht?
Mmmh - habe wohl nicht das richtige Programm, die zu erstellen. Oder kann Ifanview sowas?
Sonst leg doch mehrere Bilder übereinander und mache nur eins davon sichtbar.
Habe ich ausprobiert, blende das obere Bild ein und aus:
function switchBild(x)
{
switch ( x )
{
case 1: document.getElementById( 'balkon' ).style.visibility = 'visible'; window.setTimeout("switchBild(2)", wdh); break;
case 2: document.getElementById( 'balkon' ).style.visibility = 'hidden'; window.setTimeout("switchBild(1)", wdh); break;
}
}
Genau das gleiche Geschwindigkeitsproblem bei starker Vergrößereung des Bildes.
Gruß, Kalle
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
Moin!
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.
Da bin ich falsch verstanden worden. Ich möchte -zack- ein Bild wechseln, es 1/10 sec anzeigen (Timeout ..., 100) und dann wieder -zack- zurückwechseln.
Aber es geht eben nur zaaaaaaaaaaaaaaaaak.
Und der neue Aufbau kann mit dem Auge bequem verfolgt werden. Das wolte ich vermeiden.
Außerdem müßte der Bildwechsel natürlich exakt synchronisiert zur Bildwiederholfrequenz laufen
Naja, wenn er sich über zwei 1/60 sec Bilder erstreckt, wäre es kein Problem. Kriegt das Auge nicht wirklich mit.
Abgesehen davon wäre der einzige Erfolg ein irrsinniges Flimmern des Bildes, aber vermutlich kein 3D-Effekt mehr.
Na, es soll ja 1/10 sec stehen bleiben.
Gruß - Kalle
Hallo,
Da bin ich falsch verstanden worden. Ich möchte -zack- ein Bild wechseln, es 1/10 sec anzeigen (Timeout ..., 100) und dann wieder -zack- zurückwechseln.
Aber es geht eben nur zaaaaaaaaaaaaaaaaak.
schon klar, aber da kann Javascript nix für, das liegt einzig und allein an der Rendering Engine deines verwendeten Browsers (natürlich in Kombination mit dem Grafiktreiber und der Hardware).
Mit Javascript hast du jedenfalls keine Chance, daran was zu ändern.
Hast du eigentlich einen derart langsamen Rechner?
Ciao,
Martin