Assigned
Status Update
Comments
l....@gmail.com <l....@gmail.com> #2
Attaching screen recording having CameraX sample Vs Native camera on Samsung J4+ device.
CameraX sample => 0:00 -> 0:37 seconds
Native camera => 0:38 -> [end of video]
Regards,
Venkatesh.
CameraX sample => 0:00 -> 0:37 seconds
Native camera => 0:38 -> [end of video]
Regards,
Venkatesh.
fu...@google.com <fu...@google.com> #3
Hi, thanks for the video, it helps clarify alot.
Can you test it outside during the day pointing at a bright scene, or point it at the sun? This is just to confirm its not the exposure time that's an issue. What we may perceive as bright can be very different from what a camera perceives.
Assuming its the same in bright conditions, if you're using ImageAnalysis, can you remove the imageAnalysis part (not attach it) and see if that changes the preview speed?
Can you test it outside during the day pointing at a bright scene, or point it at the sun? This is just to confirm its not the exposure time that's an issue. What we may perceive as bright can be very different from what a camera perceives.
Assuming its the same in bright conditions, if you're using ImageAnalysis, can you remove the imageAnalysis part (not attach it) and see if that changes the preview speed?
sc...@google.com <sc...@google.com> #4
Hi Venkatesh,
You are using Camera1 API prior to the cameraX , am I right ?
And how do you get the ImageAnalysis-equivalent image by using Camera1 API ?
The facts are, due to the constraint of Camera2 API, adding ImageAnalysis on LEGACY devices (INFO_SUPPORTED_HARDWARE_LEVEL_LEGACY) will result in slow preview for sure. This is indeed a big problem and we can exploring the possibility to address this issue.
As for the slow capture , is it a Samsung J4+ specific issue or it happens on many other devices as well ?
You are using Camera1 API prior to the cameraX , am I right ?
And how do you get the ImageAnalysis-equivalent image by using Camera1 API ?
The facts are, due to the constraint of Camera2 API, adding ImageAnalysis on LEGACY devices (INFO_SUPPORTED_HARDWARE_LEVEL_LEGACY) will result in slow preview for sure. This is indeed a big problem and we can exploring the possibility to address this issue.
As for the slow capture , is it a Samsung J4+ specific issue or it happens on many other devices as well ?
sc...@google.com <sc...@google.com> #5
Hi Venkatesh
Can you help update the takePicture performance regression information ?
Specifically , what are the latency differences you observed between beta05 and beta12, and on what devices ?
Scott
Can you help update the takePicture performance regression information ?
Specifically , what are the latency differences you observed between beta05 and beta12, and on what devices ?
Scott
sc...@google.com <sc...@google.com> #6
Let's use this bug for tracking slow preview issues.
Createdhttps://issuetracker.google.com/177061437 to track the capture images taking 3-10 seconds issue.
Createdhttps://issuetracker.google.com/177061560 to track performance regression from beta05 to rc01.
Created
Created
sc...@google.com <sc...@google.com> #7
Hi Venkatesh,
Regarding the slow preview issue, does the following workaround work for you ?
(a) Use a small resolution like 240x320 on ImageAnalysis.
On Samsung J4+, when ImageAnalysis is used
* (640x480 YUV) Preview fps = 15
* (320x240 YUV) Preview fps = 26~ 30
You can set the targetResolution to (240, 320) (in portrait mode) to enable it.
(b). Use setRepeatingBurstRequests to reduce the YUV output frequency.
On Samsung J4+. (YUV resolution 640x480)
* (1 request with YUV, 2 requests without YUV) Preview fps = 18~20
* (1 request with YUV, 3 requests without YUV) Preview fps = 19~23
Unfortunately, Fix it completely without lowering resolution or frequency takes a large effort which we don't think it is feasible for now.
Regarding the slow preview issue, does the following workaround work for you ?
(a) Use a small resolution like 240x320 on ImageAnalysis.
On Samsung J4+, when ImageAnalysis is used
* (640x480 YUV) Preview fps = 15
* (320x240 YUV) Preview fps = 26~ 30
You can set the targetResolution to (240, 320) (in portrait mode) to enable it.
(b). Use setRepeatingBurstRequests to reduce the YUV output frequency.
On Samsung J4+. (YUV resolution 640x480)
* (1 request with YUV, 2 requests without YUV) Preview fps = 18~20
* (1 request with YUV, 3 requests without YUV) Preview fps = 19~23
Unfortunately, Fix it completely without lowering resolution or frequency takes a large effort which we don't think it is feasible for now.
Description
Please describe your issue and include details such as the version of CameraX you are using and any relevant logs related to your issue.
After we published our app to production with CameraX upgrade. Our users started complaining that camera is slow.
Preview is lagging.
Capture an image is taking 3-10 seconds and more.
I am checking internally on process to share device data for compliance.
// If at all possible, capture an Android logcat (
CAMERAX VERSION (ex - 1.0.0-alpha07) Beta-05
CAMERA APPLICATION NAME AND VERSION: (Settings > Apps > (app name) > version)
ANDROID OS BUILD NUMBER: (Settings > About > Build number)
DEVICE NAME: (Nexus 5X, Samsung S6, etc)
Not device specific.
Example : Samsung J4+
DESCRIPTION:
LIST ANY EXPERIMENTAL FEATURES: (As an example - @ExperimentalCamera2Interop)
STEPS TO REPRODUCE:
1.
2.
3.
OBSERVED RESULTS:
EXPECTED RESULTS:
REPRODUCIBILITY: (5 of 5, 1 of 100, etc)
ADDITIONAL INFORMATION:
CODE FRAGMENTS (this will help us troubleshoot your issues):