-
Notifications
You must be signed in to change notification settings - Fork 29.7k
Closed
Closed
Copy link
Labels
P1High-priority issues at the top of the work listHigh-priority issues at the top of the work liste: impellerImpeller rendering backend issues and features requestsImpeller rendering backend issues and features requestse: openglteam-engineOwned by Engine teamOwned by Engine teamtriaged-engineTriaged by Engine teamTriaged by Engine team
Description
Steps to reproduce
I was following a different issue with Impeller and Google Maps on PowerVR devices.
And saw it was merged into master, so I checked it out.
The map is now drawn correctly, but for some reason all my markers are flipped on the X-axis.
Sample code from: GoogleMapsFlutter package, but with a custom maker from an Icon.
(See code sample below)
Device information which I used:
- Productname: Galaxy Tab Active3
- model: SM-T575
- Versie One UI: 5.1.1
- Android-versie: 13
Expected results
See Video (Google Maps Marker with Impeller disabled)
Marker is drawn correctly.
Actual results
See video (Google Maps Marker with Impeller enabled)
Marker is drawn flipped on the x-axis.
Code sample
Code sample
import 'dart:async';
import 'dart:math';
import 'dart:ui';
import 'package:flutter/material.dart';
import 'package:google_maps_flutter/google_maps_flutter.dart';
void main() {
runApp(const MyApp());
}
class MyApp extends StatelessWidget {
const MyApp({super.key});
// This widget is the root of your application.
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Flutter Demo',
theme: ThemeData(
colorScheme: ColorScheme.fromSeed(seedColor: Colors.deepPurple),
useMaterial3: true,
),
home: const HomePage(),
);
}
}
class HomePage extends StatelessWidget {
const HomePage({super.key});
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('Google Maps Impeller'),
),
body: MapSample(),
);
}
}
class MapSample extends StatefulWidget {
const MapSample({super.key});
@override
State<MapSample> createState() => MapSampleState();
}
class MapSampleState extends State<MapSample> {
final Completer<GoogleMapController> _controller =
Completer<GoogleMapController>();
final Set<Marker> _markers = <Marker>{};
static const CameraPosition _kGooglePlex = CameraPosition(
target: LatLng(37.42796133580664, -122.085749655962),
zoom: 14.4746,
);
static const CameraPosition _kLake = CameraPosition(
bearing: 192.8334901395799,
target: LatLng(37.43296265331129, -122.08832357078792),
tilt: 59.440717697143555,
zoom: 19.151926040649414);
@override
Widget build(BuildContext context) {
return Scaffold(
body: GoogleMap(
markers: _markers,
mapType: MapType.hybrid,
initialCameraPosition: _kGooglePlex,
onMapCreated: (GoogleMapController controller) {
_controller.complete(controller);
},
),
floatingActionButton: FloatingActionButton.extended(
onPressed: _createMarker,
label: const Text('Create marker and show!'),
icon: const Icon(Icons.directions_boat),
),
);
}
Future<void> _createMarker() async {
final markerGenerator = MarkerIconGenerator(45.0);
final iconBitmap = await markerGenerator.createBitmapDescriptorFromIconData(
Icons.local_shipping,
Colors.black,
Colors.red,
Colors.white,
);
final marker = Marker(
markerId: MarkerId('1'),
position: LatLng(
_kLake.target.latitude,
_kLake.target.longitude,
),
infoWindow: InfoWindow(
title: 'The lake',
),
icon: iconBitmap,
);
setState(() {
_markers.clear();
_markers.add(marker);
});
final GoogleMapController controller = await _controller.future;
await controller.animateCamera(CameraUpdate.newCameraPosition(_kLake));
}
}
class MarkerIconGenerator {
final double _markerSize;
late double _circleStrokeWidth;
late double _circleOffset;
late double _outlineCircleWidth;
late double _fillCircleWidth;
late double _iconSize;
late double _iconOffset;
MarkerIconGenerator(this._markerSize) {
// Calculate marker dimensions
_circleStrokeWidth = _markerSize / 10.0;
_circleOffset = _markerSize / 2;
_outlineCircleWidth = _circleOffset - (_circleStrokeWidth / 2);
_fillCircleWidth = _markerSize / 2;
final outlineCircleInnerWidth = _markerSize - (2 * _circleStrokeWidth);
_iconSize = sqrt(pow(outlineCircleInnerWidth, 2) / 2);
final rectDiagonal = sqrt(2 * pow(_markerSize, 2));
final circleDistanceToCorners =
(rectDiagonal - outlineCircleInnerWidth) / 2;
_iconOffset = sqrt(pow(circleDistanceToCorners, 2) / 2);
}
/// Creates a BitmapDescriptor from an IconData
Future<BitmapDescriptor> createBitmapDescriptorFromIconData(
IconData iconData,
Color iconColor,
Color circleColor,
Color backgroundColor,
) async {
final pictureRecorder = PictureRecorder();
final canvas = Canvas(pictureRecorder);
_paintCircleFill(canvas, backgroundColor);
_paintCircleStroke(canvas, circleColor);
_paintIcon(canvas, iconColor, iconData);
final picture = pictureRecorder.endRecording();
final image = await picture.toImage(
_markerSize.round(),
_markerSize.round(),
);
final bytes = await image.toByteData(format: ImageByteFormat.png);
if (bytes == null) {
return BitmapDescriptor.defaultMarker;
}
return BitmapDescriptor.bytes(bytes.buffer.asUint8List());
}
/// Paints the icon background
void _paintCircleFill(Canvas canvas, Color color) {
final paint = Paint()
..style = PaintingStyle.fill
..color = color;
canvas.drawCircle(
Offset(_circleOffset, _circleOffset),
_fillCircleWidth,
paint,
);
}
/// Paints a circle around the icon
void _paintCircleStroke(Canvas canvas, Color color) {
final paint = Paint()
..style = PaintingStyle.stroke
..color = color
..strokeWidth = _circleStrokeWidth;
canvas.drawCircle(
Offset(_circleOffset, _circleOffset),
_outlineCircleWidth,
paint,
);
}
/// Paints the icon
void _paintIcon(Canvas canvas, Color color, IconData iconData) {
final textPainter = TextPainter(textDirection: TextDirection.ltr);
textPainter.text = TextSpan(
text: String.fromCharCode(iconData.codePoint),
style: TextStyle(
letterSpacing: 0.0,
fontSize: _iconSize,
fontFamily: iconData.fontFamily,
package: iconData.fontPackage,
color: color,
));
textPainter.layout();
textPainter.paint(canvas, Offset(_iconOffset, _iconOffset));
}
}
Screenshots or Video
Google Maps Marker with Impeller disabled
marker_icon_impeller_disabled.mp4
Google Maps Marker with Impeller enabled
marker_icon_impeller_enabled.mp4
Logs
Logs
[+6746 ms] I/google_maps_bug(32165): Background concurrent copying GC freed 19MB AllocSpace bytes, 215(15MB) LOS objects, 49% free, 15MB/31MB, paused 563us,108us total 168.614ms
[ +3 ms] D/OpenGLRenderer(32165): setSurface called with nullptr
[+1362 ms] E/FrameEvents(32165): updateAcquireFence: Did not find frame.
[ +23 ms] E/FrameEvents(32165): updateAcquireFence: Did not find frame.
[ +19 ms] E/FrameEvents(32165): updateAcquireFence: Did not find frame.
[ +7 ms] E/libEGL (32165): call to OpenGL ES API with no current context (logged once per thread)
[ +11 ms] E/FrameEvents(32165): updateAcquireFence: Did not find frame.
[ +19 ms] E/FrameEvents(32165): updateAcquireFence: Did not find frame.
[ +6 ms] E/FrameEvents(32165): updateAcquireFence: Did not find frame.
[ +13 ms] E/FrameEvents(32165): updateAcquireFence: Did not find frame.
[ +8 ms] W/ProxyAndroidLoggerBackend(32165): Too many Flogger logs received before configuration. Dropping old logs.
[ ] W/ProxyAndroidLoggerBackend(32165): Too many Flogger logs received before configuration. Dropping old logs.
[ +4 ms] W/ProxyAndroidLoggerBackend(32165): Too many Flogger logs received before configuration. Dropping old logs.
[ +1 ms] W/ProxyAndroidLoggerBackend(32165): Too many Flogger logs received before configuration. Dropping old logs.
[ +1 ms] W/ProxyAndroidLoggerBackend(32165): Too many Flogger logs received before configuration. Dropping old logs.
[ ] W/ProxyAndroidLoggerBackend(32165): Too many Flogger logs received before configuration. Dropping old logs.
[ ] E/FrameEvents(32165): updateAcquireFence: Did not find frame.
[ +1 ms] W/ProxyAndroidLoggerBackend(32165): Too many Flogger logs received before configuration. Dropping old logs.
[ ] W/ProxyAndroidLoggerBackend(32165): Too many Flogger logs received before configuration. Dropping old logs.
[ +5 ms] W/ProxyAndroidLoggerBackend(32165): Too many Flogger logs received before configuration. Dropping old logs.
[ +1 ms] W/ProxyAndroidLoggerBackend(32165): Too many Flogger logs received before configuration. Dropping old logs.
[ +1 ms] W/ProxyAndroidLoggerBackend(32165): Too many Flogger logs received before configuration. Dropping old logs.
[ ] W/ProxyAndroidLoggerBackend(32165): Too many Flogger logs received before configuration. Dropping old logs.
[ +4 ms] E/FrameEvents(32165): updateAcquireFence: Did not find frame.
[ +6 ms] W/ProxyAndroidLoggerBackend(32165): Too many Flogger logs received before configuration. Dropping old logs.
[ ] W/ProxyAndroidLoggerBackend(32165): Too many Flogger logs received before configuration. Dropping old logs.
[ +4 ms] W/ProxyAndroidLoggerBackend(32165): Too many Flogger logs received before configuration. Dropping old logs.
[ +1 ms] W/ProxyAndroidLoggerBackend(32165): Too many Flogger logs received before configuration. Dropping old logs.
[ +1 ms] W/ProxyAndroidLoggerBackend(32165): Too many Flogger logs received before configuration. Dropping old logs.
[ +1 ms] W/ProxyAndroidLoggerBackend(32165): Too many Flogger logs received before configuration. Dropping old logs.
[ +2 ms] E/FrameEvents(32165): updateAcquireFence: Did not find frame.
[ +5 ms] W/ProxyAndroidLoggerBackend(32165): Too many Flogger logs received before configuration. Dropping old logs.
[ +1 ms] W/ProxyAndroidLoggerBackend(32165): Too many Flogger logs received before configuration. Dropping old logs.
[ +2 ms] W/ProxyAndroidLoggerBackend(32165): Too many Flogger logs received before configuration. Dropping old logs.
[ ] W/ProxyAndroidLoggerBackend(32165): Too many Flogger logs received before configuration. Dropping old logs.
[ +7 ms] W/ProxyAndroidLoggerBackend(32165): Too many Flogger logs received before configuration. Dropping old logs.
[ ] W/ProxyAndroidLoggerBackend(32165): Too many Flogger logs received before configuration. Dropping old logs.
[ ] W/ProxyAndroidLoggerBackend(32165): Too many Flogger logs received before configuration. Dropping old logs.
[ +1 ms] E/FrameEvents(32165): updateAcquireFence: Did not find frame.
[ +5 ms] W/ProxyAndroidLoggerBackend(32165): Too many Flogger logs received before configuration. Dropping old logs.
[ +8 ms] E/FrameEvents(32165): updateAcquireFence: Did not find frame.
[ +8 ms] W/ProxyAndroidLoggerBackend(32165): Too many Flogger logs received before configuration. Dropping old logs.
[ +6 ms] E/FrameEvents(32165): updateAcquireFence: Did not find frame.
[ +9 ms] W/JavaCronetEngine(32165): using the fallback Cronet Engine implementation. Performance will suffer and many HTTP client features, including caching, will not work.
[ +7 ms] W/ProxyAndroidLoggerBackend(32165): Too many Flogger logs received before configuration. Dropping old logs.
[ ] E/FrameEvents(32165): updateAcquireFence: Did not find frame.
[ ] W/ProxyAndroidLoggerBackend(32165): Too many Flogger logs received before configuration. Dropping old logs.
[ ] W/ProxyAndroidLoggerBackend(32165): Too many Flogger logs received before configuration. Dropping old logs.
[ +15 ms] E/FrameEvents(32165): updateAcquireFence: Did not find frame.
[ +16 ms] E/FrameEvents(32165): updateAcquireFence: Did not find frame.
[ +15 ms] E/FrameEvents(32165): updateAcquireFence: Did not find frame.
[ +16 ms] E/FrameEvents(32165): updateAcquireFence: Did not find frame.
[ +16 ms] E/FrameEvents(32165): updateAcquireFence: Did not find frame.
[ +16 ms] E/FrameEvents(32165): updateAcquireFence: Did not find frame.
[ +16 ms] E/FrameEvents(32165): updateAcquireFence: Did not find frame.
[ +16 ms] E/FrameEvents(32165): updateAcquireFence: Did not find frame.
[ +17 ms] E/FrameEvents(32165): updateAcquireFence: Did not find frame.
[ +7 ms] W/ProxyAndroidLoggerBackend(32165): Too many Flogger logs received before configuration. Dropping old logs.
[ ] W/ProxyAndroidLoggerBackend(32165): Too many Flogger logs received before configuration. Dropping old logs.
[ +1 ms] W/ProxyAndroidLoggerBackend(32165): Too many Flogger logs received before configuration. Dropping old logs.
[ ] W/ProxyAndroidLoggerBackend(32165): Too many Flogger logs received before configuration. Dropping old logs.
[ +1 ms] W/ProxyAndroidLoggerBackend(32165): Too many Flogger logs received before configuration. Dropping old logs.
[ ] W/ProxyAndroidLoggerBackend(32165): Too many Flogger logs received before configuration. Dropping old logs.
[ +3 ms] W/ProxyAndroidLoggerBackend(32165): Too many Flogger logs received before configuration. Dropping old logs.
[ ] W/ProxyAndroidLoggerBackend(32165): Too many Flogger logs received before configuration. Dropping old logs.
[ ] E/FrameEvents(32165): updateAcquireFence: Did not find frame.
[ +2 ms] W/ProxyAndroidLoggerBackend(32165): Too many Flogger logs received before configuration. Dropping old logs.
[ ] W/ProxyAndroidLoggerBackend(32165): Too many Flogger logs received before configuration. Dropping old logs.
[ +1 ms] W/ProxyAndroidLoggerBackend(32165): Too many Flogger logs received before configuration. Dropping old logs.
[ ] W/ProxyAndroidLoggerBackend(32165): Too many Flogger logs received before configuration. Dropping old logs.
[ +6 ms] W/ProxyAndroidLoggerBackend(32165): Too many Flogger logs received before configuration. Dropping old logs.
[ ] W/ProxyAndroidLoggerBackend(32165): Too many Flogger logs received before configuration. Dropping old logs.
[ +1 ms] W/ProxyAndroidLoggerBackend(32165): Too many Flogger logs received before configuration. Dropping old logs.
[ ] W/ProxyAndroidLoggerBackend(32165): Too many Flogger logs received before configuration. Dropping old logs.
[ +1 ms] W/ProxyAndroidLoggerBackend(32165): Too many Flogger logs received before configuration. Dropping old logs.
[ +1 ms] W/ProxyAndroidLoggerBackend(32165): Too many Flogger logs received before configuration. Dropping old logs.
[ ] E/FrameEvents(32165): updateAcquireFence: Did not find frame.
[ ] W/ProxyAndroidLoggerBackend(32165): Too many Flogger logs received before configuration. Dropping old logs.
[ ] W/ProxyAndroidLoggerBackend(32165): Too many Flogger logs received before configuration. Dropping old logs.
[ +1 ms] W/ProxyAndroidLoggerBackend(32165): Too many Flogger logs received before configuration. Dropping old logs.
[ ] W/ProxyAndroidLoggerBackend(32165): Too many Flogger logs received before configuration. Dropping old logs.
[ +2 ms] W/ProxyAndroidLoggerBackend(32165): Too many Flogger logs received before configuration. Dropping old logs.
[ ] W/ProxyAndroidLoggerBackend(32165): Too many Flogger logs received before configuration. Dropping old logs.
[ +1 ms] W/ProxyAndroidLoggerBackend(32165): Too many Flogger logs received before configuration. Dropping old logs.
[ ] W/ProxyAndroidLoggerBackend(32165): Too many Flogger logs received before configuration. Dropping old logs.
[ +1 ms] W/ProxyAndroidLoggerBackend(32165): Too many Flogger logs received before configuration. Dropping old logs.
[ ] W/ProxyAndroidLoggerBackend(32165): Too many Flogger logs received before configuration. Dropping old logs.
[ +1 ms] W/ProxyAndroidLoggerBackend(32165): Too many Flogger logs received before configuration. Dropping old logs.
[ ] W/ProxyAndroidLoggerBackend(32165): Too many Flogger logs received before configuration. Dropping old logs.
[ +2 ms] W/ProxyAndroidLoggerBackend(32165): Too many Flogger logs received before configuration. Dropping old logs.
[ ] W/ProxyAndroidLoggerBackend(32165): Too many Flogger logs received before configuration. Dropping old logs.
[ +2 ms] W/ProxyAndroidLoggerBackend(32165): Too many Flogger logs received before configuration. Dropping old logs.
[ ] W/ProxyAndroidLoggerBackend(32165): Too many Flogger logs received before configuration. Dropping old logs.
[ ] E/FrameEvents(32165): updateAcquireFence: Did not find frame.
[ ] W/ProxyAndroidLoggerBackend(32165): Too many Flogger logs received before configuration. Dropping old logs.
[ ] W/ProxyAndroidLoggerBackend(32165): Too many Flogger logs received before configuration. Dropping old logs.
[ +3 ms] W/ProxyAndroidLoggerBackend(32165): Too many Flogger logs received before configuration. Dropping old logs.
[ ] W/ProxyAndroidLoggerBackend(32165): Too many Flogger logs received before configuration. Dropping old logs.
[ +1 ms] W/ProxyAndroidLoggerBackend(32165): Too many Flogger logs received before configuration. Dropping old logs.
[ ] W/ProxyAndroidLoggerBackend(32165): Too many Flogger logs received before configuration. Dropping old logs.
[ +3 ms] W/ProxyAndroidLoggerBackend(32165): Too many Flogger logs received before configuration. Dropping old logs.
[ ] W/ProxyAndroidLoggerBackend(32165): Too many Flogger logs received before configuration. Dropping old logs.
[ ] W/ProxyAndroidLoggerBackend(32165): Too many Flogger logs received before configuration. Dropping old logs.
[ ] W/ProxyAndroidLoggerBackend(32165): Too many Flogger logs received before configuration. Dropping old logs.
[ +2 ms] W/ProxyAndroidLoggerBackend(32165): Too many Flogger logs received before configuration. Dropping old logs.
[ ] W/ProxyAndroidLoggerBackend(32165): Too many Flogger logs received before configuration. Dropping old logs.
[ +2 ms] W/ProxyAndroidLoggerBackend(32165): Too many Flogger logs received before configuration. Dropping old logs.
[ ] W/ProxyAndroidLoggerBackend(32165): Too many Flogger logs received before configuration. Dropping old logs.
[ ] E/FrameEvents(32165): updateAcquireFence: Did not find frame.
[ +1 ms] W/ProxyAndroidLoggerBackend(32165): Too many Flogger logs received before configuration. Dropping old logs.
[ ] W/ProxyAndroidLoggerBackend(32165): Too many Flogger logs received before configuration. Dropping old logs.
[ +2 ms] W/ProxyAndroidLoggerBackend(32165): Too many Flogger logs received before configuration. Dropping old logs.
[ ] W/ProxyAndroidLoggerBackend(32165): Too many Flogger logs received before configuration. Dropping old logs.
[ +2 ms] W/ProxyAndroidLoggerBackend(32165): Too many Flogger logs received before configuration. Dropping old logs.
[ +2 ms] W/ProxyAndroidLoggerBackend(32165): Too many Flogger logs received before configuration. Dropping old logs.
[ ] W/ProxyAndroidLoggerBackend(32165): Too many Flogger logs received before configuration. Dropping old logs.
[ ] W/ProxyAndroidLoggerBackend(32165): Too many Flogger logs received before configuration. Dropping old logs.
[ +1 ms] W/ProxyAndroidLoggerBackend(32165): Too many Flogger logs received before configuration. Dropping old logs.
[ ] W/ProxyAndroidLoggerBackend(32165): Too many Flogger logs received before configuration. Dropping old logs.
[ +1 ms] W/ProxyAndroidLoggerBackend(32165): Too many Flogger logs received before configuration. Dropping old logs.
[ +2 ms] W/ProxyAndroidLoggerBackend(32165): Too many Flogger logs received before configuration. Dropping old logs.
[ ] E/FrameEvents(32165): updateAcquireFence: Did not find frame.
[ ] W/ProxyAndroidLoggerBackend(32165): Too many Flogger logs received before configuration. Dropping old logs.
[ ] W/ProxyAndroidLoggerBackend(32165): Too many Flogger logs received before configuration. Dropping old logs.
[ +7 ms] W/ProxyAndroidLoggerBackend(32165): Too many Flogger logs received before configuration. Dropping old logs.
[ ] W/ProxyAndroidLoggerBackend(32165): Too many Flogger logs received before configuration. Dropping old logs.
[ +1 ms] W/ProxyAndroidLoggerBackend(32165): Too many Flogger logs received before configuration. Dropping old logs.
[ ] W/ProxyAndroidLoggerBackend(32165): Too many Flogger logs received before configuration. Dropping old logs.
[ +5 ms] W/ProxyAndroidLoggerBackend(32165): Too many Flogger logs received before configuration. Dropping old logs.
[ ] W/ProxyAndroidLoggerBackend(32165): Too many Flogger logs received before configuration. Dropping old logs.
[ ] E/FrameEvents(32165): updateAcquireFence: Did not find frame.
[ +1 ms] W/ProxyAndroidLoggerBackend(32165): Too many Flogger logs received before configuration. Dropping old logs.
[ ] W/ProxyAndroidLoggerBackend(32165): Too many Flogger logs received before configuration. Dropping old logs.
[ +15 ms] E/FrameEvents(32165): updateAcquireFence: Did not find frame.
[ +15 ms] E/FrameEvents(32165): updateAcquireFence: Did not find frame.
[ +1 ms] W/ProxyAndroidLoggerBackend(32165): Too many Flogger logs received before configuration. Dropping old logs.
[ ] W/ProxyAndroidLoggerBackend(32165): Too many Flogger logs received before configuration. Dropping old logs.
[ +2 ms] W/ProxyAndroidLoggerBackend(32165): Too many Flogger logs received before configuration. Dropping old logs.
[ ] W/ProxyAndroidLoggerBackend(32165): Too many Flogger logs received before configuration. Dropping old logs.
[ +2 ms] W/ProxyAndroidLoggerBackend(32165): Too many Flogger logs received before configuration. Dropping old logs.
[ ] W/ProxyAndroidLoggerBackend(32165): Too many Flogger logs received before configuration. Dropping old logs.
[ +2 ms] W/ProxyAndroidLoggerBackend(32165): Too many Flogger logs received before configuration. Dropping old logs.
[ ] W/ProxyAndroidLoggerBackend(32165): Too many Flogger logs received before configuration. Dropping old logs.
[ +1 ms] W/ProxyAndroidLoggerBackend(32165): Too many Flogger logs received before configuration. Dropping old logs.
[ ] W/ProxyAndroidLoggerBackend(32165): Too many Flogger logs received before configuration. Dropping old logs.
[ +3 ms] W/ProxyAndroidLoggerBackend(32165): Too many Flogger logs received before configuration. Dropping old logs.
[ ] W/ProxyAndroidLoggerBackend(32165): Too many Flogger logs received before configuration. Dropping old logs.
[ ] E/FrameEvents(32165): updateAcquireFence: Did not find frame.
[ +1 ms] W/ProxyAndroidLoggerBackend(32165): Too many Flogger logs received before configuration. Dropping old logs.
[ ] W/ProxyAndroidLoggerBackend(32165): Too many Flogger logs received before configuration. Dropping old logs.
[ +2 ms] W/ProxyAndroidLoggerBackend(32165): Too many Flogger logs received before configuration. Dropping old logs.
[ ] W/ProxyAndroidLoggerBackend(32165): Too many Flogger logs received before configuration. Dropping old logs.
[ +2 ms] W/ProxyAndroidLoggerBackend(32165): Too many Flogger logs received before configuration. Dropping old logs.
[ ] W/ProxyAndroidLoggerBackend(32165): Too many Flogger logs received before configuration. Dropping old logs.
[ +3 ms] W/ProxyAndroidLoggerBackend(32165): Too many Flogger logs received before configuration. Dropping old logs.
[ ] W/ProxyAndroidLoggerBackend(32165): Too many Flogger logs received before configuration. Dropping old logs.
[ +2 ms] W/ProxyAndroidLoggerBackend(32165): Too many Flogger logs received before configuration. Dropping old logs.
[ ] W/ProxyAndroidLoggerBackend(32165): Too many Flogger logs received before configuration. Dropping old logs.
[ +1 ms] E/FrameEvents(32165): updateAcquireFence: Did not find frame.
[ ] W/ProxyAndroidLoggerBackend(32165): Too many Flogger logs received before configuration. Dropping old logs.
[ ] W/ProxyAndroidLoggerBackend(32165): Too many Flogger logs received before configuration. Dropping old logs.
[ +1 ms] W/ProxyAndroidLoggerBackend(32165): Too many Flogger logs received before configuration. Dropping old logs.
[ ] W/ProxyAndroidLoggerBackend(32165): Too many Flogger logs received before configuration. Dropping old logs.
[ +1 ms] W/ProxyAndroidLoggerBackend(32165): Too many Flogger logs received before configuration. Dropping old logs.
[ ] W/ProxyAndroidLoggerBackend(32165): Too many Flogger logs received before configuration. Dropping old logs.
[ +1 ms] W/ProxyAndroidLoggerBackend(32165): Too many Flogger logs received before configuration. Dropping old logs.
[ ] W/ProxyAndroidLoggerBackend(32165): Too many Flogger logs received before configuration. Dropping old logs.
[ +1 ms] W/ProxyAndroidLoggerBackend(32165): Too many Flogger logs received before configuration. Dropping old logs.
[ ] W/ProxyAndroidLoggerBackend(32165): Too many Flogger logs received before configuration. Dropping old logs.
[ +3 ms] W/ProxyAndroidLoggerBackend(32165): Too many Flogger logs received before configuration. Dropping old logs.
[ ] W/ProxyAndroidLoggerBackend(32165): Too many Flogger logs received before configuration. Dropping old logs.
[ +1 ms] W/ProxyAndroidLoggerBackend(32165): Too many Flogger logs received before configuration. Dropping old logs.
[ ] W/ProxyAndroidLoggerBackend(32165): Too many Flogger logs received before configuration. Dropping old logs.
[ ] E/FrameEvents(32165): updateAcquireFence: Did not find frame.
[ +1 ms] W/ProxyAndroidLoggerBackend(32165): Too many Flogger logs received before configuration. Dropping old logs.
[ ] W/ProxyAndroidLoggerBackend(32165): Too many Flogger logs received before configuration. Dropping old logs.
[ +2 ms] W/ProxyAndroidLoggerBackend(32165): Too many Flogger logs received before configuration. Dropping old logs.
[ ] W/ProxyAndroidLoggerBackend(32165): Too many Flogger logs received before configuration. Dropping old logs.
[ +2 ms] W/ProxyAndroidLoggerBackend(32165): Too many Flogger logs received before configuration. Dropping old logs.
[ ] W/ProxyAndroidLoggerBackend(32165): Too many Flogger logs received before configuration. Dropping old logs.
[ +1 ms] W/ProxyAndroidLoggerBackend(32165): Too many Flogger logs received before configuration. Dropping old logs.
[ ] W/ProxyAndroidLoggerBackend(32165): Too many Flogger logs received before configuration. Dropping old logs.
[ +2 ms] W/ProxyAndroidLoggerBackend(32165): Too many Flogger logs received before configuration. Dropping old logs.
[ ] W/ProxyAndroidLoggerBackend(32165): Too many Flogger logs received before configuration. Dropping old logs.
[ +1 ms] W/ProxyAndroidLoggerBackend(32165): Too many Flogger logs received before configuration. Dropping old logs.
[ ] W/ProxyAndroidLoggerBackend(32165): Too many Flogger logs received before configuration. Dropping old logs.
[ +1 ms] E/FrameEvents(32165): updateAcquireFence: Did not find frame.
[ +1 ms] W/ProxyAndroidLoggerBackend(32165): Too many Flogger logs received before configuration. Dropping old logs.
[ ] W/ProxyAndroidLoggerBackend(32165): Too many Flogger logs received before configuration. Dropping old logs.
[ +1 ms] W/ProxyAndroidLoggerBackend(32165): Too many Flogger logs received before configuration. Dropping old logs.
[ +1 ms] W/ProxyAndroidLoggerBackend(32165): Too many Flogger logs received before configuration. Dropping old logs.
[ +1 ms] W/ProxyAndroidLoggerBackend(32165): Too many Flogger logs received before configuration. Dropping old logs.
[ ] W/ProxyAndroidLoggerBackend(32165): Too many Flogger logs received before configuration. Dropping old logs.
[ +1 ms] W/ProxyAndroidLoggerBackend(32165): Too many Flogger logs received before configuration. Dropping old logs.
[ ] W/ProxyAndroidLoggerBackend(32165): Too many Flogger logs received before configuration. Dropping old logs.
[ +2 ms] W/ProxyAndroidLoggerBackend(32165): Too many Flogger logs received before configuration. Dropping old logs.
[ ] W/ProxyAndroidLoggerBackend(32165): Too many Flogger logs received before configuration. Dropping old logs.
[ +1 ms] W/ProxyAndroidLoggerBackend(32165): Too many Flogger logs received before configuration. Dropping old logs.
[ ] W/ProxyAndroidLoggerBackend(32165): Too many Flogger logs received before configuration. Dropping old logs.
[ +2 ms] W/ProxyAndroidLoggerBackend(32165): Too many Flogger logs received before configuration. Dropping old logs.
[ ] W/ProxyAndroidLoggerBackend(32165): Too many Flogger logs received before configuration. Dropping old logs.
[ +2 ms] E/FrameEvents(32165): updateAcquireFence: Did not find frame.
[ ] W/ProxyAndroidLoggerBackend(32165): Too many Flogger logs received before configuration. Dropping old logs.
[ ] W/ProxyAndroidLoggerBackend(32165): Too many Flogger logs received before configuration. Dropping old logs.
[ +1 ms] W/ProxyAndroidLoggerBackend(32165): Too many Flogger logs received before configuration. Dropping old logs.
[ ] W/ProxyAndroidLoggerBackend(32165): Too many Flogger logs received before configuration. Dropping old logs.
[ +2 ms] W/ProxyAndroidLoggerBackend(32165): Too many Flogger logs received before configuration. Dropping old logs.
[ ] W/ProxyAndroidLoggerBackend(32165): Too many Flogger logs received before configuration. Dropping old logs.
[ +11 ms] E/FrameEvents(32165): updateAcquireFence: Did not find frame.
[ +3 ms] W/ProxyAndroidLoggerBackend(32165): Too many Flogger logs received before configuration. Dropping old logs.
[ ] W/ProxyAndroidLoggerBackend(32165): Too many Flogger logs received before configuration. Dropping old logs.
[ +12 ms] E/FrameEvents(32165): updateAcquireFence: Did not find frame.
[ +13 ms] W/ProxyAndroidLoggerBackend(32165): Too many Flogger logs received before configuration. Dropping old logs.
[ ] W/ProxyAndroidLoggerBackend(32165): Too many Flogger logs received before configuration. Dropping old logs.
[ +2 ms] E/FrameEvents(32165): updateAcquireFence: Did not find frame.
[ +4 ms] W/ProxyAndroidLoggerBackend(32165): Too many Flogger logs received before configuration. Dropping old logs.
[ ] W/ProxyAndroidLoggerBackend(32165): Too many Flogger logs received before configuration. Dropping old logs.
[ +11 ms] E/FrameEvents(32165): updateAcquireFence: Did not find frame.
[ +9 ms] W/ProxyAndroidLoggerBackend(32165): Too many Flogger logs received before configuration. Dropping old logs.
[ ] W/ProxyAndroidLoggerBackend(32165): Too many Flogger logs received before configuration. Dropping old logs.
[ +7 ms] E/FrameEvents(32165): updateAcquireFence: Did not find frame.
[ +4 ms] W/ProxyAndroidLoggerBackend(32165): Too many Flogger logs received before configuration. Dropping old logs.
[ ] W/ProxyAndroidLoggerBackend(32165): Too many Flogger logs received before configuration. Dropping old logs.
[ +12 ms] E/FrameEvents(32165): updateAcquireFence: Did not find frame.
[ +3 ms] W/ProxyAndroidLoggerBackend(32165): Too many Flogger logs received before configuration. Dropping old logs.
[ ] W/ProxyAndroidLoggerBackend(32165): Too many Flogger logs received before configuration. Dropping old logs.
[ ] W/ProxyAndroidLoggerBackend(32165): Too many Flogger logs received before configuration. Dropping old logs.
[ +4 ms] W/ProxyAndroidLoggerBackend(32165): Too many Flogger logs received before configuration. Dropping old logs.
[ +6 ms] E/FrameEvents(32165): updateAcquireFence: Did not find frame.
[ +18 ms] E/FrameEvents(32165): updateAcquireFence: Did not find frame.
[ +14 ms] E/FrameEvents(32165): updateAcquireFence: Did not find frame.
[ +17 ms] E/FrameEvents(32165): updateAcquireFence: Did not find frame.
[ +15 ms] E/FrameEvents(32165): updateAcquireFence: Did not find frame.
[ +16 ms] E/FrameEvents(32165): updateAcquireFence: Did not find frame.
[ +16 ms] E/FrameEvents(32165): updateAcquireFence: Did not find frame.
[ +16 ms] E/FrameEvents(32165): updateAcquireFence: Did not find frame.
[ +17 ms] E/FrameEvents(32165): updateAcquireFence: Did not find frame.
[ +17 ms] E/FrameEvents(32165): updateAcquireFence: Did not find frame.
[ +16 ms] E/FrameEvents(32165): updateAcquireFence: Did not find frame.
[ +16 ms] E/FrameEvents(32165): updateAcquireFence: Did not find frame.
[ +17 ms] E/FrameEvents(32165): updateAcquireFence: Did not find frame.
[ +411 ms] W/ProxyAndroidLoggerBackend(32165): Too many Flogger logs received before configuration. Dropping old logs.
[ +1 ms] W/ProxyAndroidLoggerBackend(32165): Too many Flogger logs received before configuration. Dropping old logs.
[ ] W/ProxyAndroidLoggerBackend(32165): Too many Flogger logs received before configuration. Dropping old logs.
[ ] W/ProxyAndroidLoggerBackend(32165): Too many Flogger logs received before configuration. Dropping old logs.
[ ] W/ProxyAndroidLoggerBackend(32165): Too many Flogger logs received before configuration. Dropping old logs.
[ ] W/ProxyAndroidLoggerBackend(32165): Too many Flogger logs received before configuration. Dropping old logs.
[ +108 ms] W/ProxyAndroidLoggerBackend(32165): Too many Flogger logs received before configuration. Dropping old logs.
[ ] W/ProxyAndroidLoggerBackend(32165): Too many Flogger logs received before configuration. Dropping old logs.
[ ] W/ProxyAndroidLoggerBackend(32165): Too many Flogger logs received before configuration. Dropping old logs.
Flutter Doctor output
Doctor output
[√] Flutter (Channel master, 3.30.0-1.0.pre.175, on Microsoft Windows [Version 10.0.26100.3194], locale nl-BE) [5,5s]
• Flutter version 3.30.0-1.0.pre.175 on channel master at C:\Data\flutter
• Upstream repository https://github.com/flutter/flutter.git
• Framework revision 60a7716159 (9 hours ago), 2025-02-14 02:11:04 -0500
• Engine revision 60a7716159
• Dart version 3.8.0 (build 3.8.0-91.0.dev)
• DevTools version 2.43.0
[√] Windows Version (11 Pro 64-bit, 24H2, 2009) [3,3s]
[√] Android toolchain - develop for Android devices (Android SDK version 35.0.0) [2,4s]
• Android SDK at C:\Users\Jimmy Szeles\AppData\Local\Android\sdk
• Platform android-35, build-tools 35.0.0
• Java binary at: C:\Program Files\Android\Android Studio\jbr\bin\java
This is the JDK bundled with the latest Android Studio installation on this machine.
To manually set the JDK path, use: `flutter config --jdk-dir="path/to/jdk"`.
• Java version OpenJDK Runtime Environment (build 21.0.5+-12932927-b750.29)
• All Android licenses accepted.
[√] Chrome - develop for the web [295ms]
• Chrome at C:\Program Files\Google\Chrome\Application\chrome.exe
[√] Visual Studio - develop Windows apps (Visual Studio Community 2022 17.10.4) [294ms]
• Visual Studio at C:\Program Files\Microsoft Visual Studio\2022\Community
• Visual Studio Community 2022 version 17.10.35027.167
• Windows 10 SDK version 10.0.22621.0
[√] Android Studio (version 2024.2) [16ms]
• Android Studio at C:\Program Files\Android\Android Studio
• Flutter plugin can be installed from:
https://plugins.jetbrains.com/plugin/9212-flutter
• Dart plugin can be installed from:
https://plugins.jetbrains.com/plugin/6351-dart
• Java version OpenJDK Runtime Environment (build 21.0.5+-12932927-b750.29)
[√] VS Code (version 1.97.2) [15ms]
• VS Code at C:\Users\Jimmy Szeles\AppData\Local\Programs\Microsoft VS Code
• Flutter extension version 3.104.0
[√] Connected device (4 available) [410ms]
• SM T575 (mobile) • R52W1036EXD • android-arm64 • Android 13 (API 33)
• Windows (desktop) • windows • windows-x64 • Microsoft Windows [Version 10.0.26100.3194]
• Chrome (web) • chrome • web-javascript • Google Chrome 132.0.6834.160
• Edge (web) • edge • web-javascript • Microsoft Edge 133.0.3065.59
[√] Network resources [1.640ms]
• All expected network resources are available.
• No issues found!Metadata
Metadata
Assignees
Labels
P1High-priority issues at the top of the work listHigh-priority issues at the top of the work liste: impellerImpeller rendering backend issues and features requestsImpeller rendering backend issues and features requestse: openglteam-engineOwned by Engine teamOwned by Engine teamtriaged-engineTriaged by Engine teamTriaged by Engine team