mirror of
https://github.com/fergalmoran/ladybird.git
synced 2025-12-26 03:09:08 +00:00
LibWeb: Don't run HTMLImageElement timer when there is no animation
Before this change, we would wake up on every event loop iteration to drive animations in single-frame images. This was a complete waste of time and caused 100% CPU usage on our main GitHub repo page. With this change, CPU usage is ~1% when idle on the same page. :^)
This commit is contained in:
@@ -838,7 +838,13 @@ void HTMLImageElement::handle_failed_fetch()
|
||||
void HTMLImageElement::restart_the_animation()
|
||||
{
|
||||
m_current_frame_index = 0;
|
||||
m_animation_timer->start();
|
||||
|
||||
auto image_data = m_current_request->image_data();
|
||||
if (image_data && image_data->frame_count() > 1) {
|
||||
m_animation_timer->start();
|
||||
} else {
|
||||
m_animation_timer->stop();
|
||||
}
|
||||
}
|
||||
|
||||
// https://html.spec.whatwg.org/multipage/images.html#update-the-source-set
|
||||
|
||||
Reference in New Issue
Block a user