Ich baue eine Parallax Scrolling-Website (nicht wir alle), die unter anderem ein Bild zeigt, wie der Benutzer scrollt.Image Decode Zeiten von Chrome Timeline Dev Tool
Ich habe die "Enthüllung" gemacht, indem ich das Bild in den Hintergrund gestellt habe und ein festes gefülltes div an die Spitze gesetzt habe. Ich animiere dann dieses div von 100% Höhe zu 0% Höhe basierend auf der Scroll-Position und enthüllt so das Hintergrundbild.
Ich mache diese Art von Sache mehrmals und leider werde ich langsam.
Mit der eingebauten Timeline-Funktion von Chrome kann ich sehen, dass der größte Teil dieser Verlangsamung von Bild-Decodes herrührt. Für die obige Enthüllung wird das Bild jedes Bild neu dekodiert, was 22 ms pro Bild pro Bild erfordert.
Weiß jemand, wann der Browser Image Decode machen muss und wann nicht? Es scheint mir offensichtlich, dass es nötig wäre, wenn ich das Bild verkleinern würde, aber nicht, dass es nötig wäre, wenn ich das Bild nur halb bedecken würde?
Danke für Ihre Hilfe.
Hallo Nirazul, ich animiere die Höhe der Abdeckung div mit Javascript. Ich werde sehen, ob die Clip-Methode anders funktioniert und Sie wissen lassen. –
Vielen Dank Nirazul, ich habe festgestellt, dass die Verwendung von Clipping zum Ausblenden von Bildern viel effizienter ist als die Anzeige: Keine, oder das Bild vom Bildschirm entfernen oder das Bild größtenteils vom Bildschirm entfernen - seit dem mache ich es Weitaus weniger Image Decodes werden in Chrome ausgelöst. Allerdings habe ich diese Frage nicht so beantwortet wie die echte SO-Frage war: "Weiß jemand, wann der Browser Image Decode machen muss und wann nicht?" aber deine Antwort war sehr hilfreich, also danke. –