AMD researchers reduce graphics card VRAM capacity of 3D-rendered trees from 38GB to just 52 KB with work graphs and mesh nodes — shifting CPU work to the GPU yields tremendous results

AMD RDNA 4 and Radeon RX 9000-series GPUs
(Image credit: AMD)

Measuring the VRAM impact of trees isn't something most people think about while gaming, but AMD researchers have figured out a way to reduce the VRAM footprint of 3D tree rendering by a whopping 666,352x. AMD researchers recently developed procedural tree generation with work graphs and mesh nodes to optimize tree rendering on video memory.

To demonstrate this, the AMD researchers showcased a 3D-rendered scene that requires only 51 KiB of data to generate. If the scene were rendered with conventional geometry, it would require 34.8 GiB to hold in video memory.

This new VRAM-saving technique leverages a procedural generation technique that eliminates the need for a 3D geometry format altogether. The GPU utilizes work graphs and mesh nodes to produce 3D-rendered trees on the fly in the LOD (Level of Detail) required for the current frame.

With traditional techniques, video memory would be responsible for holding the geometry or polygon format of the trees themselves, which requires gigabytes of memory to store. By procedurally generating trees on the fly on the GPU, the only important data that needs to be held in VRAM is the generation code that tells the GPU how to generate trees in a scene. This code is only kilobytes in size by comparison.

This radically new rendering technique is yet another demonstration of the capabilities of work graphs. Work graphs enable the GPU to assign work to itself, significantly improving rendering efficiency in areas that previously relied on the CPU to do the heavy lifting. Work graphs are so flexible that 3D engines can run almost entirely on the GPU when used appropriately. Mesh nodes are an extension of work graphs that allow the GPU to issue draw calls to itself. Again, this shifts work from the CPU to the GPU.

Trees aren't the only objects that can be rendered with this paradigm. We can expect other objects, and possibly even textures, to be rendered this way in the future. Nvidia is already working on neural texture compression to reduce texture demands on video memory, but work graphs and mesh nodes provide another method of achieving the same goal (and will not be limited to Nvidia GPUs).

Aaron Klotz
Contributing Writer

Aaron Klotz is a contributing writer for Tom’s Hardware, covering news related to computer hardware such as CPUs, and graphics cards.

  • usertests
    Glanced at the PDF, and the research seems specific to trees and uses fractals. I guess game engines could implement this to put in lots of trees, and that could be a good thing.

    AMD needs an answer to neural texture compression before Nvidia gets developers hooked on yet another vendor-specific technology.
    Reply
  • S58_is_the_goat
    Jensen: introducing the rtx 5090 with 640kb of memory... because that's all you really need!
    Reply
  • gunish_d
    S58_is_the_goat said:
    Jensen: introducing the rtx 5090 with 640kb of memory... because that's all you really need!
    🙌🏽😆
    Reply
  • gunish_d
    Jensen to the customers: The more you buy the cheaper it gets
    The Lamborghini dealership: that's right Jensen the more GPU you sell, the cheaper your Lambo is
    Reply
  • bit_user
    The article said:
    AMD researchers reduce graphics card VRAM capacity of 3D-rendered trees from 38GB to just 52 KB
    "Capacity"? Really?? Capacity is "the ability to hold something". The size of a data structure is the "something" that memory holds. It should have said either "footprint" or "utilization".

    The article text is fine, though. So, how did this happen? If either a human or an AI is trying to "punch up" the headlines to get more clicks, you guys need to hold the line at anything that's factually inaccurate or simply nonsensical.

    Tagging @PaulAlcorn
    Reply
  • bit_user
    BTW, the idea of procedurally-generating geometry on-the-fly isn't terribly new. This is the same basic idea behind tessellation shaders and geometry shaders, but I guess just taking it another step.

    And, in that vein, it's also a little funny to quote 38 GB, as the baseline - as if that represents the current state of the art.
    The paper said:
    When represented as a conventional static triangle mesh with positions, normals, and texture coordinates, the
    tree geometry would amount to 34.8 GiB.

    Partly because of what I said above, that's not how engines currently work. It means their figure a huge overestimate of the practical benefits this technique would offer.
    Reply