<div dir="ltr"><div dir="ltr"><div>Hi Hannes</div><div><br></div><div><br></div></div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><u></u>

  
    
  
  <div>
    <p>
    </p>
    <p>the two ridiculously expensive and high-end graphics cards
      mentioned by Luke sound like complete overkill. Surely reading and
      preparing the geodata for 3D display (from data providers, via
      storage, on the CPU?) would be the bigger performance/usability
      issue of the 3D views, right? I am sure that for reasonable
      reasons QGIS would choke waaaay earlier than what those cards
      would be capable of. The potential benefit of those cards for QGIS
      3D definitely is not worth paying *1200-2500€* extra.<br></p></div></blockquote><div>I have not had a chance to try QGIS 3D with such high-end cards yet, but you're right, users would be probably hitting performance issues elsewhere when working with large amounts of data (but this also depends on data types, formats, styling etc.)<br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div><p>
    </p>
    <p>Martin/Jean, is there any change that you could provide a more
      detailed specification of the hardware and software requirements
      for QGIS 3D? It comes up again and again and I've just been
      searching again without success. I step up to add it to the QGIS
      documentation in early November.<br></p></div></blockquote><div>Okay, great, let me try... there are very few firm requirements for QGIS 3D, so it's hard to answer some of the questions exactly.<br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div><p>
    </p>
    <p>Esri provides for example infos on the required OpenGL version
      and extensions on
      <a href="https://pro.arcgis.com/en/pro-app/latest/get-started/arcgis-pro-system-requirements.htm" target="_blank">https://pro.arcgis.com/en/pro-app/latest/get-started/arcgis-pro-system-requirements.htm</a></p>
    <p>E.g.: What is the minimum amount of GPU RAM necessary? How does
      it scale with more complex 3D scenes and what happens if there is
      not enough RAM?</p></div></blockquote><div>There's no strict minimum really, but I would say 1 GB GPU memory should be enough for many use cases. When dealing with large amounts of 3D data - e.g. point clouds or tiled scenes (3D tiles), it won't hurt to have more memory, although with default settings QGIS probably would not go over 2 GB GPU memory usage. All layers use tiling, so with increased distance of 3D data from camera, there's less detail displayed, which limits GPU memory usage and GPU processing power needed.</div><div><br></div><div>Each map layer gets up 500 MB GPU memory, but only few that are memory intense (like point clouds or tiled scene) would normally use all of it. When a map layer gets to the limit, it will unload data (that are currently not being displayed) from GPU memory to get under the 500 MB limit. In the QGIS release 3.34 it will be possible to configure the per-layer limit (and QGIS 3D views will show a warning if the limit has been reached and none of the tiles can be unloaded).<br></div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div><p>Does it get slow (maybe with a message) or does it
      crash?</p></div></blockquote><div>Any slowness should be caused by displaying too many triangles/points in the 3D view (or possibly there could be something in QGIS code that runs on CPU that is slow and affecting 3D performance for example when the 3D scene is getting updated as the camera moves, scheduling loads of tiles).</div><div><br></div><div>To be honest I don't really know what happens if there's not enough GPU memory - in theory there could be crashes, or the scene would be just missing some data - or maybe something else, like freeze. It is worth trying - it may depend on the operating system and the graphical drivers as well.<br></div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div><p> Which renderer does it use on which platforms (I guess
      always OpenGL?). Which OpenGL version is needed?</p></div></blockquote><div>Yes it is always using OpenGL. Our 3D window requests OpenGL 4.3 core profile. Shaders of materials that we use only need OpenGL 3.2 or 3.3.</div><div><br></div><div>I am not 100% sure how things are on Windows and macOS. Apparently, Windows by default only provides very old OpenGL 1.1, and users need to install dedicated graphics drivers to get more recent OpenGL. But Qt also comes with ANGLE library (that translates OpenGL calls to DirectX) which can be used as a fallback option, and there's also software rasterizer as a last resort. There's even QT_OPENGL env variable to pick an option explicitly [1]. I think QGIS 3D will not work with ANGLE though, because it uses desktop OpenGL, not OpenGL ES which ANGLE is meant to support.</div><div><br></div><div>All this is related to Qt5 which has been very OpenGL-centric. In Qt6 things will be different again, because Qt departed from being OpenGL-centric and embraced Direct3D, Metal and Vulkan, and introduced their own abstraction on top of those APIs called RHI. (They also stopped using ANGLE.) So in Qt6, Qt3D has two options - either use the new RHI renderer (default) or use the existing OpenGL renderer. We use the latter, because we would need to migrate our materials/shaders to be RHI compatible, and also stop using some features that RHI does not support, like geometry shaders. Given that QGIS does not support Qt6 officially yet, this is not something to worry about too much for now, only something to be aware of for the future.<br></div><br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div><p>Which extensions
      are needed?</p></div></blockquote><div>I am not aware of any OpenGL extensions that we would need in QGIS 3D (I may be wrong though). <br></div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div><p>Could missing extensions get logged prominently to the
      user to avoid the "my 3D canvas is white/blank" issue (I guess
      that is the reason) that often comes up?</p></div></blockquote><div>Blank canvas may have multiple sources of problems - it could be that OpenGL failed to initialize for some reason, or that the graphics driver did not like something in our shaders or rendering pipeline or geometries, or it could be even as simple as us misplacing camera in the initial zoom and all the actual content is actually behind the camera.</div><div><br></div><div>For any of the issues with white/blank canvas we would need to investigate them thoroughly - what kind of data and 3d symbology was used, what is the OS, graphics drivers etc - I am sure we can get to the bottom of that with enough effort. I would like to go through the existing tickets about 3D issues and try to address those that can be replicated.<br></div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div><p> Which features depend on
      which extensions and what happens if they are not available?</p></div></blockquote><div>As I said, I am not aware of any extensions that we could be using, but I could be wrong...</div><div><br></div><div>Hopefully this helps a bit...<br></div><div><br></div><div>Regards</div><div>Martin</div><div><br></div></div><div class="gmail_quote">[1] <a href="https://doc.qt.io/qt-5/windows-requirements.html">https://doc.qt.io/qt-5/windows-requirements.html</a></div></div>