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

[Bug] Android devices render gray images #1759

Open
aodong8808 opened this issue Jan 17, 2025 · 14 comments
Open

[Bug] Android devices render gray images #1759

aodong8808 opened this issue Jan 17, 2025 · 14 comments
Assignees
Labels
bug verified Something isn't working, verified by maintainers

Comments

@aodong8808
Copy link

Describe the Bug

On multiple Android devices including Xiaomi 12 OPPO and Realme GT5 Pro, MPR rendering is gray and 3D is black

Steps to Reproduce

"@cornerstonejs/calculate-suv": "^1.1.0",
"@cornerstonejs/core": "^2.15.4",
"@cornerstonejs/dicom-image-loader": "^2.15.4",
"@cornerstonejs/nifti-volume-loader": "^2.15.4",
"@cornerstonejs/streaming-image-volume-loader": "^1.86.1",
"@cornerstonejs/tools": "^2.15.4",
"@kitware/vtk.js": "^32.9.0",

Image
https://www.cornerstonejs.org/live-examples/crosshairs Can't render properly

Image

The current behavior

All stacks, volumes and 3d volumes are not rendering properly, they are all grey blocks or black

The expected behavior

Normal Rendering Volume and 3D Volume

OS

Android 14

Node version

16.14.0

Browser

chrome Wechat browser 8.0.55

@daker
Copy link
Contributor

daker commented Jan 17, 2025

I am seeing the same issues on Pixel phones

@idemopacs
Copy link

We are facing same issue on multiple android devices.
I am having Android version 14 on One plus mobile with Snapdragon 8 plus Gen 1 processor. I am attaching here study for you to check. In this study MPR is not working on any of the series. But in some other studies MPR works on few series out of all.

Here is WebGL 2 report

Image

Download link for Study.zip
https://we.tl/t-V3pXwG0jD5

@sedghi
Copy link
Member

sedghi commented Jan 20, 2025

Which android device is this

I'm emulating a Pixel 7 via API 35 (Android 15.0 arm64-v81) and looks fine

Image

Can you give me reproducible steps via https://docs.ohif.org/development/android-ios-debugging/#android-emulator-setup-with-android-studio

@sedghi
Copy link
Member

sedghi commented Jan 20, 2025

Pixel 8 on BrowserStack (which is a real device not emulation) also seem to work fine , so i'm confused

Image

@sedghi
Copy link
Member

sedghi commented Jan 20, 2025

But i can see the Huawei P30 does not work

Image

@sedghi
Copy link
Member

sedghi commented Jan 20, 2025

I'm waiting for Kitware/vtk-js#3133 to be merged so I can properly initialize cornerstone3D based on the host device. We need to draw a small offscreen canvas in a preferred order to determine which one the host device supports. This will ensure the correct data and texture types are used for rendering, resolving all our device inconsistencies.

@sedghi sedghi added bug verified Something isn't working, verified by maintainers and removed Awaiting Reproduction labels Jan 20, 2025
@sedghi
Copy link
Member

sedghi commented Jan 20, 2025

Xiaomi Redmi Note 12 Pro v12.0 works too

as you can see it is a mess

Image

@daker
Copy link
Contributor

daker commented Jan 20, 2025

But i can see the Huawei P30 does not work

Image

On my Pixel 7A it doesn't work, same rendering

@sedghi
Copy link
Member

sedghi commented Jan 20, 2025

Unfortunately, they don't have 7A.

Image

I think the right approach is to render a test canvas; we can't modify the pipeline for each device. I'll look into fixing this permanently.

@idemopacs
Copy link

@sedghi , I am testing on OnePlus 11R.

Image

@sedghi
Copy link
Member

sedghi commented Jan 20, 2025

Ok i created simple check over all rendering pipelines, test it here (https://debug.ohif.org) , and paste the status checks at the bottom here

Image

@sedghi
Copy link
Member

sedghi commented Jan 20, 2025

For instancwe for huwaei p30 i get this

Image

now the task is to find the optimal fallbacks for rendering

@daker
Copy link
Contributor

daker commented Jan 20, 2025

Pixel 7A

Texture Format Support:

norm16              : [YES]
norm16Linear        : [NO] 
float               : [YES]
floatLinear         : [YES]
halfFloat           : [YES]
halfFloatLinear     : [YES]

@idemopacs
Copy link

For OnePlus 11R

Image

@linear linear bot assigned sedghi Jan 24, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug verified Something isn't working, verified by maintainers
Projects
None yet
Development

No branches or pull requests

4 participants