Granite SDK 3.0 released: a major redesign

The most advanced streaming system available just got even better!

The latest release – Granite SDK 3.0 – of our texture streaming middleware is not only a major update from Granite SDK 2.6 but also a significant redesign that prepares Granite for the future.

It’s been in development for the last seven months, and includes a major redesign of the layer and caching systems. Granite’s layer system was originally introduced to have the best possible performance. However, it led to memory usage increasing with the number of different layer configurations. And it sometimes led to unnecessary upscaling of data. The new redesign ensures great performance and total material freedom while removing any negative impact on system resources.

High pixel density has always been a great benefit of Granite. What’s new is that SDK 3.0 is a much better fit for typical video game texture content (usually 1K to 8K textures). This makes SDK 3.0 the perfect streaming system for any game project that strives for high pixel density.

Moreover, the new Granite design allows tons of future optimizations that will make Granite – already the most advanced and optimized streaming system – even faster.

High-level Technical Features

The feature of Granite SDK 3.0 that artists will appreciate the most is total material freedom. Version 3.0 enables the use of different resolution textures per stacked texture, and many different layer configurations per scene. It does not have any impact on memory, disk size, bandwidth, etc. And it enables UDIM textures, single textures and tiled textures to be combined in a single stacked texture.

The new release allows many performance optimizations resulting in 50% less CPU and GPU work per frame. This has a major positive impact for virtual reality. Working at 90FPS translates into only 11ms available per frame. Reducing the work that Granite does per frame by 50% on the CPU (render thread) and GPU is a major gain that ensures a solid 90FPS and an outstanding virtual reality app.

Further features of note are a smaller size on disk (25% less in typical game scenario), more efficient video memory usage, and less bandwidth needed.

Detailed Technical Features

  • Greatly improved sparse data handling. Data no longer needs to be available at all resolution levels on all layers.
  • Duplicate tile elimination. Duplicate tiles will be eliminated by the tools and only streamed once at run-time.
  • Support grayscale texture formats (BC4, 8-bit).
  • Large individual GPU caches up to 1GB. Cache sizes are no longer limited to the maximum texture size supported by the GPU.
  • Caches are now build per datatype instead of per layer layout.
  • More efficient cache memory use. Caches can now be shared between tiles sets with a different number of layers and layer datatypes.
  • Significant speedups in Granite core both on the GPU and CPU side. Overall up to 50% CPU and 50% GPU speedup may be seen in the Granite "Tick" per frame update call.
  • Tiling textures are now more efficiently handled reducing memory and bandwidth use.
  • Fixed several cubemap mipmapping issues.
  • New file format (version 3), Granite is backwards compatible with version 2.
  • Improved GPU memory tracking & logging.
  • Separate tool set installer for faster tool updates.
  • Total texture import freedom: Combine single images, tiled images and UDIM images in one stacked texture.
  • Many Tile Set Studio usability improvements.
  • Support for importing custom mipmaps.

Leave your information