本文介绍Windows系统下三维城市组件创建成功却无法显示的问题,以及相应的解决方法。

三维城市组件创建成功却无法显示的问题,一般是由WebGL 2.0未打开或者是集显运行WebGL 2.0导致的。请根据具体问题,选择合适的解决方案。
说明 如果按照以下解决方案依然无法解决问题,请联系阿里云技术支持工程师解决。

WebGL 2.0未打开时的解决方案

首先确保电脑有独立显卡,并且Chrome是最新版本,然后打开https://webglreport.com/?v=2,如果提示WebGL 2.0未开启,则需要在浏览器设置中启用。
图 1. 报错图
webgl2.0未打开界面
启用方法如下:
  1. 在Chrome浏览器中访问chrome://flags
  2. 在搜索框内输入WebGL
  3. WebGL 2.0 Compute设置为Enabled状态,并重启Chrome浏览器。WebGL 2.0设置为Enable状态
  4. 打开https://webglreport.com/?v=2,查看是否成功启用WebGL 2.0 Compute

    启用成功时,显示如下界面。

    webGL2显示页面
    开启了WebGL 2.0 Compute后,还需要注意图中框选的位置。检查框选位置处是否为您的独立显卡并且是Direct3D11。

显示的不是独立显卡,而是集显情况时的解决方案

Unmasked Renderer中显示的不是独立显卡,而是集显时,则需要切换为独立显卡。以N卡为例,具体操作步骤如下:
  1. 打开3D显卡驱动内的管理3D设置 > 程序设置,选择Chrome浏览器(如果没有Chrome浏览器选项则添加一个),设置首选图形处理器为您的独立显卡。管理3D设置程序设置页面
  2. 检查全局设置中是否也设置了独立显卡。全局设置
  3. 重启Chrome浏览器,访问https://webglreport.com/?v=2

    Unmasked Renderer中显示的是独立显卡时,表示设置成功。

使用了Direct3D9情况时的解决方案

Direct3D11支持WebGL 2.0,而Direct3D9不支持。因此如果使用了Direct3D9,需要切换为Direct3D11,具体操作步骤如下:
  1. 打开Chrome浏览器,访问https://webglreport.com/?v=1,查看WebGL 1中显示的内容。webgl1
    说明 图中框选的内容,可以查看到Unmasked Renderer中包含了Direct3D9。
  2. 打开Chrome浏览器,访问chrome://flags,并搜索Choose ANGLE graphics backend(如果搜索不到建议拆分单词来搜索)。
  3. 选择配置为D3D11选择配置为D3D11
  4. 重启Chrome浏览器,访问https://webglreport.com/?v=1

    Unmasked Renderer中包含Direct3D11时,表示设置成功。