# What type of UI renderer does Aspect use?

**URL:** https://community.bildhuus.com/t/what-type-of-ui-renderer-does-aspect-use/746
**Category:** General
**Created:** [1 April 2026 06:26 UTC](https://community.bildhuus.com/t/what-type-of-ui-renderer-does-aspect-use/746 "2026-04-01T06:26:20Z")
**Posts on this page:** 3
**Page:** 1

<div class="post-metadata">

### Author: ![AMDphreak](https://community.bildhuus.com/user_avatar/community.bildhuus.com/amdphreak/32/259_2.png) [@AMDphreak](https://community.bildhuus.com/u/AMDphreak)
#### Post date: [1 April 2026 06:26 UTC](https://community.bildhuus.com/t/what-type-of-ui-renderer-does-aspect-use/746/1 "2026-04-01T06:26:20Z")

</div>

I am wondering what type of UI renderer Aspect uses. I am quite impressed with the performance of the app and from what I can gather from your GitHub, you guys don’t publish what UI renderer and GUI library you are using.

Out of curiosity, are you guys using an immediate-mode or retained-mode GUI? I’ve heard retained mode is more computationally efficient.

I sent a job application a while back because I heard you use D-Lang to make Aspect, which is really cool.

Thanks

---

<div class="post-metadata">

### Author: ![Soenke](https://community.bildhuus.com/user_avatar/community.bildhuus.com/soenke/32/59_2.png) [@Soenke](https://community.bildhuus.com/u/Soenke)
#### Post date: [1 April 2026 08:15 UTC](https://community.bildhuus.com/t/what-type-of-ui-renderer-does-aspect-use/746/2 "2026-04-01T08:15:15Z")

</div>

We are currently using OpenGL/OpenGL ES for rendering. The UI framework and renderer is one that I originally developed in C++ and ported/reimplemented in D around 20 years back (at the time for implementing the editor of a 3D game engine). Although it has been planned for quite a while, I never got around to open source it so far, because there are certain design decisions that I’d like to revisit before others start to depend on it – it’s obvious that there are going to be some bigger breaking changes involved.

It does use a retained state approach. Although I think immediate GUIs are nicer in many ways, I didn’t find an approach that is able to scale well enough in terms of UI complexity/performance. The retained UI “scene graph” also enables certain optimizations, such as caching chunks of the UI as combined vertex/index buffers or as pre-rendered textures that can be reused for drawing later frames.

Still, this is one of the areas where I’d like to revisit the design to see if _parts_ of it can still be changed to use a more functional style. Currently it is similar to something like Qt in that it defines widget types as individual classes that implement handling of inputs, state management and drawing in a single entity.

---

<div class="post-metadata">

### Author: ![AMDphreak](https://community.bildhuus.com/user_avatar/community.bildhuus.com/amdphreak/32/259_2.png) [@AMDphreak](https://community.bildhuus.com/u/AMDphreak)
#### Post date: [1 April 2026 09:31 UTC](https://community.bildhuus.com/t/what-type-of-ui-renderer-does-aspect-use/746/3 "2026-04-01T09:31:10Z")

</div>

That’s really cool! I’m working on a vello wrapper in hopes of either making my own rmgui on vulkan back-end or dropping it into dlangui as a replacement for whatever it uses (Guess I replace the OpenGL calls?)

Would love to let you use it to aid in your path forward. I did several weeks of research using AI to get a lay of the current library and ui architecture landscape, and I noticed Microsoft’s Avalonia UI library is migrating to vello, too. But Vello is rust-native so it drags in a build time dependency. That is a minor gripe, but the benefits outweigh the annoyance.

> **[GitHub - dlang-supplemental/vello-d](https://github.com/dlang-supplemental/vello-d)**
>
> Contribute to dlang-supplemental/vello-d development by creating an account on GitHub.
