IOS15.4无法运行WebGL2.0问题

Posted 小紫苏0

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了IOS15.4无法运行WebGL2.0问题相关的知识,希望对你有一定的参考价值。

国内所有网站居然搜不到这个问题是我最奇怪的;

ios15.4更新之后Unity打包WebGL无法运行,卡在加载读条最后一点点,也不会报错;

原因是apple更新15.4之后WebGL有大bug;

Unity官方给了一个修改编译文件的方法,有解决这个问题的可能性;

但是还是有大部分开发者在图形显示上遇到了更多的坑;

apple官方说他们已经修复了这个bug至于什么更新发版未知;

毕竟不在商店上架又抽不到成;

以下解决方案互相独立,有可能解决但不一定;

解决办法:

1.将webgl2.0改为webgl1.0(意味着不能使用liner和urp);

2.3D项目调低lightmapEncoding;

3.修改untiy安装目录中文件

edit/il2cpp/libil2cpp/metadata/GenericMetadata.cpp

找到这个函数

const Il2CppType* GenericMetadata::InflateIfNeeded

在这个函数的前后分别加上

#pragma clang optimize off

#pragma clang optimize on

删除工程目录中

Library/Bee/artifacts/WebGL/il2cpp

2020版本工程要删除

Library/Il2cppBuildCache

最后Safari浏览器清空缓存

以上只是有可能解决,具体还得等apple系统更新15.4.2等到15.5了都没更…

WebGL 不可用,GPU 进程无法启动

【中文标题】WebGL 不可用,GPU 进程无法启动【英文标题】:WebGL Unavailable, GPU Process unable to boot 【发布时间】:2017-03-21 06:08:29 【问题描述】:

我在 Windows 10 上运行 Chrome 54.0.2840.87。我有两个 GPU:一个 Intel(R) HD Graphics 520 和一个 AMD Radeon R5 M335。

直到几周前,WebGL 在 chrome 中运行良好。现在,在任何地方都没有更改任何设置后,WebGL 不再可用。

例如,在尝试运行 chrome 实验时,我收到一条消息,说我的显卡似乎不支持 WebGL。我知道我的显卡工作正常(它们已经更新了最新的驱动程序),而且 WebGL 在 Firefox 中完美运行。我知道我的 GPU 没有被列入黑名单(在任一浏览器上)。

chrome:gpu 上,我被告知 WebGL 不可用,并且 GPU 进程无法启动。检查chrome:flags 时,启用或禁用 WebGL 似乎不再是一种选择。

启用/禁用涉及 WebGL 的任何其他内容都没有任何区别。有没有其他办法可以让它再次工作?问题在什么层面? (Chrome Canary 上的问题仍然存在。)我不是最精通技术的人,但我没有运气在其他任何地方找到答案。

以下是我在chrome:gpu 页面上看到的内容:

图形功能状态

Canvas:仅软件,不提供硬件加速

Flash:仅限软件,硬件加速不可用

Flash Stage3D:仅软件,硬件加速不可用

Flash Stage3D 基线配置文件:仅软件,硬件加速 不可用

合成:仅软件,硬件加速不可用

多个光栅线程:不可用

Native GpuMemoryBuffers:仅限软件。禁用硬件加速

光栅化:仅软件,硬件加速不可用

视频解码:仅软件,硬件加速不可用

视频编码:仅软件,硬件加速不可用

VPx 视频解码:仅软件,硬件加速不可用

WebGL:不可用

驱动程序错误解决方法

clear_uniforms_before_first_program_use

disable_d3d11

disable_discard_framebuffer

disable_dxgi_zero_copy_video

disable_nv12_dxgi_video

disable_framebuffer_cmaa

exit_on_context_lost

scalarize_vec_and_mat_constructor_args

检测到的问题

GPU 进程无法启动:GPU 进程启动失败。

禁用的功能:全部

某些驱动程序无法在 GPU 进程中重置 D3D 设备 沙盒

应用的解决方法:exit_on_context_lost

在所有平台上首次使用程序之前清除制服:124764, 349137

应用的解决方法:clear_uniforms_before_first_program_use

始终重写 vec/mat 构造函数以保持一致:398694

应用的解决方法:scalarize_vec_and_mat_constructor_args

在具有 AMD 可切换显卡的系统上禁用 Direct3D11:451420

应用的解决方法:disable_d3d11

丢弃帧缓冲区会损害非分块器的性能:570897

应用的解决方法:disable_discard_framebuffer

NV12 DXGI 视频在 AMD 驱动程序上挂起或显示不正确的颜色: 623029、644293

应用的解决方法:disable_dxgi_zero_copy_video, disable_nv12_dxgi_video

Chromium GL_INTEL_framebuffer_CMAA 的有限启用:535198

应用的解决方法:disable_framebuffer_cmaa

本机 GpuMemoryBuffers 已通过 about:flags 或 命令行。

禁用功能:native_gpu_memory_buffers

版本信息

2016 年 11 月 7 日下午 2:09:57 导出的数据

Chrome 版本 Chrome/54.0.2840.87

操作系统 Windows NT 10.0.14393

软件渲染列表11.12版

驱动程序错误列表版本 9.00

