Improve CPU usage by ignoring ScheduleAnimation() and ScheduleComposite() calls when not using accelerated compositing (issue #456).
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@420 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
This commit is contained in:
parent
2bbd89f97d
commit
bbe2a2f2d3
|
@ -15,6 +15,9 @@ using WebKit::WebSize;
|
||||||
|
|
||||||
|
|
||||||
void WebWidgetHost::ScheduleAnimation() {
|
void WebWidgetHost::ScheduleAnimation() {
|
||||||
|
if (!webwidget_ || !webwidget_->isAcceleratedCompositingActive())
|
||||||
|
return;
|
||||||
|
|
||||||
MessageLoop::current()->PostDelayedTask(FROM_HERE,
|
MessageLoop::current()->PostDelayedTask(FROM_HERE,
|
||||||
base::Bind(&WebWidgetHost::ScheduleComposite, weak_factory_.GetWeakPtr()),
|
base::Bind(&WebWidgetHost::ScheduleComposite, weak_factory_.GetWeakPtr()),
|
||||||
10);
|
10);
|
||||||
|
|
|
@ -303,6 +303,9 @@ void WebWidgetHost::DidScrollRect(int dx, int dy, const gfx::Rect& clip_rect) {
|
||||||
}
|
}
|
||||||
|
|
||||||
void WebWidgetHost::ScheduleComposite() {
|
void WebWidgetHost::ScheduleComposite() {
|
||||||
|
if (!webwidget_ || !webwidget_->isAcceleratedCompositingActive())
|
||||||
|
return;
|
||||||
|
|
||||||
int width = logical_size_.width();
|
int width = logical_size_.width();
|
||||||
int height = logical_size_.height();
|
int height = logical_size_.height();
|
||||||
GdkRectangle grect = {
|
GdkRectangle grect = {
|
||||||
|
|
|
@ -228,6 +228,9 @@ void WebWidgetHost::Paint(SkRegion& update_rgn) {
|
||||||
}
|
}
|
||||||
|
|
||||||
void WebWidgetHost::ScheduleComposite() {
|
void WebWidgetHost::ScheduleComposite() {
|
||||||
|
if (!webwidget_ || !webwidget_->isAcceleratedCompositingActive())
|
||||||
|
return;
|
||||||
|
|
||||||
[view_ setNeedsDisplay:YES];
|
[view_ setNeedsDisplay:YES];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -309,8 +309,9 @@ void WebWidgetHost::DidScrollRect(int dx, int dy, const gfx::Rect& clip_rect) {
|
||||||
}
|
}
|
||||||
|
|
||||||
void WebWidgetHost::ScheduleComposite() {
|
void WebWidgetHost::ScheduleComposite() {
|
||||||
if (!webwidget_)
|
if (!webwidget_ || !webwidget_->isAcceleratedCompositingActive())
|
||||||
return;
|
return;
|
||||||
|
|
||||||
WebSize size = webwidget_->size();
|
WebSize size = webwidget_->size();
|
||||||
InvalidateRect(gfx::Rect(0, 0, size.width, size.height));
|
InvalidateRect(gfx::Rect(0, 0, size.width, size.height));
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue