Ios 颤振加速度计/陀螺仪传感器滞后

Ios 颤振加速度计/陀螺仪传感器滞后,ios,flutter,accelerometer,gyroscope,sensors,Ios,Flutter,Accelerometer,Gyroscope,Sensors,我一直在尝试使用这个软件包实现一个陀螺仪图像查看器,但是,结果似乎非常滞后。我发现了一个类似的项目,它试图实现一个类似的目标,但正如你在视频中看到的那样,动画也非常滞后 下面的代码只是从事件中输出数据,我注意到数据是如何在更新之间延迟50毫秒的 有没有办法使动画平滑或更快地更新数据?或者这是颤振限制 注: 我尝试过其他帖子建议的发布版本,但结果保持不变 import 'package:sensors/sensors.dart'; class MyGyro extends StatefulWid

我一直在尝试使用这个软件包实现一个陀螺仪图像查看器,但是,结果似乎非常滞后。我发现了一个类似的项目,它试图实现一个类似的目标,但正如你在视频中看到的那样,动画也非常滞后

下面的代码只是从事件中输出数据,我注意到数据是如何在更新之间延迟50毫秒的

有没有办法使动画平滑或更快地更新数据?或者这是颤振限制

注: 我尝试过其他帖子建议的发布版本,但结果保持不变

import 'package:sensors/sensors.dart';

class MyGyro extends StatefulWidget {
  final Widget child;

  MyGyro({this.child});

  @override
  _MyGyroState createState() => _MyGyroState();
}

class _MyGyroState extends State<MyGyro> {
  double gyroX = 0;
  double gyroY = 0;

  @override
  void initState() {
    super.initState();

    gyroscopeEvents.listen((GyroscopeEvent event) {
      setState(() {
        gyroX = ((event.x * 100).round() / 100).clamp(-1.0, 1.0) * -1;
        gyroY = ((event.y * 100).round() / 100).clamp(-1.0, 1.0);
      });
    });
  }

  @override
  Widget build(BuildContext context) {
    return Container(
      height: 100,
      width: 100,
      child: Transform.translate(
        offset: Offset(gyroY, 0),
        child: Container(
          child: Center(
            child: Column(
              children: [Text("X: ${gyroX}"), Text("Y: ${gyroY}"),],
            ),
          ),
        ),
      ),
    );
  }
}

我发现这纯粹是我使用的软件包的问题,或者他们在收听传感器事件时硬编码了一个较慢的间隔,或者他们只是使用IOS通道的默认间隔


因此,我找到了另一个名为的包,它解决了这个问题。这是一个访问传感器事件的非常简单的API,但它允许您更改间隔。

我发现这纯粹是我使用的软件包的问题,或者他们在侦听传感器事件时硬编码了较慢的间隔,或者他们只是使用IOS通道的默认间隔


因此,我找到了另一个名为的包,它解决了这个问题。这是一个访问传感器事件的非常简单的API,但它允许您更改间隔。

您找到解决方案了吗?@Intractor是的,我现在已经包含了我的答案。您找到解决方案了吗?@Intractor是的,我现在已经包含了我的答案。