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快速晃动,远端观看卡顿掉帧问题
iOS15.4 来袭:新增“男妈妈”表情及口罩面容解锁AirTags 反跟踪等新功能
iOS15.4来袭:新增“男妈妈”表情及口罩面容解锁AirTags反跟踪等新功能