应用:click-bait-game(Devvit Web,自定义帖子)
帖子:https://www.reddit.com/r/Click_Bait/comments/1vatmf0/
设备:Google Pixel 9 Pro(Mali-G715 GPU)
Reddit应用:2026.35.0 Android版(安装于2026-09-01)。之前的应用版本正常。
问题现象
自应用更新后,我们游戏的展开式webview显示黑屏。游戏仍在运行:按钮可盲点,音乐正常播放,场景切换发生。唯独画面缺失。
我们这边没有任何改动。为证明这一点,我们重新上传了曾在2026-08-28于应用中正常运行的完全相同的构建版本(我们应用的0.0.149版)。在2026.35.0中同样显示黑屏。同一部手机上的Chrome浏览器,同一构建版本、同一帖子URL,却能正常显示并以58fps运行。
我们在应用webview内的测量结果
我们内置了一个诊断面板,用于绘制测试表面并从WebGL读取像素。
- WebGL 1.0上下文创建正常(渲染器报告为Mali-G715,无上下文丢失,无GL错误)。
- 在WebGL画布上使用readPixels返回带有颜色的渲染帧。画布已绘制,只是从未合成到屏幕上。
- 结合每种上下文属性组合(alpha开/关、preserveDrawingBuffer、抗锯齿关)和CSS变体(translateZ、will-change、opacity 0.99)的原始WebGL测试画布,在屏幕上均显示为黑屏。
- 位图渲染器画布(transferFromImageBitmap)在屏幕上也是黑屏。
- 普通的2D画布正常显示。
- 每帧通过drawImage将WebGL帧复制到2D画布上,游戏即可显示。这是我们目前的临时解决方案。
- 同一webview中的性能:requestAnimationFrame在无绘制内容时空闲时为57fps,但一个300万次迭代的JS循环耗时约25ms(手机Chrome中约6ms),且游戏在任何画布大小下均以约20fps运行(无论是否进行复制)。webview进程似乎受到CPU限制,且并非逐像素限制。
- 内联(未展开)卡片webview行为相同。
影响
除非通过2D画布复制帧,否则Android 2026.35.0上的所有WebGL Devvit Web应用均显示黑屏,即便复制后,帧率也只有上周的三分之一。
询问
2026.35.0版本中,展开式webview是否在禁用硬件加速(软件合成)的情况下运行?能否恢复原状,或者应用是否需要设置某个属性或清单配置?
如有需要,乐意提供诊断面板截图、应用版本或可复现问题的构建版本。
评论 (0)