提交 c3fb88fb 编写于 作者: A Adam Barth

Merge pull request #813 from abarth/device_pixel_ratio

Don't freeze devicePixelRatio at startup
......@@ -40,7 +40,7 @@ class SkyBinding {
sky.view.setMetricsChangedCallback(_handleMetricsChanged);
scheduler.init();
if (renderViewOverride == null) {
_renderView = new RenderView(child: root, devicePixelRatio: sky.view.devicePixelRatio);
_renderView = new RenderView(child: root);
_renderView.attach();
_renderView.rootConstraints = _createConstraints();
_renderView.scheduleInitialFrame();
......
......@@ -22,13 +22,11 @@ class ViewConstraints {
class RenderView extends RenderObject with RenderObjectWithChildMixin<RenderBox> {
RenderView({
RenderBox child,
this.devicePixelRatio,
this.timeForRotation: const Duration(microseconds: 83333)
}) {
this.child = child;
}
final double devicePixelRatio;
Duration timeForRotation;
Size _size = Size.zero;
......@@ -46,10 +44,14 @@ class RenderView extends RenderObject with RenderObjectWithChildMixin<RenderBox>
markNeedsLayout();
}
Matrix4 get _logicalToDeviceTransform {
double devicePixelRatio = sky.view.devicePixelRatio;
return new Matrix4.diagonal3Values(devicePixelRatio, devicePixelRatio, 1.0);
}
void scheduleInitialFrame() {
Matrix4 logicalToDeviceZoom = new Matrix4.diagonal3Values(devicePixelRatio, devicePixelRatio, 1.0);
scheduleInitialLayout();
scheduleInitialPaint(new TransformLayer(transform: logicalToDeviceZoom));
scheduleInitialPaint(new TransformLayer(transform: _logicalToDeviceTransform));
scheduler.ensureVisualUpdate();
}
......@@ -98,6 +100,7 @@ class RenderView extends RenderObject with RenderObjectWithChildMixin<RenderBox>
void compositeFrame() {
sky.tracing.begin('RenderView.compositeFrame');
try {
(layer as TransformLayer).transform = _logicalToDeviceTransform;
Rect bounds = Point.origin & (size * sky.view.devicePixelRatio);
sky.SceneBuilder builder = new sky.SceneBuilder(bounds);
layer.addToScene(builder, Offset.zero);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册