зеркало из https://github.com/mozilla/gecko-dev.git
Limit composition to every 15 ms, may want to try increasing this value
This commit is contained in:
Родитель
658ac2bd4e
Коммит
92886562bf
|
@ -132,9 +132,15 @@ CompositorParent::ScheduleComposition()
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
TimeDuration delta = mozilla::TimeStamp::Now() - mLastCompose;
|
||||||
|
|
||||||
printf_stderr("Schedule composition\n");
|
printf_stderr("Schedule composition\n");
|
||||||
mCurrentCompositeTask = NewRunnableMethod(this, &CompositorParent::Composite);
|
mCurrentCompositeTask = NewRunnableMethod(this, &CompositorParent::Composite);
|
||||||
|
if (delta.ToMilliseconds() < 15) {
|
||||||
|
MessageLoop::current()->PostDelayedTask(FROM_HERE, mCurrentCompositeTask, 15 - delta.ToMilliseconds());
|
||||||
|
} else {
|
||||||
MessageLoop::current()->PostTask(FROM_HERE, mCurrentCompositeTask);
|
MessageLoop::current()->PostTask(FROM_HERE, mCurrentCompositeTask);
|
||||||
|
}
|
||||||
|
|
||||||
// Test code for async scrolling.
|
// Test code for async scrolling.
|
||||||
#ifdef OMTC_TEST_ASYNC_SCROLLING
|
#ifdef OMTC_TEST_ASYNC_SCROLLING
|
||||||
|
@ -177,8 +183,8 @@ CompositorParent::Composite()
|
||||||
Layer* root = mLayerManager->GetRoot();
|
Layer* root = mLayerManager->GetRoot();
|
||||||
root->AsShadowLayer()->SetShadowTransform(worldTransform);
|
root->AsShadowLayer()->SetShadowTransform(worldTransform);
|
||||||
|
|
||||||
|
|
||||||
mLayerManager->EndEmptyTransaction();
|
mLayerManager->EndEmptyTransaction();
|
||||||
|
mLastCompose = mozilla::TimeStamp::Now();
|
||||||
}
|
}
|
||||||
|
|
||||||
// Go down shadow layer tree, setting properties to match their non-shadow
|
// Go down shadow layer tree, setting properties to match their non-shadow
|
||||||
|
|
|
@ -131,6 +131,7 @@ private:
|
||||||
nsRefPtr<LayerManager> mLayerManager;
|
nsRefPtr<LayerManager> mLayerManager;
|
||||||
nsIWidget* mWidget;
|
nsIWidget* mWidget;
|
||||||
CancelableTask *mCurrentCompositeTask;
|
CancelableTask *mCurrentCompositeTask;
|
||||||
|
TimeStamp mLastCompose;
|
||||||
|
|
||||||
bool mPaused;
|
bool mPaused;
|
||||||
float mXScale;
|
float mXScale;
|
||||||
|
|
Загрузка…
Ссылка в новой задаче