角度提交 id 905fbdea9ef0

2D 图形后端 Skia/54 a21f10dd8b19c6cb47d07d94d0a0525c16461969

命令行参数文件 (x86)\Google\Chrome\Application\chrome.exe" --flag-

switches-begin --enable-gpu-rasterization --enable-unsafe-es3-apis --启用-

webgl-draft-extensions --flag-switches-end

司机信息

初始化时间0

进程内 GPU 真

沙盒假

GPU0 供应商 = 0x1002,设备 = 0x6660

GPU1 供应商 = 0x8086,设备 = 0x1916

擎天柱假

AMD 可切换真

桌面合成航空玻璃

\.\DISPLAY1 的对角线显示器尺寸 15.5"

驱动程序供应商 Advanced Micro Devices, Inc.

驱动程序版本 16.200.2001.0

驱动程序日期 6-16-2016

像素着色器版本

顶点着色器版本

最大。 MSAA 样本

机器型号名称

机器型号版本

GL_VENDOR

GL_RENDERER

GL_VERSION

GL_EXTENSIONS

禁用扩展

窗口系统绑定厂商

窗口系统绑定版本

窗口系统绑定扩展

直接渲染是的

重置通知策略0x0000

GPU 进程崩溃计数 0

合成者信息

平铺更新模式一副本

部分栅格已启用

GpuMemoryBuffers 状态

仅限 ATC 软件

仅限 ATCIA 软件

仅限 DXT1 软件

仅限 DXT5 软件

仅限 ETC1 软件

仅限 R_8 软件

仅限 BGR_565 软件

仅 RGBA_4444 软件

仅限 RGBX_8888 软件

仅限 RGBA_8888 软件

仅限 BGRX_8888 软件

BGRA_8888 仅限软件

仅限 YVU_420 软件

仅限 YUV_420_BIPLANAR 软件

UYVY_422 仅限软件

诊断 ...加载中...

记录消息

[1268:3756:1107/133435:ERROR:gl_surface_egl.cc(252)] : No suitable EGL configs found.

[1268:3756:1107/133435:ERROR:gl_surface_egl.cc(1012)] : eglCreatePbufferSurface failed with error EGL_BAD_CONFIG

[1268:3756:1107/133435:ERROR:gpu_info_collector.cc(35)] : gl::GLContext::CreateOffscreenGLSurface failed

[1268:3756:1107/133435:ERROR:gpu_info_collector.cc(108)] : Could not create surface for info collection.

[1268:3756:1107/133435:ERROR:gpu_main.cc(506)] : gpu::CollectGraphicsInfo failed (fatal).

GpuProcessHostUIShim: The GPU process exited normally. Everything is okay.

【问题讨论】:

【参考方案1】:

遇到了同样的问题,找到了一篇关于忽略兼容材料的硬件列表的帖子。所以,去chrome://flags,激活第一个选项:

Ignorer la liste de rendu logiciel(法语)

覆盖软件渲染列表(英文)

https://superuser.com/questions/836832/how-can-i-enable-webgl-in-my-browser

如果有帮助请告诉我!

【讨论】:

它对 Chrome 和 Opera 有帮助。谢谢!在 chrome://flags 或 opera://flags 中,您需要查找标签:#ignore-gpu-blacklist - 它与语言无关。我认为它也适用于 vivaldi 和其他基于 chrome 的浏览器。 “覆盖软件渲染列表”修复了我在 Windows 10 上使用 Chrome 57 的 WebGL 问题。 是的。我的 AMD Radeon M7 也为我工作。我只是添加了这个,所以这个页面可能会出现在“AMD webgl chrome issue”的谷歌搜索结果中:-)。【参考方案2】:

使用sketchfab时遇到同样的问题!在“覆盖软件渲染列表”中,我选择显示“禁用”,现在一切正常!!

【讨论】:

虽然这可能是解决问题的宝贵提示,但一个好的答案也可以证明解决方案。请EDIT 提供示例代码来说明您的意思。或者,考虑将其写为评论【参考方案3】:

对于在chrome://flags/ 启用Override software rendering list 后在chrome://gpu/ 下仍显示 WebGL 不可用的任何人。

chrome://gpu/ 的主题下进一步检查:检测到问题。如果提到 GPU 访问被禁用:

GPU 进程无法启动:GPU 访问权限为 在 chrome://settings 中禁用。禁用功能:全部

导航到:

chrome://settings/ > 高级 > 系统

并启用使用硬件加速

【讨论】:

以上是关于IOS15.4无法运行WebGL2.0问题的主要内容,如果未能解决你的问题,请参考以下文章

WebRTC开发之iOS15.4快速晃动,远端观看卡顿掉帧问题

AirConsole 中是不是支持 WebGL 2.0?

iOS15.4 来袭:新增“男妈妈”表情及口罩面容解锁AirTags 反跟踪等新功能

iOS15.4来袭:新增“男妈妈”表情及口罩面容解锁AirTags反跟踪等新功能

在命令行运行 GH-Unit 时遇到 iOS 模拟器 libSystem 问题

微软释出3D渲染框架Babylon.js,支持多项WebGL2.0特效画面大跃进