Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

How Flutter Renders the Frame in Real Time? #148594

Closed
1 task done
mochunshuang opened this issue May 18, 2024 · 1 comment
Closed
1 task done

How Flutter Renders the Frame in Real Time? #148594

mochunshuang opened this issue May 18, 2024 · 1 comment
Labels
from: performance template Issues created via a performance issue template

Comments

@mochunshuang
Copy link

Steps to reproduce

I passed the frame into Dart through the FFI callback function, but the rendering speed of Dart is very slow. I use the Dart technique:
ui: StatefulWidget+CustomPainter+ChangeNotifierProvider
data: decodeImageFromPixels=>ui.Image canvas.drawImage(_image, Offset.zero, Paint());
Did I choose the wrong technology? Window app

c side:

MCSLOG_INFO("m_callBack(ctx->frame->data)..."); m_callBack(ctx->frame->data);

dart side:

static void callBackFromCxx(Pointer<Pointer> data) {
_instance!.update(
fillPixelsWithRGBFrame(data, _instance!._width, _instance!._height));
}

static Uint8List fillPixelsWithRGBFrame(
Pointer<Pointer> data, int width, int height) {
int frameSize = width * height * 3;
Uint8List pixels = Uint8List(width * height * 4);

for (int i = 0; i < frameSize; i += 3) {
  int r = data.value[i];
  int g = data.value[i + 1];
  int b = data.value[i + 2];

  int pixelIndex = i ~/ 3 * 4; 

  pixels[pixelIndex] = r;
  pixels[pixelIndex + 1] = g;
  pixels[pixelIndex + 2] = b;
  pixels[pixelIndex + 3] = 255; 
}
return pixels;

}

void update(Uint8List byte) async {
printWithTime("update...1");
Completer<ui.Image> c = Completer<ui.Image>();
ui.decodeImageFromPixels(
byte, _width, _height, ui.PixelFormat.rgba8888, (a) => c.complete(a));
ui.Image image = await c.future;
printWithTime("update...2");
_imageQueue.addLast(image);
// 一次更新两次,太慢了
notifyListeners();
printWithTime("update...3");
}

class _ImagetWidgetSate extends State {
@OverRide
Widget build(BuildContext context) {
return Consumer(builder: (context, model, child) {
printWithTime('build......: ${model._imageQueue.length}');
return CustomPaint(
painter: ImagePainter(model._imageQueue.length > 1
? model._imageQueue.removeFirst()
: model._imageQueue.first),
);
});
}
}

log: It can be seen that the delay increases with time,add start render on 33 frame,_imageQueue.length==33
flutter: [9:37:21.713] update...2
flutter: [9:37:21.713] update...3
flutter: [9:37:21.714] update...2
flutter: [9:37:21.714] update...3
flutter: [9:37:21.714] update...2
flutter: [9:37:21.715] update...3
flutter: [9:37:21.715] update...2
flutter: [9:37:21.715] update...3
flutter: [9:37:21.716] update...2
flutter: [9:37:21.716] update...3
flutter: [9:37:21.717] update...2
flutter: [9:37:21.717] update...3
flutter: [9:37:21.717] update...2
flutter: [9:37:21.717] update...3
flutter: [9:37:21.718] update...2
flutter: [9:37:21.718] update...3
flutter: [9:37:21.718] update...2
flutter: [9:37:21.718] update...3
flutter: [9:37:21.720] build......: 33
[2024-05-18 09:37:21.730] [info] [AVClient.cpp:864] m_callBack(ctx->frame->data)...
flutter: [9:37:21.735] update...1
.........
..........
flutter: [9:37:22.391] update...2
flutter: [9:37:22.391] update...3
flutter: [9:37:22.408] build......: 37
[2024-05-18 09:37:22.420] [info] [AVClient.cpp:864] m_callBack(ctx->frame->data)...
flutter: [9:37:22.423] update...1
[2024-05-18 09:37:22.450] [info] [AVClient.cpp:864] m_callBack(ctx->frame->data)...
flutter: [9:37:22.450] update...2
flutter: [9:37:22.450] update...3
flutter: [9:37:22.454] update...1
flutter: [9:37:22.457] update...2
flutter: [9:37:22.457] update...3
flutter: [9:37:22.458] build......: 38
[2024-05-18 09:37:22.500] [info] [AVClient.cpp:864] m_callBack(ctx->frame->data)...
flutter: [9:37:22.503] update...1
flutter: [9:37:22.507] update...2
flutter: [9:37:22.507] update...3
flutter: [9:37:22.524] build......: 38
[2024-05-18 09:37:22.540] [info] [AVClient.cpp:864] m_callBack(ctx->frame->data)...
flutter: [9:37:22.543] update...1
flutter: [9:37:22.546] update...2
flutter: [9:37:22.546] update...3
flutter: [9:37:22.558] build......: 38
[2024-05-18 09:37:22.590] [info] [AVClient.cpp:864] m_callBack(ctx->frame->data)...

Code sample

Code sample
class ImagetWidget extends StatefulWidget {
  const ImagetWidget({super.key});

  @override
  State<ImagetWidget> createState() => _ImagetWidgetSate();
}

class _ImagetWidgetSate extends State<ImagetWidget> {
  @override
  Widget build(BuildContext context) {
    return Consumer<ImageModel>(builder: (context, model, child) {
      printWithTime('build......: ${model._imageQueue.length}');
      return CustomPaint(
        painter: ImagePainter(model._imageQueue.length > 1
            ? model._imageQueue.removeFirst()
            : model._imageQueue.first),
      );
    });
  }
}

class ImagePainter extends CustomPainter {
  const ImagePainter(this._image);
  final ui.Image _image;

  @override
  void paint(Canvas canvas, ui.Size size) {
    canvas.drawImage(_image, Offset.zero, Paint());
  }

  @override
  bool shouldRepaint(covariant CustomPainter oldDelegate) {
    return true;
  }
}

/// 提供图像数据
class ImageModel extends ChangeNotifier {
  final int _width;
  final int _height;
  Queue<ui.Image> _imageQueue;

  static ImageModel? _instance; //单例,为了适配static 和 非static 方法

  // 私有构造函数,防止外部实例化
  ImageModel._(width, height)
      : assert(width > 0),
        assert(height > 0),
        _width = width,
        _height = height,
        _imageQueue = Queue<ui.Image>();

  // 使用工厂构造函数来返回单例实例
  factory ImageModel(int width, int height) {
    // 如果_instance为空,则创建新的实例;否则返回已有的实例
    // _instance ??= ImageModel._(width, height);
    if (_instance == null) {
      _instance = ImageModel._(width, height);
      _instance!.initQueue();
      // 开始播放服务
      final callback =
          NativeCallable<CallBack>.listener(ImageModel.callBackFromCxx);
      startPlayService(callback.nativeFunction, width, height);
      // callback.close();//回调要保持
      callback.keepIsolateAlive = false; //但是Isolate
    }
    return _instance!;
  }
  void initQueue() async {
    final byte = ImageModel.generateRedImage(_width, _height);
    Completer<ui.Image> c = Completer<ui.Image>();
    ui.decodeImageFromPixels(
        byte, _width, _height, ui.PixelFormat.rgba8888, (a) => c.complete(a));
    final image = await c.future;
    ImageModel._instance!._imageQueue.addLast(image);
  }

  static void callBackFromCxx(Pointer<Pointer<Uint8>> data) {
    _instance!.update(
        fillPixelsWithRGBFrame(data, _instance!._width, _instance!._height));
  }

  static Uint8List generateRedImage(int width, int height) {
    final List<int> pixels =
        List<int>.filled(width * height * 4, 255); // RGBA format, red color
    for (int i = 0; i < pixels.length; i += 4) {
      pixels[i] = 255; // Red channel
      pixels[i + 1] = 0; // Green channel
      pixels[i + 2] = 0; // Blue channel
      pixels[i + 3] = 255; // Alpha channel
    }
    return Uint8List.fromList(pixels);
  }

  static Uint8List fillPixelsWithRGBFrame(
      Pointer<Pointer<Uint8>> data, int width, int height) {
    int frameSize = width * height * 3; // RGB格式每个像素占用3个字节
    Uint8List pixels = Uint8List(width * height * 4); // 创建用于存放RGBA数据的列表

    // 一像素一像素复制:+3
    for (int i = 0; i < frameSize; i += 3) {
      int r = data.value[i];
      int g = data.value[i + 1];
      int b = data.value[i + 2];

      int pixelIndex = i ~/ 3 * 4; // RGBA格式每个像素占用4个字节

      pixels[pixelIndex] = r;
      pixels[pixelIndex + 1] = g;
      pixels[pixelIndex + 2] = b;
      pixels[pixelIndex + 3] = 255; // 设置透明度为255
    }

    return pixels;
  }

  void update(Uint8List byte) async {
    printWithTime("update...1");
    Completer<ui.Image> c = Completer<ui.Image>();
    ui.decodeImageFromPixels(
        byte, _width, _height, ui.PixelFormat.rgba8888, (a) => c.complete(a));
    ui.Image image = await c.future;
    printWithTime("update...2");
    _imageQueue.addLast(image);
    notifyListeners();
    printWithTime("update...3");
  }
}

