You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

加载Sceneform ARCore示例时仅显示灰黑条纹问题求助

针对Galaxy S9上Hello Sceneform相机灰黑条纹问题的解决方案

我之前处理过不少这类老设备的Sceneform适配问题,结合你提到的类似场景,给你整理几个经过验证的解决办法:

  • 升级Sceneform版本并配置GL兼容项
    Galaxy S9本身支持OpenGL ES 3.2,但早期Sceneform版本对这类设备的渲染适配存在bug。建议将Sceneform版本升级到1.17.1(官方最后一个稳定正式版),同时在模块的build.gradle中补充以下配置,确保渲染环境兼容:

    android {
        defaultConfig {
            renderscriptTargetApi 28
            renderscriptSupportModeEnabled true
            minSdkVersion 24
        }
    }
    
  • 调整相机渲染的Surface参数
    相机预览的Surface格式与Sceneform渲染格式不匹配是这类条纹问题的常见诱因。你可以在MainActivity中对ArFragment的渲染参数做针对性调整:

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        ArFragment arFragment = (ArFragment) getSupportFragmentManager().findFragmentById(R.id.ar_fragment);
        
        // 修正相机流的渲染时间偏移
        arFragment.getArSceneView().getCameraStreamRenderTarget().setPresentationTimeOffset(0);
        // 若不需要深度功能,可临时禁用深度纹理排查
        arFragment.getArSceneView().setDepthTextureEnabled(false);
    }
    
  • 检查AR Core服务与权限
    确保你的Galaxy S9已经安装了最新版本的AR Core服务(可以通过Google Play商店更新),同时应用已正常获取CAMERA权限。另外,建议将设备系统升级到Android 10及以上,旧系统版本可能存在底层渲染适配问题。

  • 临时禁用硬件加速排查问题
    如果上面的方法都没效果,可以尝试在AndroidManifest.xml中给主Activity禁用硬件加速,排查是否是设备硬件渲染的兼容性问题:

    <activity android:name=".MainActivity" android:hardwareAccelerated="false">
    

    若禁用后恢复正常,说明是硬件渲染层面的适配问题,优先推荐使用升级Sceneform版本的方案解决。

另外,你提到需要同步给Sean Krist,这些方案已经整理好,方便你直接转发给他参考。

内容的提问来源于stack exchange,提问作者BetaMax

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 09:55:12