Open tMarenzi opened 5 years ago
Upon further testing I've found that, if I trigger the onPause
and onResume
methods of the activity (by simply clicking the Overview button and selecting the test app) a weird glitch is displayed on the screen:
This is the logcat after the pause-resume action:
09-19 10:54:25.872 20701-20803/com.sceneform.mytest D/OpenGLRenderer: eglDestroySurface = 0xd72ddb40
09-19 10:54:25.894 20701-20701/com.sceneform.mytest D/ViewRootImpl@865a863[ViewRenderableWindow]: dispatchDetachedFromWindow
09-19 10:54:25.895 20701-20701/com.sceneform.mytest D/InputEventReceiver: channel '66a1536 ViewRenderableWindow (client)' ~ Disposing input event receiver.
channel '66a1536 ViewRenderableWindow (client)' ~NativeInputEventReceiver.
09-19 10:54:25.904 20701-20701/com.sceneform.mytest D/InputTransport: Input channel destroyed: fd=77
09-19 10:54:25.905 20701-20701/com.sceneform.mytest D/ViewRootImpl@1f98ae1[SimpleSceneActivity]: MSG_WINDOW_FOCUS_CHANGED 0
09-19 10:56:12.899 20701-20701/com.sceneform.mytest D/InputTransport: Input channel destroyed: fd=87
09-19 10:56:12.913 20701-20701/com.sceneform.mytest D/ViewRootImpl@1f98ae1[SimpleSceneActivity]: MSG_WINDOW_FOCUS_CHANGED 1
09-19 10:56:12.915 20701-20701/com.sceneform.mytest V/InputMethodManager: Starting input: tba=android.view.inputmethod.EditorInfo@6e3e9de nm : com.sceneform.mytest ic=null
09-19 10:56:12.915 20701-20701/com.sceneform.mytest I/InputMethodManager: startInputInner - mService.startInputOrWindowGainedFocus
09-19 10:56:12.920 20701-20701/com.sceneform.mytest D/InputTransport: Input channel constructed: fd=71
09-19 10:56:12.975 20701-20701/com.sceneform.mytest D/InputTransport: Input channel constructed: fd=73
09-19 10:56:12.975 20701-20701/com.sceneform.mytest D/ViewRootImpl@74d89d5[ViewRenderableWindow]: setView = android.widget.FrameLayout{c290c60 V.E...... ......I. 0,0-0,0} TM=true MM=false
09-19 10:56:12.979 20701-20701/com.sceneform.mytest D/ViewRootImpl@74d89d5[ViewRenderableWindow]: dispatchAttachedToWindow
09-19 10:56:13.051 20701-20701/com.sceneform.mytest V/Surface: sf_framedrop debug : 0x4f4c, game : false, logging : 0
09-19 10:56:13.054 20701-20701/com.sceneform.mytest D/ViewRootImpl@74d89d5[ViewRenderableWindow]: Relayout returned: old=[0,0][0,0] new=[360,640][360,640] result=0x7 surface={valid=true 3321176064} changed=true
09-19 10:56:13.057 20701-20803/com.sceneform.mytest D/mali_winsys: EGLint new_window_surface(egl_winsys_display *, void *, EGLSurface, EGLConfig, egl_winsys_surface **, egl_color_buffer_format *, EGLBoolean) returns 0x3000, [1x1]-format:1
09-19 10:56:13.057 20701-20803/com.sceneform.mytest D/OpenGLRenderer: eglCreateWindowSurface = 0xc97de5c0
09-19 10:56:13.070 20701-20701/com.sceneform.mytest D/ViewRootImpl@74d89d5[ViewRenderableWindow]: MSG_RESIZED_REPORT: frame=Rect(360, 640 - 360, 640) ci=Rect(0, 0 - 0, 0) vi=Rect(0, 0 - 0, 0) or=1
09-19 10:56:22.109 20701-20803/com.sceneform.mytest D/OpenGLRenderer: eglDestroySurface = 0xc97de5c0
09-19 10:56:22.110 20701-20701/com.sceneform.mytest D/ViewRootImpl@74d89d5[ViewRenderableWindow]: dispatchDetachedFromWindow
09-19 10:56:22.111 20701-20701/com.sceneform.mytest D/InputEventReceiver: channel '9479876 ViewRenderableWindow (client)' ~ Disposing input event receiver.
09-19 10:56:22.112 20701-20701/com.sceneform.mytest D/InputEventReceiver: channel '9479876 ViewRenderableWindow (client)' ~NativeInputEventReceiver.
09-19 10:56:22.117 20701-20701/com.sceneform.mytest D/InputTransport: Input channel destroyed: fd=73
09-19 10:56:22.118 20701-20701/com.sceneform.mytest D/ViewRootImpl@1f98ae1[SimpleSceneActivity]: MSG_WINDOW_FOCUS_CHANGED 0
09-19 10:56:22.132 20701-20701/com.sceneform.mytest D/SurfaceView: BG show() Surface(name=Background for - SurfaceView - com.sceneform.mytest/com.sceneform.mytest.SimpleSceneActivity@d2ed65c@0) com.google.ar.sceneform.SceneView{d2ed65c V.E...... ........ 0,0-720,1232 #7f070070 app:id/scene_view}
09-19 10:56:22.133 20701-20701/com.sceneform.mytest D/SurfaceView: surfaceDestroyed 1 #1 com.google.ar.sceneform.SceneView{d2ed65c V.E...... ........ 0,0-720,1232 #7f070070 app:id/scene_view}
09-19 10:56:22.148 20701-20701/com.sceneform.mytest D/SurfaceView: BG show() Surface(name=Background for - SurfaceView - com.sceneform.mytest/com.sceneform.mytest.SimpleSceneActivity@d2ed65c@0) com.google.ar.sceneform.SceneView{d2ed65c V.E...... ........ 0,0-720,1232 #7f070070 app:id/scene_view}
09-19 10:56:22.151 20701-20803/com.sceneform.mytest D/OpenGLRenderer: eglDestroySurface = 0xc97de580
09-19 10:56:22.157 20701-20701/com.sceneform.mytest D/ViewRootImpl@1f98ae1[SimpleSceneActivity]: Relayout returned: old=[0,0][720,1280] new=[0,0][720,1280] result=0x5 surface={valid=false 0} changed=true
09-19 10:56:22.518 20701-20701/com.sceneform.mytest D/ViewRootImpl@1f98ae1[SimpleSceneActivity]: Relayout returned: old=[0,0][720,1280] new=[0,0][720,1280] result=0x1 surface={valid=false 0} changed=false
09-19 10:56:22.525 20701-20701/com.sceneform.mytest D/InputTransport: Input channel destroyed: fd=71
09-19 10:56:23.836 20701-20701/com.sceneform.mytest D/ViewRootImpl@1f98ae1[SimpleSceneActivity]: Relayout returned: old=[0,0][720,1280] new=[0,0][720,1280] result=0x1 surface={valid=false 0} changed=false
09-19 10:56:23.863 20701-20701/com.sceneform.mytest V/Surface: sf_framedrop debug : 0x4f4c, game : false, logging : 0
09-19 10:56:23.866 20701-20701/com.sceneform.mytest D/ViewRootImpl@1f98ae1[SimpleSceneActivity]: Relayout returned: old=[0,0][720,1280] new=[0,0][720,1280] result=0x7 surface={valid=true 3322089472} changed=true
09-19 10:56:23.870 20701-20803/com.sceneform.mytest D/mali_winsys: EGLint new_window_surface(egl_winsys_display *, void *, EGLSurface, EGLConfig, egl_winsys_surface **, egl_color_buffer_format *, EGLBoolean) returns 0x3000, [720x1280]-format:1
09-19 10:56:23.870 20701-20803/com.sceneform.mytest D/OpenGLRenderer: eglCreateWindowSurface = 0xc97de500
09-19 10:56:23.877 20701-20701/com.sceneform.mytest D/SurfaceView: BG show() Surface(name=Background for - SurfaceView - com.sceneform.mytest/com.sceneform.mytest.SimpleSceneActivity@d2ed65c@1) com.google.ar.sceneform.SceneView{d2ed65c V.E...... ........ 0,0-720,1232 #7f070070 app:id/scene_view}
09-19 10:56:23.877 20701-20701/com.sceneform.mytest V/Surface: sf_framedrop debug : 0x4f4c, game : false, logging : 0
09-19 10:56:23.878 20701-20701/com.sceneform.mytest D/SurfaceView: surfaceCreated 1 #8 com.google.ar.sceneform.SceneView{d2ed65c V.E...... ........ 0,0-720,1232 #7f070070 app:id/scene_view}
surfaceChanged (720,1232) 1 #8 com.google.ar.sceneform.SceneView{d2ed65c V.E...... ........ 0,0-720,1232 #7f070070 app:id/scene_view}
09-19 10:56:23.879 20701-20701/com.sceneform.mytest E/BpSurfaceComposerClient: Failed to transact (-1)
09-19 10:56:23.879 20701-20701/com.sceneform.mytest D/SurfaceView: BG destroy() Surface(name=Background for - SurfaceView - com.sceneform.mytest/com.sceneform.mytest.SimpleSceneActivity@d2ed65c@0) com.google.ar.sceneform.SceneView{d2ed65c V.E...... ........ 0,0-720,1232 #7f070070 app:id/scene_view}
09-19 10:56:23.880 20701-20701/com.sceneform.mytest E/BpSurfaceComposerClient: Failed to transact (-1)
09-19 10:56:23.891 20701-20701/com.sceneform.mytest D/InputTransport: Input channel constructed: fd=69
09-19 10:56:23.891 20701-20701/com.sceneform.mytest D/ViewRootImpl@f100778[ViewRenderableWindow]: setView = android.widget.FrameLayout{c290c60 V.E...... ......I. 0,0-0,0} TM=true MM=false
09-19 10:56:23.893 20701-21155/com.sceneform.mytest D/mali_winsys: EGLint new_window_surface(egl_winsys_display *, void *, EGLSurface, EGLConfig, egl_winsys_surface **, egl_color_buffer_format *, EGLBoolean) returns 0x3000, [720x1232]-format:2
09-19 10:56:23.905 20701-20701/com.sceneform.mytest D/ViewRootImpl@1f98ae1[SimpleSceneActivity]: Relayout returned: old=[0,0][720,1280] new=[0,0][720,1280] result=0x3 surface={valid=true 3322089472} changed=false
09-19 10:56:23.920 20701-20701/com.sceneform.mytest D/ViewRootImpl@f100778[ViewRenderableWindow]: dispatchAttachedToWindow
09-19 10:56:23.947 20701-20701/com.sceneform.mytest V/Surface: sf_framedrop debug : 0x4f4c, game : false, logging : 0
09-19 10:56:23.948 20701-20701/com.sceneform.mytest D/ViewRootImpl@f100778[ViewRenderableWindow]: Relayout returned: old=[0,0][0,0] new=[360,640][360,640] result=0x7 surface={valid=true 3357622272} changed=true
09-19 10:56:23.951 20701-20803/com.sceneform.mytest D/mali_winsys: EGLint new_window_surface(egl_winsys_display *, void *, EGLSurface, EGLConfig, egl_winsys_surface **, egl_color_buffer_format *, EGLBoolean) returns 0x3000, [1x1]-format:1
09-19 10:56:23.951 20701-20803/com.sceneform.mytest D/OpenGLRenderer: eglCreateWindowSurface = 0xc97de6c0
09-19 10:56:23.954 20701-20701/com.sceneform.mytest D/ViewRootImpl@1f98ae1[SimpleSceneActivity]: MSG_WINDOW_FOCUS_CHANGED 1
09-19 10:56:23.985 20701-20701/com.sceneform.mytest V/InputMethodManager: Starting input: tba=android.view.inputmethod.EditorInfo@ae9ee51 nm : com.sceneform.mytest ic=null
09-19 10:56:23.985 20701-20701/com.sceneform.mytest I/InputMethodManager: startInputInner - mService.startInputOrWindowGainedFocus
09-19 10:56:24.019 20701-20701/com.sceneform.mytest D/InputTransport: Input channel constructed: fd=77
09-19 10:56:24.036 20701-20701/com.sceneform.mytest D/ViewRootImpl@f100778[ViewRenderableWindow]: MSG_RESIZED_REPORT: frame=Rect(360, 640 - 360, 640) ci=Rect(0, 0 - 0, 0) vi=Rect(0, 0 - 0, 0) or=1
09-19 10:56:28.905 20701-20701/com.sceneform.mytest D/ViewRootImpl@1f98ae1[SimpleSceneActivity]: ViewPostIme pointer 0
09-19 10:56:29.391 20701-20701/com.sceneform.mytest D/ViewRootImpl@1f98ae1[SimpleSceneActivity]: ViewPostIme pointer 1
09-19 10:56:31.218 20701-20701/com.sceneform.mytest D/ViewRootImpl@1f98ae1[SimpleSceneActivity]: ViewPostIme pointer 0
09-19 10:56:31.286 20701-20719/com.sceneform.mytest I/zygote: Do full code cache collection, code=125KB, data=123KB
09-19 10:56:31.287 20701-20719/com.sceneform.mytest I/zygote: After code cache collection, code=122KB, data=95KB
09-19 10:56:31.595 20701-20701/com.sceneform.mytest D/ViewRootImpl@1f98ae1[SimpleSceneActivity]: ViewPostIme pointer 1
Setting the background color on the sceneview seems to prevent the 3D models from displaying for me. Does anything different happen if you don't set the background? A notable difference between the devices you listed is that the J3 uses an exynos processor, though I wasn't able to reproduce this on an available S8.
Does anything different happen if you don't set the background?
Unfortunately no, removing the sceneView.setBackgroundResource(R.color.colorAccent)
line doesn't change anything. The screen is still black.
This is the logcat for the activity without the background
09-20 09:12:11.570 18589-18589/com.sceneform.mytest D/ViewRootImpl@86964e4[MenuActivity]: ViewPostIme pointer 0
09-20 09:12:11.619 18589-18589/com.sceneform.mytest D/ViewRootImpl@86964e4[MenuActivity]: ViewPostIme pointer 1
09-20 09:12:11.670 18589-18589/com.sceneform.mytest D/ViewRootImpl@86964e4[MenuActivity]: MSG_WINDOW_FOCUS_CHANGED 0
09-20 09:12:11.744 18589-18589/com.sceneform.mytest D/SurfaceView: setPackageUsesOwnResolution() (Java SurfaceView) for unknown app: 0x0 (false)
09-20 09:12:11.754 18589-18589/com.sceneform.mytest I/Filament: FEngine (32 bits) created at 0xc8d80000
09-20 09:12:11.824 18589-18589/com.sceneform.mytest D/InputTransport: Input channel constructed: fd=75
09-20 09:12:11.825 18589-18589/com.sceneform.mytest D/ViewRootImpl@b1b949d[SimpleSceneActivity]: setView = DecorView@744d12[SimpleSceneActivity] TM=true MM=false
09-20 09:12:11.835 18589-18589/com.sceneform.mytest D/ViewRootImpl@b1b949d[SimpleSceneActivity]: dispatchAttachedToWindow
09-20 09:12:11.861 18589-18589/com.sceneform.mytest V/Surface: sf_framedrop debug : 0x4f4c, game : false, logging : 0
09-20 09:12:11.864 18589-18589/com.sceneform.mytest D/ViewRootImpl@b1b949d[SimpleSceneActivity]: Relayout returned: old=[0,0][0,0] new=[0,0][720,1280] result=0x7 surface={valid=true 3379838976} changed=true
09-20 09:12:11.868 18589-18605/com.sceneform.mytest D/mali_winsys: EGLint new_window_surface(egl_winsys_display *, void *, EGLSurface, EGLConfig, egl_winsys_surface **, egl_color_buffer_format *, EGLBoolean) returns 0x3000, [720x1280]-format:1
09-20 09:12:11.868 18589-18605/com.sceneform.mytest D/OpenGLRenderer: eglCreateWindowSurface = 0xca6b6080
09-20 09:12:11.876 18589-18589/com.sceneform.mytest D/SurfaceView: setPackageUsesOwnResolution() (Java SurfaceView) for com.sceneform.mytest: 720x1232 (false)
09-20 09:12:11.883 18589-18589/com.sceneform.mytest D/SurfaceView: BG show() Surface(name=Background for - SurfaceView - com.sceneform.mytest/com.sceneform.mytest.SimpleSceneActivity@7b660ba@0) com.google.ar.sceneform.SceneView{7b660ba V.E...... ......ID 0,0-720,1232 #7f070070 app:id/scene_view}
09-20 09:12:11.889 18589-18589/com.sceneform.mytest V/Surface: sf_framedrop debug : 0x4f4c, game : false, logging : 0
09-20 09:12:11.890 18589-18589/com.sceneform.mytest D/SurfaceView: surfaceCreated 1 #8 com.google.ar.sceneform.SceneView{7b660ba V.E...... ......ID 0,0-720,1232 #7f070070 app:id/scene_view}
surfaceChanged (720,1232) 1 #8 com.google.ar.sceneform.SceneView{7b660ba V.E...... ......ID 0,0-720,1232 #7f070070 app:id/scene_view}
09-20 09:12:12.045 18589-18589/com.sceneform.mytest D/loadModel: renderableLoaded
creating base node
09-20 09:12:12.049 18589-18589/com.sceneform.mytest D/loadModel: creating transformable node
09-20 09:12:12.062 18589-18589/com.sceneform.mytest D/loadModel: finished
09-20 09:12:12.074 18589-18589/com.sceneform.mytest D/InputTransport: Input channel constructed: fd=76
09-20 09:12:12.075 18589-18589/com.sceneform.mytest D/ViewRootImpl@1c86c6a[ViewRenderableWindow]: setView = android.widget.FrameLayout{75aa55b V.E...... ......I. 0,0-0,0} TM=true MM=false
09-20 09:12:12.091 18589-18627/com.sceneform.mytest D/mali_winsys: EGLint new_window_surface(egl_winsys_display *, void *, EGLSurface, EGLConfig, egl_winsys_surface **, egl_color_buffer_format *, EGLBoolean) returns 0x3000, [720x1232]-format:2
09-20 09:12:12.093 18589-18589/com.sceneform.mytest D/ViewRootImpl@b1b949d[SimpleSceneActivity]: Relayout returned: old=[0,0][720,1280] new=[0,0][720,1280] result=0x3 surface={valid=true 3379838976} changed=false
09-20 09:12:12.116 18589-18589/com.sceneform.mytest D/ViewRootImpl@1c86c6a[ViewRenderableWindow]: dispatchAttachedToWindow
09-20 09:12:12.141 18589-18589/com.sceneform.mytest V/Surface: sf_framedrop debug : 0x4f4c, game : false, logging : 0
09-20 09:12:12.146 18589-18589/com.sceneform.mytest D/ViewRootImpl@1c86c6a[ViewRenderableWindow]: Relayout returned: old=[0,0][0,0] new=[360,640][360,640] result=0x7 surface={valid=true 3354976256} changed=true
09-20 09:12:12.153 18589-18589/com.sceneform.mytest D/ViewRootImpl@b1b949d[SimpleSceneActivity]: MSG_RESIZED_REPORT: frame=Rect(0, 0 - 720, 1280) ci=Rect(0, 48 - 0, 0) vi=Rect(0, 48 - 0, 0) or=1
MSG_WINDOW_FOCUS_CHANGED 1
09-20 09:12:12.156 18589-18589/com.sceneform.mytest V/InputMethodManager: Starting input: tba=android.view.inputmethod.EditorInfo@f5c51f8 nm : com.sceneform.mytest ic=null
09-20 09:12:12.157 18589-18589/com.sceneform.mytest I/InputMethodManager: startInputInner - mService.startInputOrWindowGainedFocus
09-20 09:12:12.158 18589-18605/com.sceneform.mytest D/mali_winsys: EGLint new_window_surface(egl_winsys_display *, void *, EGLSurface, EGLConfig, egl_winsys_surface **, egl_color_buffer_format *, EGLBoolean) returns 0x3000, [1x1]-format:1
09-20 09:12:12.158 18589-18605/com.sceneform.mytest D/OpenGLRenderer: eglCreateWindowSurface = 0xca6b6e20
09-20 09:12:12.162 18589-18589/com.sceneform.mytest D/InputTransport: Input channel constructed: fd=84
Input channel destroyed: fd=64
09-20 09:12:12.215 18589-18589/com.sceneform.mytest D/ViewRootImpl@1c86c6a[ViewRenderableWindow]: MSG_RESIZED_REPORT: frame=Rect(360, 640 - 360, 640) ci=Rect(0, 0 - 0, 0) vi=Rect(0, 0 - 0, 0) or=1
09-20 09:12:12.242 18589-18605/com.sceneform.mytest D/OpenGLRenderer: eglDestroySurface = 0xdf5c1f80
endAllActiveAnimators on 0xcb0fbd80 (RippleDrawable) with handle 0xdd7d10c0
09-20 09:12:12.250 18589-18589/com.sceneform.mytest D/ViewRootImpl@86964e4[MenuActivity]: Relayout returned: old=[0,0][720,1280] new=[0,0][720,1280] result=0x5 surface={valid=false 0} changed=true
09-20 09:12:13.060 18589-18594/com.sceneform.mytest I/zygote: Do partial code cache collection, code=27KB, data=30KB
09-20 09:12:13.061 18589-18594/com.sceneform.mytest I/zygote: After code cache collection, code=27KB, data=30KB
Increasing code cache capacity to 128KB
We don't support this device yet. We'll update this ticket if there's a change.
@tMarenzi which year/model is your J3 device?
Hi @abramyan thanks for the info.
The device model is SM-J330FN
, it should be the 2017 model.
May I ask what is about this phone that makes it unsupported at the moment? Is there a list of devices supported by SceneForm?
We prioritize the Android devices listed here: https://developers.google.com/ar/discover/supported-devices We try to do the best we can on devices that support Android N and OpenGL ES 3.0 or later. We'll continue to look into your issue.
Hi,
I'm trying to display a simple model without the camera feed by using
SceneView
directly instead of theArFragment
. The code looks like this:I've tested it on a Google Pixel XL, a Nexus 5X, a Nexus 6 and a Samsung J3. The model is rendered perfectly on the first three devices. On the J3 the only thing I get is a black screen, not even the background is displayed.
This is the full logcat:
Is this a bug in the
SceneView
?