void printWithTime(String message) {
  DateTime now = DateTime.now();
  String formattedTime =
      "${now.hour}:${now.minute}:${now.second}.${now.millisecond}";
  print("[$formattedTime] $message");
}

void main() async {
  loadLib();
  // print(sumService(1, 2));
  const width = 1024;
  const height = 600;

  // await Future.delayed(Duration(seconds: 1));
  runApp(
    MaterialApp(
      title: 'My app', // used by the OS task switcher
      home: SafeArea(
        // child: widget,
        child: ChangeNotifierProvider(
          create: (context) => ImageModel(
              width, height), //class CartModel extends ChangeNotifier
          child: const ImagetWidget(),
        ),
      ),
    ),
  );
}
/// load your lib
typedef CallBack = Void Function(Pointer<Pointer<Uint8>>);
typedef StartPlay = Int32 Function(Pointer<NativeFunction<CallBack>>, Int, Int);
typedef StartPlayNative = int Function(
    Pointer<NativeFunction<CallBack>>, int, int);
final startPlayService =
    dylib.lookupFunction<StartPlay, StartPlayNative>('start_play');

Performance profiling on master channel

  • The issue still persists on the master channel

Timeline Traces

Timeline Traces JSON
[Paste the Timeline Traces here]

dart_devtools_2024-05-18_10_47_18.039.json

lutter: [10:46:23.29] update...1 flutter: [10:46:23.33] update...2 flutter: [10:46:23.33] update...3 flutter: [10:46:23.38] build......: 180 [2024-05-18 10:46:23.074] [info] [AVClient.cpp:864] m_callBack(ctx->frame->data)... flutter: [10:46:23.80] update...1 flutter: [10:46:23.82] update...2 flutter: [10:46:23.82] update...3 flutter: [10:46:23.89] build......: 180 [2024-05-18 10:46:23.096] [info] [AVClient.cpp:864] m_callBack(ctx->frame->data)... flutter: [10:46:23.99] update...1 flutter: [10:46:23.102] update...2 flutter: [10:46:23.102] update...3 flutter: [10:46:23.105] build......: 180

Video demonstration

Video demonstration

[Upload media here]

What target platforms are you seeing this bug on?

Windows

OS/Browser name and version | Device information

Windows (desktop) • windows • windows-x64 • Microsoft Windows [版本 10.0.19045.4412]

Does the problem occur on emulator/simulator as well as on physical devices?

Unknown

Is the problem only reproducible with Impeller?

N/A

Logs

Logs
PS C:\Users\mcs\Desktop\lernning\code\vscode-flutter\flutter_demo> flutter run .\lib\video_play.dart
Flutter assets will be downloaded from https://storage.flutter-io.cn. Make sure you trust this source!
Connected devices:
Windows (desktop) • windows • windows-x64    • Microsoft Windows [版本 10.0.19045.4412]
Chrome (web)      • chrome  • web-javascript • Google Chrome 124.0.6367.202
Edge (web)        • edge    • web-javascript • Microsoft Edge 124.0.2478.105
[1]: Windows (windows)
[2]: Chrome (chrome)
[3]: Edge (edge)
Please choose one (or "q" to quit): 1
Launching .\lib\video_play.dart on Windows in debug mode...
Building Windows application...                                    10.8s
√ Built build\windows\x64\runner\Debug\flutter_demo.exe
Syncing files to device Windows...                                  65ms

Flutter run key commands.
r Hot reload.
R Hot restart.
h List all available interactive commands.
d Detach (terminate "flutter run" but leave application running).
c Clear the screen
q Quit (terminate the application on the device).

A Dart VM Service on Windows is available at: http://127.0.0.1:64365/AT8QBlxu6uE=/
[2024-05-18 11:02:19.678] [info] [AVClient.cpp:89] initInput: avformat_network_init
flutter: [11:2:19.679] build......: 0

══╡ EXCEPTION CAUGHT BY WIDGETS LIBRARY ╞═══════════════════════════════════════════════════════════
The following StateError was thrown building Consumer<ImageModel>(dirty, dependencies:
[_InheritedProviderScope<ImageModel?>]):
Bad state: No element

The relevant error-causing widget was:
  Consumer<ImageModel>
  Consumer:file:///C:/Users/mcs/Desktop/lernning/code/vscode-flutter/flutter_demo/lib/video_play.dart:22:12

When the exception was thrown, this was the stack:
#0      ListQueue.first (dart:collection/queue.dart:690:25)
#1      _ImagetWidgetSate.build.<anonymous closure> (package:flutter_demo/video_play.dart:27:33)
#2      Consumer.buildWithChild (package:provider/src/consumer.dart:179:19)
#3      SingleChildStatelessWidget.build (package:nested/nested.dart:259:41)
#4      StatelessElement.build (package:flutter/src/widgets/framework.dart:5557:49)
#5      SingleChildStatelessElement.build (package:nested/nested.dart:279:18)
#6      ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:5487:15)
#7      Element.rebuild (package:flutter/src/widgets/framework.dart:5203:7)
#8      ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:5469:5)
#9      ComponentElement.mount (package:flutter/src/widgets/framework.dart:5463:5)
#10     SingleChildWidgetElementMixin.mount (package:nested/nested.dart:222:11)
...     Normal element mounting (15 frames)
#25     _InheritedProviderScopeElement.mount (package:provider/src/inherited_provider.dart:411:11)
...     Normal element mounting (7 frames)
#32     SingleChildWidgetElementMixin.mount (package:nested/nested.dart:222:11)
...     Normal element mounting (243 frames)
#275    Element.inflateWidget (package:flutter/src/widgets/framework.dart:4340:16)
#276    MultiChildRenderObjectElement.inflateWidget (package:flutter/src/widgets/framework.dart:6904:36)
#277    MultiChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:6916:32)
...     Normal element mounting (483 frames)
#760    Element.inflateWidget (package:flutter/src/widgets/framework.dart:4340:16)
#761    Element.updateChild (package:flutter/src/widgets/framework.dart:3849:18)
#762    _RawViewElement._updateChild (package:flutter/src/widgets/view.dart:291:16)
#763    _RawViewElement.mount (package:flutter/src/widgets/view.dart:314:5)
...     Normal element mounting (7 frames)
#770    Element.inflateWidget (package:flutter/src/widgets/framework.dart:4340:16)
#771    Element.updateChild (package:flutter/src/widgets/framework.dart:3849:18)
#772    RootElement._rebuild (package:flutter/src/widgets/binding.dart:1581:16)
#773    RootElement.mount (package:flutter/src/widgets/binding.dart:1550:5)
#774    RootWidget.attach.<anonymous closure> (package:flutter/src/widgets/binding.dart:1503:18)
#775    BuildOwner.buildScope (package:flutter/src/widgets/framework.dart:2845:19)
#776    RootWidget.attach (package:flutter/src/widgets/binding.dart:1502:13)
#777    WidgetsBinding.attachToBuildOwner (package:flutter/src/widgets/binding.dart:1239:27)
#778    WidgetsBinding.attachRootWidget (package:flutter/src/widgets/binding.dart:1221:5)
#779    WidgetsBinding.scheduleAttachRootWidget.<anonymous closure> (package:flutter/src/widgets/binding.dart:1207:7)
#783    _RawReceivePort._handleMessage (dart:isolate-patch/isolate_patch.dart:184:12)
(elided 3 frames from class _Timer and dart:async-patch)

════════════════════════════════════════════════════════════════════════════════════════════════════

