Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2599)

Unified Diff: cc/CCSingleThreadProxy.cpp

Issue 10916292: Adaptively throttle texture uploads (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: cc_unittests passing again Created 8 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: cc/CCSingleThreadProxy.cpp
diff --git a/cc/CCSingleThreadProxy.cpp b/cc/CCSingleThreadProxy.cpp
index 0a52d64ba10f336e45e03085dc9fc46dd5f0e0ca..7e84194108cd09db78122a41c7a61bd04117c12c 100644
--- a/cc/CCSingleThreadProxy.cpp
+++ b/cc/CCSingleThreadProxy.cpp
@@ -16,6 +16,13 @@
using namespace WTF;
+namespace {
+
+// We don't need to split texture uploads into multiple batches if we are single threaded.
+const size_t maxPartialTextureUpdates = std::numeric_limits<size_t>::max();
+
+}
+
namespace cc {
PassOwnPtr<CCProxy> CCSingleThreadProxy::create(CCLayerTreeHost* layerTreeHost)
@@ -193,7 +200,7 @@ void CCSingleThreadProxy::doCommit(CCTextureUpdateQueue& queue)
// single thread mode. For correctness, loop until no more updates are
// pending.
while (queue.hasMoreUpdates())
- CCTextureUpdateController::updateTextures(m_layerTreeHostImpl->resourceProvider(), m_layerTreeHostImpl->renderer()->textureCopier(), m_layerTreeHostImpl->renderer()->textureUploader(), &queue, maxPartialTextureUpdates());
+ CCTextureUpdateController::updateTextures(m_layerTreeHostImpl->resourceProvider(), m_layerTreeHostImpl->renderer()->textureCopier(), m_layerTreeHostImpl->renderer()->textureUploader(), &queue, maxPartialTextureUpdates);
m_layerTreeHost->finishCommitOnImplThread(m_layerTreeHostImpl.get());
@@ -287,7 +294,7 @@ bool CCSingleThreadProxy::commitAndComposite()
}
CCTextureUpdateQueue queue;
- m_layerTreeHost->updateLayers(queue, m_layerTreeHostImpl->memoryAllocationLimitBytes());
+ m_layerTreeHost->updateLayers(queue, m_layerTreeHostImpl->memoryAllocationLimitBytes(), maxPartialTextureUpdates);
m_layerTreeHostImpl->resetContentsTexturesPurged();
m_layerTreeHost->willCommit();

Powered by Google App Engine
This is Rietveld 408576698