gpt4 book ai didi

android - Camera2 中的预览回调明显慢于 Camera1

转载 作者:IT老高 更新时间:2023-10-28 22:03:39 24 4
gpt4 key购买 nike

现在是 2017 年,我终于开始从 Camera1 切换到 Camera2。在 Camera1 中,我非常依赖 setPreviewCallbackWithBuffer() 来执行实时帧处理,但是在 Camera2 中,它的运行速度要慢得多,以至于几乎无法使用。

相比之下,在 Moto G3 上,Camera1 可以轻松产生 30-40 FPS,而在 Camera2 上我无法获得超过 10-15 FPS。

这是我创建 ImageReader

的方式
imageReader = ImageReader
.newInstance(
previewSize.width, // size is around 1280x720
previewSize.height,
ImageFormat.YUV_420_888, // note, it is not JPEG
2 // max number of images, does not really affect performance
);

imageReader.setOnImageAvailableListener(
callback,
CameraThread.getInstance().createHandler()
);

回调本身做了最少的工作:

Image image = reader.acquireNextImage();
image.close();

我已经检查过类似的答案,例如 this one .然而他们的问题是他们使用 JPEG 图像格式而不是 YUV_420_888

如何达到类似Camera1的性能?

最佳答案

我在支持 Camera1 和 Camera2 API 的应用上遇到了同样的性能问题。当 Android 版本高于 Lollipop 时,我曾经切换到 Camera2 API,导致性能非常糟糕(我当时有两个目标:ImageReader 和 Surface)。

只有当手机完全支持硬件时,我才最终使用 Camera2 API。您可以使用 CameraCharacteristics.INFO_SUPPORTED_HARDWARE_LEVEL

进行检查

希望对你有帮助

关于android - Camera2 中的预览回调明显慢于 Camera1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43687624/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com