The Flutter DevTools debugger and profiler on Windows is available at:
http://127.0.0.1:9102?uri=http://127.0.0.1:64365/AT8QBlxu6uE=/
[2024-05-18 11:02:20.885] [info] [AVClient.cpp:226] Demuxing video from file rtsp://127.0.0.1:8554/video
[2024-05-18 11:02:20.885] [info] [AVClient.cpp:228] Demuxing audio from file rtsp://127.0.0.1:8554/video
[2024-05-18 11:02:20.885] [info] [AVClient.cpp:836] #####################swsConvertThread start....
[2024-05-18 11:02:20.915] [info] [AVClient.cpp:320] demuxDecode: start...
[2024-05-18 11:02:20.915] [info] [AVClient.cpp:678] checkSwr: src_ch_layout:dst_ch_layout=stereo:stereo,src_sample_rate:dst_sample_rate=44100:44100,src_sample_fmt:dst_sample_fmt=fltp:s16
[2024-05-18 11:02:20.915] [info] [AVClient.cpp:684] initSwr ....
[2024-05-18 11:02:20.915] [info] [AVClient.cpp:883] #####################swrConvertThread start....
[2024-05-18 11:02:20.915] [info] [AVClient.cpp:686] initSwr done!!!
[2024-05-18 11:02:20.921] [info] [AVClient.cpp:794] checkSws: src_pix_format:dst_pix_format=yuv420p:rgb24,src_width:dst_width=1024:1020,src_height:dst_sample_fmt=600:600
[2024-05-18 11:02:20.921] [info] [AVClient.cpp:799] initSws ....
[2024-05-18 11:02:20.921] [info] [AVClient.cpp:801] initSws done!!!
[2024-05-18 11:02:20.931] [info] [AVClient.cpp:864] m_callBack(ctx->frame->data)...
[2024-05-18 11:02:20.934] [info] [AVClient.cpp:864] m_callBack(ctx->frame->data)...
[2024-05-18 11:02:20.936] [info] [AVClient.cpp:864] m_callBack(ctx->frame->data)...
[2024-05-18 11:02:20.938] [info] [AVClient.cpp:864] m_callBack(ctx->frame->data)...
[2024-05-18 11:02:20.940] [info] [AVClient.cpp:864] m_callBack(ctx->frame->data)...
flutter: [11:2:20.940] update...1
[2024-05-18 11:02:20.943] [info] [AVClient.cpp:864] m_callBack(ctx->frame->data)...
[2024-05-18 11:02:20.945] [info] [AVClient.cpp:864] m_callBack(ctx->frame->data)...
[2024-05-18 11:02:20.948] [info] [AVClient.cpp:864] m_callBack(ctx->frame->data)...
[2024-05-18 11:02:20.950] [info] [AVClient.cpp:864] m_callBack(ctx->frame->data)...
flutter: [11:2:20.951] update...1
[2024-05-18 11:02:20.953] [info] [AVClient.cpp:864] m_callBack(ctx->frame->data)...
[2024-05-18 11:02:20.955] [info] [AVClient.cpp:864] m_callBack(ctx->frame->data)...
[2024-05-18 11:02:20.958] [info] [AVClient.cpp:864] m_callBack(ctx->frame->data)...
flutter: [11:2:20.958] update...1
[2024-05-18 11:02:20.961] [info] [AVClient.cpp:864] m_callBack(ctx->frame->data)...
[2024-05-18 11:02:20.964] [info] [AVClient.cpp:864] m_callBack(ctx->frame->data)...
[2024-05-18 11:02:20.966] [info] [AVClient.cpp:864] m_callBack(ctx->frame->data)...
flutter: [11:2:20.966] update...1
[2024-05-18 11:02:20.969] [info] [AVClient.cpp:864] m_callBack(ctx->frame->data)...
[2024-05-18 11:02:20.971] [info] [AVClient.cpp:864] m_callBack(ctx->frame->data)...
flutter: [11:2:20.972] update...1
[2024-05-18 11:02:20.973] [info] [AVClient.cpp:864] m_callBack(ctx->frame->data)...
[2024-05-18 11:02:20.976] [info] [AVClient.cpp:864] m_callBack(ctx->frame->data)...
[2024-05-18 11:02:20.978] [info] [AVClient.cpp:864] m_callBack(ctx->frame->data)...
flutter: [11:2:20.977] update...1
[2024-05-18 11:02:20.981] [info] [AVClient.cpp:864] m_callBack(ctx->frame->data)...
[2024-05-18 11:02:20.983] [info] [AVClient.cpp:864] m_callBack(ctx->frame->data)...
flutter: [11:2:20.983] update...1
flutter: [11:2:20.985] update...2
[2024-05-18 11:02:20.986] [info] [AVClient.cpp:864] m_callBack(ctx->frame->data)...
flutter: [11:2:20.985] update...3
[2024-05-18 11:02:20.989] [info] [AVClient.cpp:864] m_callBack(ctx->frame->data)...
flutter: [11:2:20.989] update...1
[2024-05-18 11:02:20.991] [info] [AVClient.cpp:864] m_callBack(ctx->frame->data)...
[2024-05-18 11:02:20.993] [info] [AVClient.cpp:864] m_callBack(ctx->frame->data)...
[2024-05-18 11:02:20.996] [info] [AVClient.cpp:864] m_callBack(ctx->frame->data)...
flutter: [11:2:20.996] update...1
[2024-05-18 11:02:20.998] [info] [AVClient.cpp:864] m_callBack(ctx->frame->data)...
[2024-05-18 11:02:21.001] [info] [AVClient.cpp:864] m_callBack(ctx->frame->data)...
flutter: [11:2:21.2] update...1
[2024-05-18 11:02:21.004] [info] [AVClient.cpp:864] m_callBack(ctx->frame->data)...
[2024-05-18 11:02:21.009] [info] [AVClient.cpp:864] m_callBack(ctx->frame->data)...
flutter: [11:2:21.14] update...1
flutter: [11:2:21.16] update...2
flutter: [11:2:21.16] update...3
flutter: [11:2:21.22] update...1
flutter: [11:2:21.28] update...1
flutter: [11:2:21.34] update...1
flutter: [11:2:21.35] update...2
flutter: [11:2:21.36] update...3
flutter: [11:2:21.40] update...1
[2024-05-18 11:02:21.046] [info] [AVClient.cpp:864] m_callBack(ctx->frame->data)...
flutter: [11:2:21.45] update...1
flutter: [11:2:21.47] update...2
flutter: [11:2:21.47] update...3
flutter: [11:2:21.51] update...1
flutter: [11:2:21.57] update...1
flutter: [11:2:21.58] update...2
flutter: [11:2:21.58] update...3
flutter: [11:2:21.63] update...1
flutter: [11:2:21.67] update...1
flutter: [11:2:21.73] update...1
flutter: [11:2:21.74] update...2
flutter: [11:2:21.74] update...3
flutter: [11:2:21.80] update...1
flutter: [11:2:21.85] update...1
flutter: [11:2:21.86] update...2
flutter: [11:2:21.87] update...3
flutter: [11:2:21.91] update...1
[2024-05-18 11:02:21.097] [info] [AVClient.cpp:864] m_callBack(ctx->frame->data)...
flutter: [11:2:21.97] update...1
flutter: [11:2:21.103] update...1
flutter: [11:2:21.104] update...2
flutter: [11:2:21.105] update...3
flutter: [11:2:21.109] update...1
flutter: [11:2:21.114] update...1
flutter: [11:2:21.115] update...2
flutter: [11:2:21.115] update...3
flutter: [11:2:21.119] update...1
flutter: [11:2:21.123] update...1
flutter: [11:2:21.124] update...2
flutter: [11:2:21.125] update...3
flutter: [11:2:21.129] update...1
flutter: [11:2:21.130] update...2
flutter: [11:2:21.130] update...3
flutter: [11:2:21.130] update...2
flutter: [11:2:21.131] update...3
flutter: [11:2:21.131] update...2
flutter: [11:2:21.131] update...3
flutter: [11:2:21.131] update...2
flutter: [11:2:21.132] update...3
flutter: [11:2:21.132] update...2
flutter: [11:2:21.133] update...3
flutter: [11:2:21.137] update...1
flutter: [11:2:21.138] update...2
flutter: [11:2:21.138] update...3
flutter: [11:2:21.138] update...2
flutter: [11:2:21.138] update...3
flutter: [11:2:21.139] update...2
flutter: [11:2:21.139] update...3
flutter: [11:2:21.139] update...2
flutter: [11:2:21.139] update...3
flutter: [11:2:21.139] update...2
flutter: [11:2:21.139] update...3
flutter: [11:2:21.140] update...2
flutter: [11:2:21.140] update...3
flutter: [11:2:21.141] update...2
flutter: [11:2:21.141] update...3
flutter: [11:2:21.141] update...2
flutter: [11:2:21.141] update...3
flutter: [11:2:21.141] update...2
flutter: [11:2:21.141] update...3
flutter: [11:2:21.142] update...2
flutter: [11:2:21.142] update...3
flutter: [11:2:21.142] update...2
flutter: [11:2:21.142] update...3
flutter: [11:2:21.142] update...2
flutter: [11:2:21.143] update...3
flutter: [11:2:21.143] update...2
flutter: [11:2:21.143] update...3
flutter: [11:2:21.143] update...2
flutter: [11:2:21.144] update...3
flutter: [11:2:21.145] update...2
[2024-05-18 11:02:21.148] [info] [AVClient.cpp:864] m_callBack(ctx->frame->data)...
flutter: [11:2:21.152] update...3
flutter: [11:2:21.152] update...2
flutter: [11:2:21.152] update...3
flutter: [11:2:21.154] build......: 32
flutter: [11:2:21.168] update...1
[2024-05-18 11:02:21.168] [info] [AVClient.cpp:864] m_callBack(ctx->frame->data)...
flutter: [11:2:21.169] update...2
flutter: [11:2:21.170] update...3
flutter: [11:2:21.174] update...1
flutter: [11:2:21.180] update...1
flutter: [11:2:21.181] update...2
flutter: [11:2:21.181] update...3
flutter: [11:2:21.182] update...2
flutter: [11:2:21.182] update...3
flutter: [11:2:21.184] update...2
flutter: [11:2:21.184] update...3
flutter: [11:2:21.189] build......: 35
[2024-05-18 11:02:21.198] [info] [AVClient.cpp:864] m_callBack(ctx->frame->data)...
flutter: [11:2:21.201] update...1
flutter: [11:2:21.204] update...2
flutter: [11:2:21.204] update...3
flutter: [11:2:21.205] build......: 35
[2024-05-18 11:02:21.247] [info] [AVClient.cpp:864] m_callBack(ctx->frame->data)...
[2024-05-18 11:02:21.280] [info] [AVClient.cpp:864] m_callBack(ctx->frame->data)...
flutter: [11:2:21.282] update...1
flutter: [11:2:21.288] update...1
flutter: [11:2:21.289] update...2
flutter: [11:2:21.290] update...3
flutter: [11:2:21.292] update...2
flutter: [11:2:21.292] update...3
flutter: [11:2:21.305] build......: 36
[2024-05-18 11:02:21.316] [info] [AVClient.cpp:864] m_callBack(ctx->frame->data)...
flutter: [11:2:21.320] update...1
flutter: [11:2:21.323] update...2
flutter: [11:2:21.323] update...3
flutter: [11:2:21.339] build......: 36
[2024-05-18 11:02:21.368] [info] [AVClient.cpp:864] m_callBack(ctx->frame->data)...
flutter: [11:2:21.388] update...1
[2024-05-18 11:02:21.409] [info] [AVClient.cpp:864] m_callBack(ctx->frame->data)...
flutter: [11:2:21.420] update...2
flutter: [11:2:21.420] update...3
flutter: [11:2:21.424] update...1
flutter: [11:2:21.427] update...2
flutter: [11:2:21.427] update...3
[2024-05-18 11:02:21.437] [info] [AVClient.cpp:864] m_callBack(ctx->frame->data)...
flutter: [11:2:21.441] update...1
flutter: [11:2:21.442] build......: 37
flutter: [11:2:21.445] update...2
flutter: [11:2:21.445] update...3
flutter: [11:2:21.455] build......: 37
[2024-05-18 11:02:21.487] [info] [AVClient.cpp:864] m_callBack(ctx->frame->data)...
flutter: [11:2:21.494] update...1
flutter: [11:2:21.499] update...2
flutter: [11:2:21.499] update...3
flutter: [11:2:21.505] build......: 37
[2024-05-18 11:02:21.527] [info] [AVClient.cpp:864] m_callBack(ctx->frame->data)...
flutter: [11:2:21.531] update...1
flutter: [11:2:21.533] update...2
flutter: [11:2:21.533] update...3
flutter: [11:2:21.538] build......: 37
[2024-05-18 11:02:21.556] [info] [AVClient.cpp:864] m_callBack(ctx->frame->data)...
flutter: [11:2:21.560] update...1
flutter: [11:2:21.589] update...2
flutter: [11:2:21.589] update...3
flutter: [11:2:21.605] build......: 37
[2024-05-18 11:02:21.607] [info] [AVClient.cpp:864] m_callBack(ctx->frame->data)...
flutter: [11:2:21.610] update...1
flutter: [11:2:21.613] update...2
flutter: [11:2:21.613] update...3
flutter: [11:2:21.621] build......: 37
[2024-05-18 11:02:21.646] [info] [AVClient.cpp:864] m_callBack(ctx->frame->data)...
flutter: [11:2:21.652] update...1
flutter: [11:2:21.656] update...2
flutter: [11:2:21.656] update...3
flutter: [11:2:21.671] build......: 37
[2024-05-18 11:02:21.696] [info] [AVClient.cpp:864] m_callBack(ctx->frame->data)...
flutter: [11:2:21.700] update...1
flutter: [11:2:21.703] update...2
flutter: [11:2:21.703] update...3
flutter: [11:2:21.705] build......: 37
[2024-05-18 11:02:21.725] [info] [AVClient.cpp:864] m_callBack(ctx->frame->data)...
flutter: [11:2:21.755] update...1
[2024-05-18 11:02:21.783] [info] [AVClient.cpp:864] m_callBack(ctx->frame->data)...
flutter: [11:2:21.789] update...2
flutter: [11:2:21.789] update...3
flutter: [11:2:21.793] update...1
flutter: [11:2:21.797] update...2
flutter: [11:2:21.797] update...3
flutter: [11:2:21.805] build......: 38
[2024-05-18 11:02:21.819] [info] [AVClient.cpp:864] m_callBack(ctx->frame->data)...
flutter: [11:2:21.822] update...1
flutter: [11:2:21.824] update...2
flutter: [11:2:21.825] update...3
flutter: [11:2:21.838] build......: 38
[2024-05-18 11:02:21.868] [info] [AVClient.cpp:864] m_callBack(ctx->frame->data)...
[2024-05-18 11:02:21.893] [info] [AVClient.cpp:864] m_callBack(ctx->frame->data)...
flutter: [11:2:21.895] update...1
flutter: [11:2:21.902] update...1
flutter: [11:2:21.903] update...2
flutter: [11:2:21.903] update...3
flutter: [11:2:21.905] build......: 38
flutter: [11:2:21.907] update...2
flutter: [11:2:21.907] update...3
[2024-05-18 11:02:21.919] [info] [AVClient.cpp:864] m_callBack(ctx->frame->data)...
flutter: [11:2:21.929] update...1
flutter: [11:2:21.931] build......: 38
flutter: [11:2:21.933] update...2
flutter: [11:2:21.933] update...3
flutter: [11:2:21.939] build......: 38
[2024-05-18 11:02:21.967] [info] [AVClient.cpp:864] m_callBack(ctx->frame->data)...
flutter: [11:2:21.970] update...1
flutter: [11:2:21.973] update...2
flutter: [11:2:21.973] update...3
[2024-05-18 11:02:21.986] [info] [AVClient.cpp:864] m_callBack(ctx->frame->data)...
flutter: [11:2:21.990] update...1
flutter: [11:2:21.991] build......: 38
flutter: [11:2:21.993] update...2
flutter: [11:2:21.993] update...3
flutter: [11:2:22.5] build......: 38
[2024-05-18 11:02:22.036] [info] [AVClient.cpp:864] m_callBack(ctx->frame->data)...
flutter: [11:2:22.39] update...1
flutter: [11:2:22.42] update...2
flutter: [11:2:22.42] update...3
flutter: [11:2:22.55] build......: 38
[2024-05-18 11:02:22.086] [info] [AVClient.cpp:864] m_callBack(ctx->frame->data)...
flutter: [11:2:22.90] update...1
flutter: [11:2:22.94] update...2
flutter: [11:2:22.94] update...3
flutter: [11:2:22.105] build......: 38
[2024-05-18 11:02:22.126] [info] [AVClient.cpp:864] m_callBack(ctx->frame->data)...
flutter: [11:2:22.130] update...1
flutter: [11:2:22.133] update...2
flutter: [11:2:22.133] update...3
flutter: [11:2:22.139] build......: 38
[2024-05-18 11:02:22.156] [info] [AVClient.cpp:864] m_callBack(ctx->frame->data)...
flutter: [11:2:22.160] update...1
flutter: [11:2:22.186] update...2
flutter: [11:2:22.187] update...3
flutter: [11:2:22.189] build......: 38
[2024-05-18 11:02:22.206] [info] [AVClient.cpp:864] m_callBack(ctx->frame->data)...
flutter: [11:2:22.210] update...1
flutter: [11:2:22.213] update...2
flutter: [11:2:22.214] update...3
flutter: [11:2:22.222] build......: 38
[2024-05-18 11:02:22.246] [info] [AVClient.cpp:864] m_callBack(ctx->frame->data)...
flutter: [11:2:22.275] update...1
[2024-05-18 11:02:22.277] [info] [AVClient.cpp:864] m_callBack(ctx->frame->data)...
flutter: [11:2:22.300] update...2
flutter: [11:2:22.300] update...3
flutter: [11:2:22.305] update...1
flutter: [11:2:22.309] update...2
flutter: [11:2:22.309] update...3
flutter: [11:2:22.322] build......: 39
[2024-05-18 11:02:22.327] [info] [AVClient.cpp:864] m_callBack(ctx->frame->data)...
flutter: [11:2:22.330] update...1
flutter: [11:2:22.333] update...2
flutter: [11:2:22.333] update...3
flutter: [11:2:22.339] build......: 39
[2024-05-18 11:02:22.365] [info] [AVClient.cpp:864] m_callBack(ctx->frame->data)...
flutter: [11:2:22.372] update...1
flutter: [11:2:22.375] update...2
flutter: [11:2:22.376] update...3
flutter: [11:2:22.389] build......: 39
[2024-05-18 11:02:22.416] [info] [AVClient.cpp:864] m_callBack(ctx->frame->data)...
flutter: [11:2:22.419] update...1
flutter: [11:2:22.422] update...2
flutter: [11:2:22.422] update...3
flutter: [11:2:22.438] build......: 39
[2024-05-18 11:02:22.447] [info] [AVClient.cpp:864] m_callBack(ctx->frame->data)...
flutter: [11:2:22.451] update...1
flutter: [11:2:22.454] update...2
flutter: [11:2:22.454] update...3
flutter: [11:2:22.456] build......: 39
[2024-05-18 11:02:22.485] [info] [AVClient.cpp:864] m_callBack(ctx->frame->data)...
flutter: [11:2:22.489] update...1
flutter: [11:2:22.515] update...2
flutter: [11:2:22.515] update...3
flutter: [11:2:22.522] build......: 39
[2024-05-18 11:02:22.536] [info] [AVClient.cpp:864] m_callBack(ctx->frame->data)...
flutter: [11:2:22.540] update...1
flutter: [11:2:22.544] update...2
flutter: [11:2:22.544] update...3
flutter: [11:2:22.555] build......: 39
[2024-05-18 11:02:22.586] [info] [AVClient.cpp:864] m_callBack(ctx->frame->data)...
flutter: [11:2:22.602] update...1
flutter: [11:2:22.605] update...2
flutter: [11:2:22.605] update...3
[2024-05-18 11:02:22.607] [info] [AVClient.cpp:864] m_callBack(ctx->frame->data)...
flutter: [11:2:22.610] update...1
flutter: [11:2:22.612] update...2
flutter: [11:2:22.613] update...3
flutter: [11:2:22.621] build......: 40
[2024-05-18 11:02:22.636] [info] [AVClient.cpp:864] m_callBack(ctx->frame->data)...
flutter: [11:2:22.639] update...1
flutter: [11:2:22.642] update...2
flutter: [11:2:22.642] update...3
flutter: [11:2:22.656] build......: 40
[2024-05-18 11:02:22.686] [info] [AVClient.cpp:864] m_callBack(ctx->frame->data)...
flutter: [11:2:22.700] update...1
flutter: [11:2:22.704] update...2
flutter: [11:2:22.704] update...3
flutter: [11:2:22.705] build......: 40
[2024-05-18 11:02:22.706] [info] [AVClient.cpp:864] m_callBack(ctx->frame->data)...
flutter: [11:2:22.712] update...1
flutter: [11:2:22.715] update...2
flutter: [11:2:22.716] update...3
flutter: [11:2:22.721] build......: 40
[2024-05-18 11:02:22.757] [info] [AVClient.cpp:864] m_callBack(ctx->frame->data)...
flutter: [11:2:22.762] update...1
flutter: [11:2:22.765] update...2
flutter: [11:2:22.765] update...3
flutter: [11:2:22.771] build......: 40
[2024-05-18 11:02:22.805] [info] [AVClient.cpp:864] m_callBack(ctx->frame->data)...
flutter: [11:2:22.809] update...1
flutter: [11:2:22.811] update...2
flutter: [11:2:22.812] update...3
flutter: [11:2:22.822] build......: 40
[2024-05-18 11:02:22.845] [info] [AVClient.cpp:864] m_callBack(ctx->frame->data)...
flutter: [11:2:22.849] update...1
flutter: [11:2:22.853] update...2
flutter: [11:2:22.853] update...3
flutter: [11:2:22.855] build......: 40
[2024-05-18 11:02:22.876] [info] [AVClient.cpp:864] m_callBack(ctx->frame->data)...
flutter: [11:2:22.905] update...1
[2024-05-18 11:02:22.927] [info] [AVClient.cpp:864] m_callBack(ctx->frame->data)...
flutter: [11:2:22.927] update...2
flutter: [11:2:22.927] update...3
flutter: [11:2:22.932] update...1
flutter: [11:2:22.935] update...2
flutter: [11:2:22.935] update...3
flutter: [11:2:22.938] build......: 41
[2024-05-18 11:02:22.966] [info] [AVClient.cpp:864] m_callBack(ctx->frame->data)...
flutter: [11:2:22.970] update...1
flutter: [11:2:22.973] update...2
flutter: [11:2:22.973] update...3
flutter: [11:2:22.988] build......: 41
[2024-05-18 11:02:23.018] [info] [AVClient.cpp:864] m_callBack(ctx->frame->data)...
flutter: [11:2:23.24] update...1
flutter: [11:2:23.27] update...2
flutter: [11:2:23.27] update...3
flutter: [11:2:23.39] build......: 41
[2024-05-18 11:02:23.046] [info] [AVClient.cpp:864] m_callBack(ctx->frame->data)...
flutter: [11:2:23.49] update...1
flutter: [11:2:23.53] update...2
flutter: [11:2:23.53] update...3
flutter: [11:2:23.55] build......: 41
[2024-05-18 11:02:23.086] [info] [AVClient.cpp:864] m_callBack(ctx->frame->data)...
flutter: [11:2:23.91] update...1
flutter: [11:2:23.117] update...2
flutter: [11:2:23.117] update...3
flutter: [11:2:23.122] build......: 41
[2024-05-18 11:02:23.137] [info] [AVClient.cpp:864] m_callBack(ctx->frame->data)...
flutter: [11:2:23.142] update...1
flutter: [11:2:23.146] update...2
flutter: [11:2:23.147] update...3
flutter: [11:2:23.155] build......: 41
[2024-05-18 11:02:23.166] [info] [AVClient.cpp:864] m_callBack(ctx->frame->data)...
flutter: [11:2:23.169] update...1
flutter: [11:2:23.172] update...2
flutter: [11:2:23.173] update...3
flutter: [11:2:23.189] build......: 41
[2024-05-18 11:02:23.206] [info] [AVClient.cpp:864] m_callBack(ctx->frame->data)...
flutter: [11:2:23.210] update...1
flutter: [11:2:23.240] update...2
flutter: [11:2:23.240] update...3
flutter: [11:2:23.255] build......: 41
[2024-05-18 11:02:23.257] [info] [AVClient.cpp:864] m_callBack(ctx->frame->data)...
flutter: [11:2:23.262] update...1
flutter: [11:2:23.264] update...2
flutter: [11:2:23.265] update...3
flutter: [11:2:23.272] build......: 41
[2024-05-18 11:02:23.310] [info] [AVClient.cpp:864] m_callBack(ctx->frame->data)...
flutter: [11:2:23.314] update...1
flutter: [11:2:23.316] update...2
flutter: [11:2:23.317] update...3
flutter: [11:2:23.322] build......: 41
[2024-05-18 11:02:23.327] [info] [AVClient.cpp:864] m_callBack(ctx->frame->data)...
flutter: [11:2:23.331] update...1
flutter: [11:2:23.335] update...2
flutter: [11:2:23.335] update...3
flutter: [11:2:23.338] build......: 41
[2024-05-18 11:02:23.359] [info] [AVClient.cpp:864] m_callBack(ctx->frame->data)...
flutter: [11:2:23.366] update...1
flutter: [11:2:23.369] update...2
flutter: [11:2:23.370] update...3
flutter: [11:2:23.372] build......: 41
[2024-05-18 11:02:23.409] [info] [AVClient.cpp:864] m_callBack(ctx->frame->data)...
flutter: [11:2:23.417] update...1
flutter: [11:2:23.420] update...2
flutter: [11:2:23.420] update...3
flutter: [11:2:23.422] build......: 41
[2024-05-18 11:02:23.428] [info] [AVClient.cpp:864] m_callBack(ctx->frame->data)...
flutter: [11:2:23.432] update...1
flutter: [11:2:23.435] update...2
flutter: [11:2:23.435] update...3
flutter: [11:2:23.438] build......: 41
[2024-05-18 11:02:23.478] [info] [AVClient.cpp:864] m_callBack(ctx->frame->data)...
flutter: [11:2:23.491] update...1
flutter: [11:2:23.522] update...2
flutter: [11:2:23.522] update...3
[2024-05-18 11:02:23.526] [info] [AVClient.cpp:864] m_callBack(ctx->frame->data)...
flutter: [11:2:23.530] update...1
flutter: [11:2:23.532] update...2
flutter: [11:2:23.533] update...3
flutter: [11:2:23.539] build......: 42
[2024-05-18 11:02:23.566] [info] [AVClient.cpp:864] m_callBack(ctx->frame->data)...
flutter: [11:2:23.570] update...1
flutter: [11:2:23.573] update...2
flutter: [11:2:23.573] update...3
flutter: [11:2:23.589] build......: 42
[2024-05-18 11:02:23.597] [info] [AVClient.cpp:864] m_callBack(ctx->frame->data)...
flutter: [11:2:23.601] update...1
flutter: [11:2:23.605] update...2
flutter: [11:2:23.605] update...3
flutter: [11:2:23.623] build......: 42
[2024-05-18 11:02:23.646] [info] [AVClient.cpp:864] m_callBack(ctx->frame->data)...
flutter: [11:2:23.673] update...1
[2024-05-18 11:02:23.686] [info] [AVClient.cpp:864] m_callBack(ctx->frame->data)...
flutter: [11:2:23.698] update...2
flutter: [11:2:23.698] update...3
flutter: [11:2:23.702] update...1
flutter: [11:2:23.706] build......: 42
flutter: [11:2:23.708] update...2
flutter: [11:2:23.708] update...3
flutter: [11:2:23.724] build......: 42
[2024-05-18 11:02:23.736] [info] [AVClient.cpp:864] m_callBack(ctx->frame->data)...
flutter: [11:2:23.740] update...1
flutter: [11:2:23.743] update...2
flutter: [11:2:23.744] update...3
flutter: [11:2:23.755] build......: 42
[2024-05-18 11:02:23.766] [info] [AVClient.cpp:864] m_callBack(ctx->frame->data)...
flutter: [11:2:23.769] update...1
flutter: [11:2:23.772] update...2
flutter: [11:2:23.772] update...3
flutter: [11:2:23.789] build......: 42
[2024-05-18 11:02:23.808] [info] [AVClient.cpp:864] m_callBack(ctx->frame->data)...
flutter: [11:2:23.840] update...1
[2024-05-18 11:02:23.859] [info] [AVClient.cpp:864] m_callBack(ctx->frame->data)...
flutter: [11:2:23.871] update...2
flutter: [11:2:23.871] update...3
flutter: [11:2:23.875] update...1
flutter: [11:2:23.878] update...2
flutter: [11:2:23.878] update...3
[2024-05-18 11:02:23.886] [info] [AVClient.cpp:864] m_callBack(ctx->frame->data)...
flutter: [11:2:23.889] update...1
flutter: [11:2:23.890] build......: 43
flutter: [11:2:23.893] update...2
flutter: [11:2:23.893] update...3
flutter: [11:2:23.905] build......: 43
[2024-05-18 11:02:23.927] [info] [AVClient.cpp:864] m_callBack(ctx->frame->data)...
flutter: [11:2:23.930] update...1
flutter: [11:2:23.934] update...2
flutter: [11:2:23.934] update...3
flutter: [11:2:23.939] build......: 43
[2024-05-18 11:02:23.977] [info] [AVClient.cpp:864] m_callBack(ctx->frame->data)...
flutter: [11:2:23.984] update...1
flutter: [11:2:23.988] update...2
flutter: [11:2:23.988] update...3
flutter: [11:2:24.5] build......: 43
[2024-05-18 11:02:24.028] [info] [AVClient.cpp:864] m_callBack(ctx->frame->data)...
flutter: [11:2:24.32] update...1
flutter: [11:2:24.35] update...2
flutter: [11:2:24.35] update...3
flutter: [11:2:24.39] build......: 43
[2024-05-18 11:02:24.047] [info] [AVClient.cpp:864] m_callBack(ctx->frame->data)...
flutter: [11:2:24.50] update...1
flutter: [11:2:24.53] update...2
flutter: [11:2:24.54] update...3
flutter: [11:2:24.55] build......: 43
[2024-05-18 11:02:24.078] [info] [AVClient.cpp:864] m_callBack(ctx->frame->data)...
flutter: [11:2:24.82] update...1
flutter: [11:2:24.85] update...2
flutter: [11:2:24.85] update...3
flutter: [11:2:24.89] build......: 43
[2024-05-18 11:02:24.126] [info] [AVClient.cpp:864] m_callBack(ctx->frame->data)...
flutter: [11:2:24.135] update...1
flutter: [11:2:24.139] update...2
flutter: [11:2:24.139] update...3
[2024-05-18 11:02:24.147] [info] [AVClient.cpp:864] m_callBack(ctx->frame->data)...
flutter: [11:2:24.151] update...1
flutter: [11:2:24.154] update...2
flutter: [11:2:24.154] update...3
flutter: [11:2:24.154] build......: 44
[2024-05-18 11:02:24.198] [info] [AVClient.cpp:864] m_callBack(ctx->frame->data)...
flutter: [11:2:24.201] update...1
flutter: [11:2:24.205] update...2
flutter: [11:2:24.205] update...3
flutter: [11:2:24.222] build......: 44
[2024-05-18 11:02:24.246] [info] [AVClient.cpp:864] m_callBack(ctx->frame->data)...
flutter: [11:2:24.249] update...1
flutter: [11:2:24.252] update...2
flutter: [11:2:24.252] update...3
flutter: [11:2:24.255] build......: 44
[2024-05-18 11:02:24.287] [info] [AVClient.cpp:864] m_callBack(ctx->frame->data)...
flutter: [11:2:24.304] update...1
flutter: [11:2:24.307] update...2
flutter: [11:2:24.308] update...3
[2024-05-18 11:02:24.316] [info] [AVClient.cpp:864] m_callBack(ctx->frame->data)...
flutter: [11:2:24.319] update...1
flutter: [11:2:24.321] build......: 44
flutter: [11:2:24.323] update...2
flutter: [11:2:24.323] update...3
flutter: [11:2:24.340] build......: 44
[2024-05-18 11:02:24.366] [info] [AVClient.cpp:864] m_callBack(ctx->frame->data)...
flutter: [11:2:24.371] update...1
flutter: [11:2:24.377] update...2
flutter: [11:2:24.377] update...3
flutter: [11:2:24.388] build......: 44
[2024-05-18 11:02:24.408] [info] [AVClient.cpp:864] m_callBack(ctx->frame->data)...
flutter: [11:2:24.412] update...1
flutter: [11:2:24.415] update...2
flutter: [11:2:24.415] update...3
flutter: [11:2:24.423] build......: 44
[2024-05-18 11:02:24.458] [info] [AVClient.cpp:864] m_callBack(ctx->frame->data)...
flutter: [11:2:24.472] update...1
flutter: [11:2:24.475] update...2
flutter: [11:2:24.475] update...3
[2024-05-18 11:02:24.486] [info] [AVClient.cpp:864] m_callBack(ctx->frame->data)...
flutter: [11:2:24.490] update...1
flutter: [11:2:24.492] build......: 44
flutter: [11:2:24.494] update...2
flutter: [11:2:24.495] update...3
flutter: [11:2:24.506] build......: 44
[2024-05-18 11:02:24.527] [info] [AVClient.cpp:864] m_callBack(ctx->frame->data)...
flutter: [11:2:24.531] update...1
flutter: [11:2:24.534] update...2
flutter: [11:2:24.534] update...3
flutter: [11:2:24.538] build......: 44
[2024-05-18 11:02:24.578] [info] [AVClient.cpp:864] m_callBack(ctx->frame->data)...
flutter: [11:2:24.588] update...1
[2024-05-18 11:02:24.607] [info] [AVClient.cpp:864] m_callBack(ctx->frame->data)...
flutter: [11:2:24.617] update...2
flutter: [11:2:24.618] update...3
flutter: [11:2:24.623] update...1
flutter: [11:2:24.626] build......: 44
flutter: [11:2:24.628] update...2
flutter: [11:2:24.628] update...3
flutter: [11:2:24.638] build......: 44
[2024-05-18 11:02:24.647] [info] [AVClient.cpp:864] m_callBack(ctx->frame->data)...
flutter: [11:2:24.653] update...1
flutter: [11:2:24.657] update...2
flutter: [11:2:24.658] update...3
flutter: [11:2:24.671] build......: 44
[2024-05-18 11:02:24.697] [info] [AVClient.cpp:864] m_callBack(ctx->frame->data)...
flutter: [11:2:24.725] update...1
[2024-05-18 11:02:24.747] [info] [AVClient.cpp:864] m_callBack(ctx->frame->data)...
flutter: [11:2:24.751] update...2
flutter: [11:2:24.752] update...3
flutter: [11:2:24.759] update...1
flutter: [11:2:24.762] build......: 44
flutter: [11:2:24.763] update...2
flutter: [11:2:24.763] update...3
[2024-05-18 11:02:24.768] [info] [AVClient.cpp:864] m_callBack(ctx->frame->data)...
flutter: [11:2:24.773] update...1
flutter: [11:2:24.776] build......: 44
flutter: [11:2:24.777] update...2
flutter: [11:2:24.778] update...3
flutter: [11:2:24.789] build......: 44
[2024-05-18 11:02:24.797] [info] [AVClient.cpp:864] m_callBack(ctx->frame->data)...
flutter: [11:2:24.800] update...1
flutter: [11:2:24.804] update...2
flutter: [11:2:24.804] update...3
flutter: [11:2:24.822] build......: 44
[2024-05-18 11:02:24.847] [info] [AVClient.cpp:864] m_callBack(ctx->frame->data)...
[2024-05-18 11:02:24.868] [info] [AVClient.cpp:864] m_callBack(ctx->frame->data)...
flutter: [11:2:24.871] update...1
flutter: [11:2:24.877] update...1
flutter: [11:2:24.906] update...2
flutter: [11:2:24.906] update...3
flutter: [11:2:24.907] update...2
flutter: [11:2:24.907] update...3
[2024-05-18 11:02:24.919] [info] [AVClient.cpp:864] m_callBack(ctx->frame->data)...
flutter: [11:2:24.922] update...1
flutter: [11:2:24.924] build......: 45
flutter: [11:2:24.926] update...2
flutter: [11:2:24.926] update...3
flutter: [11:2:24.939] build......: 45
[2024-05-18 11:02:24.965] [info] [AVClient.cpp:864] m_callBack(ctx->frame->data)...
flutter: [11:2:24.969] update...1
flutter: [11:2:24.972] update...2
flutter: [11:2:24.972] update...3
flutter: [11:2:24.988] build......: 45
[2024-05-18 11:02:25.007] [info] [AVClient.cpp:864] m_callBack(ctx->frame->data)...
flutter: [11:2:25.11] update...1
flutter: [11:2:25.14] update...2
flutter: [11:2:25.14] update...3
flutter: [11:2:25.22] build......: 45
[2024-05-18 11:02:25.037] [info] [AVClient.cpp:864] m_callBack(ctx->frame->data)...
flutter: [11:2:25.40] update...1
flutter: [11:2:25.66] update...2
flutter: [11:2:25.66] update...3
flutter: [11:2:25.72] build......: 45
[2024-05-18 11:02:25.086] [info] [AVClient.cpp:864] m_callBack(ctx->frame->data)...
flutter: [11:2:25.90] update...1
flutter: [11:2:25.93] update...2
flutter: [11:2:25.93] update...3
flutter: [11:2:25.105] build......: 45
[2024-05-18 11:02:25.126] [info] [AVClient.cpp:864] m_callBack(ctx->frame->data)...
flutter: [11:2:25.155] update...1
[2024-05-18 11:02:25.177] [info] [AVClient.cpp:864] m_callBack(ctx->frame->data)...
flutter: [11:2:25.182] update...2
flutter: [11:2:25.183] update...3
flutter: [11:2:25.188] update...1
flutter: [11:2:25.192] build......: 45
flutter: [11:2:25.194] update...2
flutter: [11:2:25.195] update...3
flutter: [11:2:25.205] build......: 45
[2024-05-18 11:02:25.208] [info] [AVClient.cpp:864] m_callBack(ctx->frame->data)...
flutter: [11:2:25.220] update...1
flutter: [11:2:25.225] update...2
flutter: [11:2:25.226] update...3
flutter: [11:2:25.238] build......: 45
[2024-05-18 11:02:25.247] [info] [AVClient.cpp:864] m_callBack(ctx->frame->data)...
flutter: [11:2:25.249] update...1
flutter: [11:2:25.252] update...2
flutter: [11:2:25.253] update...3
flutter: [11:2:25.255] build......: 45
[2024-05-18 11:02:25.296] [info] [AVClient.cpp:864] m_callBack(ctx->frame->data)...
flutter: [11:2:25.321] update...1
flutter: [11:2:25.325] update...2
flutter: [11:2:25.325] update...3
[2024-05-18 11:02:25.327] [info] [AVClient.cpp:864] m_callBack(ctx->frame->data)...
flutter: [11:2:25.330] update...1
flutter: [11:2:25.333] update...2
flutter: [11:2:25.333] update...3
flutter: [11:2:25.338] build......: 46
[2024-05-18 11:02:25.366] [info] [AVClient.cpp:864] m_callBack(ctx->frame->data)...
flutter: [11:2:25.370] update...1
flutter: [11:2:25.373] update...2
flutter: [11:2:25.373] update...3
flutter: [11:2:25.388] build......: 46
[2024-05-18 11:02:25.418] [info] [AVClient.cpp:864] m_callBack(ctx->frame->data)...
flutter: [11:2:25.422] update...1
flutter: [11:2:25.425] update...2
flutter: [11:2:25.425] update...3
flutter: [11:2:25.438] build......: 46
[2024-05-18 11:02:25.466] [info] [AVClient.cpp:864] m_callBack(ctx->frame->data)...
flutter: [11:2:25.471] update...1
flutter: [11:2:25.474] update...2
flutter: [11:2:25.474] update...3
flutter: [11:2:25.489] build......: 46
[2024-05-18 11:02:25.490] [info] [AVClient.cpp:864] m_callBack(ctx->frame->data)...
flutter: [11:2:25.494] update...1
flutter: [11:2:25.499] update...2
flutter: [11:2:25.500] update...3
flutter: [11:2:25.505] build......: 46
[2024-05-18 11:02:25.517] [info] [AVClient.cpp:864] m_callBack(ctx->frame->data)...
flutter: [11:2:25.523] update...1
flutter: [11:2:25.526] update...2
flutter: [11:2:25.526] update...3
flutter: [11:2:25.538] build......: 46
[2024-05-18 11:02:25.557] [info] [AVClient.cpp:864] m_callBack(ctx->frame->data)...
flutter: [11:2:25.560] update...1
flutter: [11:2:25.587] update...2
flutter: [11:2:25.587] update...3
[2024-05-18 11:02:25.588] [info] [AVClient.cpp:864] m_callBack(ctx->frame->data)...
flutter: [11:2:25.593] update...1
flutter: [11:2:25.595] build......: 46
flutter: [11:2:25.596] update...2
flutter: [11:2:25.597] update...3
flutter: [11:2:25.605] build......: 46
[2024-05-18 11:02:25.637] [info] [AVClient.cpp:864] m_callBack(ctx->frame->data)...
flutter: [11:2:25.640] update...1
flutter: [11:2:25.643] update...2
flutter: [11:2:25.643] update...3
flutter: [11:2:25.655] build......: 46
[2024-05-18 11:02:25.676] [info] [AVClient.cpp:864] m_callBack(ctx->frame->data)...
flutter: [11:2:25.679] update...1
flutter: [11:2:25.682] update...2
flutter: [11:2:25.682] update...3
flutter: [11:2:25.689] build......: 46
[2024-05-18 11:02:25.727] [info] [AVClient.cpp:864] m_callBack(ctx->frame->data)...
flutter: [11:2:25.739] update...1
[2024-05-18 11:02:25.757] [info] [AVClient.cpp:864] m_callBack(ctx->frame->data)...
flutter: [11:2:25.765] update...2
flutter: [11:2:25.765] update...3
flutter: [11:2:25.769] update...1
flutter: [11:2:25.771] build......: 46
flutter: [11:2:25.773] update...2
flutter: [11:2:25.773] update...3
flutter: [11:2:25.789] build......: 46
[2024-05-18 11:02:25.798] [info] [AVClient.cpp:864] m_callBack(ctx->frame->data)...
flutter: [11:2:25.803] update...1
flutter: [11:2:25.806] update...2
flutter: [11:2:25.806] update...3
flutter: [11:2:25.822] build......: 46
[2024-05-18 11:02:25.846] [info] [AVClient.cpp:864] m_callBack(ctx->frame->data)...
flutter: [11:2:25.873] update...1
[2024-05-18 11:02:25.897] [info] [AVClient.cpp:864] m_callBack(ctx->frame->data)...
flutter: [11:2:25.897] update...2
flutter: [11:2:25.898] update...3
flutter: [11:2:25.902] update...1
flutter: [11:2:25.905] build......: 46
flutter: [11:2:25.907] update...2
flutter: [11:2:25.907] update...3
[2024-05-18 11:02:25.917] [info] [AVClient.cpp:864] m_callBack(ctx->frame->data)...
flutter: [11:2:25.924] update...1
flutter: [11:2:25.925] build......: 46
flutter: [11:2:25.926] update...2
flutter: [11:2:25.927] update...3
flutter: [11:2:25.939] build......: 46
[2024-05-18 11:02:25.966] [info] [AVClient.cpp:864] m_callBack(ctx->frame->data)...
flutter: [11:2:25.970] update...1
flutter: [11:2:25.973] update...2
flutter: [11:2:25.973] update...3
flutter: [11:2:25.989] build......: 46
[2024-05-18 11:02:26.016] [info] [AVClient.cpp:864] m_callBack(ctx->frame->data)...
flutter: [11:2:26.20] update...1
flutter: [11:2:26.23] update...2
flutter: [11:2:26.23] update...3
[2024-05-18 11:02:26.038] [info] [AVClient.cpp:864] m_callBack(ctx->frame->data)...
flutter: [11:2:26.41] update...1
flutter: [11:2:26.42] build......: 46
flutter: [11:2:26.44] update...2
flutter: [11:2:26.44] update...3
flutter: [11:2:26.55] build......: 46
[2024-05-18 11:02:26.087] [info] [AVClient.cpp:864] m_callBack(ctx->frame->data)...
flutter: [11:2:26.91] update...1
flutter: [11:2:26.119] update...2
flutter: [11:2:26.119] update...3
flutter: [11:2:26.122] build......: 46
[2024-05-18 11:02:26.137] [info] [AVClient.cpp:864] m_callBack(ctx->frame->data)...
flutter: [11:2:26.140] update...1
flutter: [11:2:26.145] update...2
flutter: [11:2:26.145] update...3
flutter: [11:2:26.156] build......: 46
[2024-05-18 11:02:26.188] [info] [AVClient.cpp:864] m_callBack(ctx->frame->data)...
flutter: [11:2:26.206] update...1
[2024-05-18 11:02:26.208] [info] [AVClient.cpp:864] m_callBack(ctx->frame->data)...
flutter: [11:2:26.235] update...2
flutter: [11:2:26.235] update...3
[2024-05-18 11:02:26.238] [info] [AVClient.cpp:864] m_callBack(ctx->frame->data)...
flutter: [11:2:26.239] update...1
flutter: [11:2:26.243] update...1
flutter: [11:2:26.244] update...2
flutter: [11:2:26.244] update...3
flutter: [11:2:26.246] update...2
flutter: [11:2:26.246] update...3
flutter: [11:2:26.255] build......: 48
[2024-05-18 11:02:26.276] [info] [AVClient.cpp:864] m_callBack(ctx->frame->data)...
flutter: [11:2:26.279] update...1
flutter: [11:2:26.282] update...2
flutter: [11:2:26.283] update...3
flutter: [11:2:26.288] build......: 48
[2024-05-18 11:02:26.306] [info] [AVClient.cpp:864] m_callBack(ctx->frame->data)...
flutter: [11:2:26.309] update...1
flutter: [11:2:26.336] update...2
flutter: [11:2:26.336] update...3
flutter: [11:2:26.338] build......: 48
[2024-05-18 11:02:26.356] [info] [AVClient.cpp:864] m_callBack(ctx->frame->data)...
flutter: [11:2:26.359] update...1
flutter: [11:2:26.362] update...2
flutter: [11:2:26.362] update...3
flutter: [11:2:26.371] build......: 48
[2024-05-18 11:02:26.397] [info] [AVClient.cpp:864] m_callBack(ctx->frame->data)...
flutter: [11:2:26.421] update...1
flutter: [11:2:26.423] update...2
flutter: [11:2:26.424] update...3
flutter: [11:2:26.439] build......: 48
[2024-05-18 11:02:26.447] [info] [AVClient.cpp:864] m_callBack(ctx->frame->data)...
flutter: [11:2:26.450] update...1
flutter: [11:2:26.453] update...2
flutter: [11:2:26.453] update...3
flutter: [11:2:26.455] build......: 48
[2024-05-18 11:02:26.476] [info] [AVClient.cpp:864] m_callBack(ctx->frame->data)...
flutter: [11:2:26.480] update...1
flutter: [11:2:26.483] update...2
flutter: [11:2:26.483] update...3
flutter: [11:2:26.489] build......: 48
[2024-05-18 11:02:26.517] [info] [AVClient.cpp:864] m_callBack(ctx->frame->data)...
flutter: [11:2:26.535] update...1
flutter: [11:2:26.538] update...2
flutter: [11:2:26.538] update...3
flutter: [11:2:26.555] build......: 48
[2024-05-18 11:02:26.567] [info] [AVClient.cpp:864] m_callBack(ctx->frame->data)...
flutter: [11:2:26.570] update...1
flutter: [11:2:26.574] update...2
flutter: [11:2:26.574] update...3
flutter: [11:2:26.588] build......: 48
[2024-05-18 11:02:26.618] [info] [AVClient.cpp:864] m_callBack(ctx->frame->data)...
flutter: [11:2:26.637] update...1
[2024-05-18 11:02:26.638] [info] [AVClient.cpp:864] m_callBack(ctx->frame->data)...
flutter: [11:2:26.642] update...1
flutter: [11:2:26.669] update...2
flutter: [11:2:26.670] update...3
flutter: [11:2:26.670] update...2
flutter: [11:2:26.670] update...3
flutter: [11:2:26.671] build......: 49
[2024-05-18 11:02:26.687] [info] [AVClient.cpp:864] m_callBack(ctx->frame->data)...
flutter: [11:2:26.690] update...1
flutter: [11:2:26.693] update...2
flutter: [11:2:26.693] update...3
flutter: [11:2:26.705] build......: 49
[2024-05-18 11:02:26.736] [info] [AVClient.cpp:864] m_callBack(ctx->frame->data)...
flutter: [11:2:26.753] update...1
flutter: [11:2:26.757] update...2
flutter: [11:2:26.757] update...3
[2024-05-18 11:02:26.757] [info] [AVClient.cpp:864] m_callBack(ctx->frame->data)...
flutter: [11:2:26.761] update...1
flutter: [11:2:26.764] update...2
flutter: [11:2:26.764] update...3
flutter: [11:2:26.772] build......: 50
[2024-05-18 11:02:26.806] [info] [AVClient.cpp:864] m_callBack(ctx->frame->data)...
flutter: [11:2:26.809] update...1
flutter: [11:2:26.814] update...2
flutter: [11:2:26.815] update...3
flutter: [11:2:26.821] build......: 50
[2024-05-18 11:02:26.856] [info] [AVClient.cpp:864] m_callBack(ctx->frame->data)...
flutter: [11:2:26.860] update...1
flutter: [11:2:26.865] update...2
flutter: [11:2:26.865] update...3
flutter: [11:2:26.872] build......: 50
[2024-05-18 11:02:26.908] [info] [AVClient.cpp:864] m_callBack(ctx->frame->data)...
flutter: [11:2:26.912] update...1
flutter: [11:2:26.916] update...2
flutter: [11:2:26.916] update...3
flutter: [11:2:26.921] build......: 50
[2024-05-18 11:02:26.927] [info] [AVClient.cpp:864] m_callBack(ctx->frame->data)...
flutter: [11:2:26.931] update...1
flutter: [11:2:26.934] update...2
flutter: [11:2:26.935] update...3
flutter: [11:2:26.938] build......: 50
[2024-05-18 11:02:26.959] [info] [AVClient.cpp:864] m_callBack(ctx->frame->data)...
flutter: [11:2:26.966] update...1
flutter: [11:2:26.968] update...2
flutter: [11:2:26.969] update...3
flutter: [11:2:26.972] build......: 50
[2024-05-18 11:02:26.998] [info] [AVClient.cpp:864] m_callBack(ctx->frame->data)...
flutter: [11:2:27.19] update...1
flutter: [11:2:27.23] update...2
flutter: [11:2:27.23] update...3
[2024-05-18 11:02:27.027] [info] [AVClient.cpp:864] m_callBack(ctx->frame->data)...
flutter: [11:2:27.32] update...1
flutter: [11:2:27.36] update...2
flutter: [11:2:27.36] update...3
flutter: [11:2:27.38] build......: 51
[2024-05-18 11:02:27.076] [info] [AVClient.cpp:864] m_callBack(ctx->frame->data)...
flutter: [11:2:27.81] update...1
flutter: [11:2:27.85] update...2
flutter: [11:2:27.85] update...3
[2024-05-18 11:02:27.121] [info] [AVClient.cpp:864] m_callBack(ctx->frame->data)...
flutter: [11:2:27.124] build......: 51
Lost connection to device.
PS C:\Users\mcs\Desktop\lernning\code\vscode-flutter\flutter_demo>

