зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1057645 - Update Frame Uniformity Tool to use APZC metrics. r=botond
CLOSED TREE
This commit is contained in:
Родитель
82c4993d66
Коммит
ff234cdc98
|
@ -22,6 +22,7 @@
|
|||
#include "mozilla/layers/Effects.h" // for Effect, EffectChain, etc
|
||||
#include "mozilla/layers/TextureHost.h" // for CompositingRenderTarget
|
||||
#include "mozilla/layers/AsyncPanZoomController.h" // for AsyncPanZoomController
|
||||
#include "mozilla/layers/AsyncCompositionManager.h" // for ViewTransform
|
||||
#include "mozilla/mozalloc.h" // for operator delete, etc
|
||||
#include "nsAutoPtr.h" // for nsRefPtr
|
||||
#include "nsDebug.h" // for NS_ASSERTION
|
||||
|
@ -86,16 +87,6 @@ GetOpaqueRect(Layer* aLayer)
|
|||
return result;
|
||||
}
|
||||
|
||||
static gfx::Point GetScrollData(Layer* aLayer) {
|
||||
gfx::Matrix matrix;
|
||||
if (aLayer->GetLocalTransform().Is2D(&matrix)) {
|
||||
return matrix.GetTranslation();
|
||||
}
|
||||
|
||||
gfx::Point origin;
|
||||
return origin;
|
||||
}
|
||||
|
||||
static void DrawLayerInfo(const RenderTargetIntRect& aClipRect,
|
||||
LayerManagerComposite* aManager,
|
||||
Layer* aLayer)
|
||||
|
@ -119,7 +110,6 @@ static void DrawLayerInfo(const RenderTargetIntRect& aClipRect,
|
|||
aManager->GetTextRenderer()->RenderText(ss.str().c_str(), gfx::IntPoint(topLeft.x, topLeft.y),
|
||||
aLayer->GetEffectiveTransform(), 16,
|
||||
maxWidth);
|
||||
|
||||
}
|
||||
|
||||
static void PrintUniformityInfo(Layer* aLayer)
|
||||
|
@ -135,12 +125,16 @@ static void PrintUniformityInfo(Layer* aLayer)
|
|||
return;
|
||||
}
|
||||
|
||||
const LayerPoint scrollOffset = frameMetrics.GetScrollOffsetInLayerPixels();
|
||||
const gfx::Point layerTransform = GetScrollData(aLayer);
|
||||
const gfx::Point layerScroll = scrollOffset.ToUnknownPoint() - layerTransform;
|
||||
|
||||
printf_stderr("UniformityInfo Layer_Move %llu %p %f, %f\n",
|
||||
TimeStamp::Now(), aLayer, layerScroll.x, layerScroll.y);
|
||||
AsyncPanZoomController* apzc = aLayer->GetAsyncPanZoomController();
|
||||
if (apzc) {
|
||||
ViewTransform asyncTransform, overscrollTransform;
|
||||
ScreenPoint scrollOffset;
|
||||
apzc->SampleContentTransformForFrame(&asyncTransform,
|
||||
scrollOffset,
|
||||
&overscrollTransform);
|
||||
printf_stderr("UniformityInfo Layer_Move %llu %p %f, %f\n",
|
||||
TimeStamp::Now(), aLayer, scrollOffset.x.value, scrollOffset.y.value);
|
||||
}
|
||||
}
|
||||
|
||||
/* all of the per-layer prepared data we need to maintain */
|
||||
|
|
Загрузка…
Ссылка в новой задаче