Star Citizen Live: Graphic Engineering Q&A


Alistair Brown was one of three Star Citizen developers involved in the most technical panel at CitizenCon 2021. He answers questions from players about his team’s work and progress this week.

Clarifications on Gen12 and Vulkan

  1. Vulkan is a graphical API, ie an application that centralizes and facilitates the processing of graphical data.
  2. Gen12 is the name of the latest generation of Star Citizen’s graphics rendering engine currently in active development. There is no relationship between DX12 and Gen12.

Gen12 will be entirely based on Vulkan (although integrating another API is possible and inexpensive). Work on Gen12 is progressing well and the most complex projects are about to be completed. For gamers, the transition to Gen12 will be a long one, and has already begun. With each patch comes a batch of changes advancing towards the full Gen12 release. There will therefore be no “magic patch” improving performance all of a sudden. However, once Gen12 is fully implemented, it will be the turn of the switch to Vulkan, and this step should have major benefits for players.

Multi-threaded

The rendering mode of the graphics engine is already multi-threaded. However, a large part of the load still lies on the single rendering thread. Over time, the load will spread better and better until almost completely freeing up the rendering thread for maximum parallel work.

CPU load

For now, Star Citizen consumes a lot of CPU resources and little on the GPU. Gen 12 will partially balance this load. All teams are working on CPU load relief, but the game evolves and each new entry, component or asset brings load even if some of it has already been taken off for the same patch., which makes the differences inconspicuous. This process is long but well integrated, and it will become simpler as the code is refined, to make the CPU load reduction faster to perform. However, Star Citizen is a massive game, and will remain resource-intensive no matter what.

Framerate drops are largely related to this excessive CPU load, and as the work progresses, the cost of displaying densely populated areas will be less and less felt.

Mesh Shader

Mesh-shader technology (multi-vertex, variable-geometry rendering technology) is becoming more common in the industry, and the Star Citizen developers are interested in using it. However, the tech is recent, so you have to be careful when implementing it. If this method were fully adopted, accessibility would be impacted by the hardware and software needed to use it. We must therefore choose what we use it for, optimization being the main subject here. They would like to use it as part of improving the visuals, without impacting the lighter GPUs. The more technology advances, the clearer its benefits will be.

Graphic options

There is a desire on the part of CIG to overhaul the graphics options. Once Gen12 is implemented, they will have a lot more leeway in this regard. For now, most of the work being done on the CPU, the graphics options are limited. Eventually, the general options will be simplified, and they will create a more complex “advanced options” part. Gen12 and Vulkan will give them great freedom, in particular to allow players to manage the allocation of their video memory themselves. Stats and each option’s impact on Vram will be displayed, and if players have to compromise on performance, they’ll know where to start, with the primary objective always being the same: to influence the number of frames per seconds. For now they are trying to keep the minimum required Vram usage around 3 Gigasbut they won’t be able to hold it down to that number forever.

Time accumulation

The process of temporal accumulation consists of taking data from a past image in order to facilitate calculations on the image on the screen. The applications are multiple:

  • texture blending
  • The shadows
  • Anti alising

TXAA (time accumulation anti-aliasing) is often castigated for the “ghosting” it brings, yet the related technology leads to many of the benefits mentioned above, and getting rid of it would generate visual noise on a whole lot returned assets. Disabling the TXAA completely is therefore not an option.but there is a middle ground to be struck for gamers wanting a sharper image at a slight sacrifice in quality.

Various

  • HDR (high dynamic range) is a high priority, and there is actually quite a bit of work left before a possible implementation. But the technology must pass through the artistic box before being presented.
  • They are working on motion blur related to objects rather than the camera.
  • They don’t see any major issues keeping up with technological advances, or even their own internal progress with database updates. No limits there as long as they work on it.
  • The adoption of RTX (Ray Tracing) is possible and considered for clear reflections, although other methods are preferred for reflections in water and in small mirrors.
  • The implementation of DLSS and FSR is not competitive. Each must be worked in a very different and independent way. No priority is therefore given to one or the other of these technologies. If one is adopted, the other will be worked on but not necessarily adopted in turn if problems arise.
  • UI visibility issues in bright light are a lot of work. The teams need to discuss diegesis issues, artistic options and implementation possibilities to reach a consensus on this subject, before launching the work and the final version.
  • Gen12 may facilitate a transfer to Linux but this is not tested internally.





Source link -115