Flutter Doctor output

Doctor output
PS C:\Users\mcs\Downloads\sdk-3.4.0\samples\ffi\http> flutter -v doctor
Flutter assets will be downloaded from https://storage.flutter-io.cn. Make sure you trust this source!
[√] Flutter (Channel stable, 3.22.0, on Microsoft Windows [版本 10.0.19045.4412], locale zh-CN)
    • Flutter version 3.22.0 on channel stable at D:\mysoftware\flutterSDK\flutter_windows_3.19.6-stable\flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 5dcb86f68f (8 days ago), 2024-05-09 07:39:20 -0500
    • Engine revision f6344b75dc
    • Dart version 3.4.0
    • DevTools version 2.34.3
    • Pub download mirror https://pub.flutter-io.cn
    • Flutter download mirror https://storage.flutter-io.cn

[√] Windows Version (Installed version of Windows is version 10 or higher)

[X] Android toolchain - develop for Android devices
    X Unable to locate Android SDK.
      Install Android Studio from: https://developer.android.com/studio/index.html
      On first launch it will assist you in installing the Android SDK components.
      (or visit https://flutter.dev/docs/get-started/install/windows#android-setup for detailed instructions).
      If the Android SDK has been installed to a custom location, please use
      `flutter config --android-sdk` to update to that location.


[√] Chrome - develop for the web
    • Chrome at C:\Program Files\Google\Chrome\Application\chrome.exe

[√] Visual Studio - develop Windows apps (Visual Studio Professional 2022 17.9.7)
    • Visual Studio at D:\mysoftware\VisaualStudio2022
    • Visual Studio Professional 2022 version 17.9.34902.65
    • Windows 10 SDK version 10.0.22621.0

[√] Android Studio (version 2022.3)
    • Android Studio at D:\mysoftware\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 17.0.6+0-b2043.56-10027231)

[√] IntelliJ IDEA Ultimate Edition (version 2021.2)
    • IntelliJ at D:\mysoftware\IntelliJ IDEA 2021.2.4
    • 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

[√] Connected device (3 available)
    • Windows (desktop) • windows • windows-x64    • Microsoft Windows [版本 10.0.19045.4412]
    • Chrome (web)      • chrome  • web-javascript • Google Chrome 124.0.6367.202
    • Edge (web)        • edge    • web-javascript • Microsoft Edge 124.0.2478.105

[√] Network resources
    • All expected network resources are available.

! Doctor found issues in 1 category.
PS C:\Users\mcs\Downloads\sdk-3.4.0\samples\ffi\http>
@mochunshuang mochunshuang added the from: performance template Issues created via a performance issue template label May 18, 2024
@mochunshuang
Copy link
Author

300ms.If you lose frames, let's lose frames. There are gains and losses

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
from: performance template Issues created via a performance issue template
Projects
None yet
Development

No branches or pull requests

1 participant