web-dev-qa-db-ja.com

FirefoxとIEでこのGIFのアニメーション速度が異なるのはなぜですか?

Oracle Enterprise Managerには、このGIFを使用するWebインタフェースがあります。 Oracle Enterprise Manager

このGIFの奇妙な点は、Firefox(v9&10)ではMSIE(v7&9)の約2倍の速度で回転することです。

ブラウザによってアニメーション速度が変わるのはなぜですか?

GIFアニメーションには40フレームが含まれ、各フレーム間に0.03秒の遅延が指定されています。これにより、ループごとに1.2秒という名目上のランタイムが得られるはずです。これは、ここでFirefoxで見ているものと一致します。

問題は、多くのブラウザが非常に短いフレームごとの遅延を無視し、デフォルトの遅延(多くの場合0.1秒)に置き換えることです。また、「非常に短い」遅延としてカウントされるもののカットオフはブラウザによって異なります。Firefoxはフレームごとに0.02秒までの値を容認しますが、IEは0.0未満の遅延を無視します。6 フレームあたりの秒数。

私の推奨事項は、フレームごとの遅延を0.06秒に増やすことです(アニメーションを高速で実行する場合は、1秒おきにフレームを削除します)。そのshouldは、すべての主要なブラウザーで一貫した速度を提供します。

編集:私はあなたのために行ってきました。以下に、フレームごとに0.06秒のアニメーションの2つのバージョンを示します。高速(20フレーム、1.2秒/ループ) Fast animation, 20 frames at 0.06 seconds / frame 遅い(40フレーム、2.4秒/ループ) Fast animation, 40 frames at 0.06 seconds / frame。また、アニメーションを GIFsicle で最適化したため、元のアニメーションよりもかなり小さくなりました。

詳細については、以下を参照してください。

28
Ilmari Karonen