-
-
Notifications
You must be signed in to change notification settings - Fork 243
About RHI in Axmol v3
The v3 of Axmol Engine is still in active development, so if you need a stable release that works out of box then please use v2 versions. But if you want to play around with v3 and its new features, then this page will help you.
Roadmap: https://github.com/axmolengine/axmol/discussions/2650
-
axmol/rhi/d3d12(start working since Nov 22, 2025)
-
axmol/rhi/d3d12(since Nov 27, 2025) -
axmol/rhi/vulkan(since Nov, 2025) -
axmol/rhi/d3d11(since Aug, 2025) axmol/rhi/openglaxmol/rhi/metal
On Aug. 9, 2025, the works for developing D3D11 backend for Axmol started; as of now, 99% of cpp-tests now pass under the new D3D11 RHI.
Test ENV:
- OS: Windows 11 Pro 25H2 Build 26200.7309
- GPU: NVIDIA GeForce RTX 4060 Laptop
- CPU: 13th Gen Intel(R) Core(TM) i9-13900HX 2.20 GHz
- RAM: 64.0 GB (63.7 GB usable) 4800Mhz
- Axmol: release build with -O3
- Axmol: disable axmol ImGui extensions, it's create GPU buffer per-frame.
- axmol-3.0.0 on Vulkan: 700,055 triangles
- axmol-3.0.0 on D3D12: 692,246 triangles
- axmol-3.0.0 on D3D11: 697,338 triangles
- axmol-3.0.0 on ANGLE: 618,298 triangles
- axmol-2.10.0 on ANGLE: 623,827 triangles
-
Compared to axmol-3.0.0 on ANGLE:
[ \frac{621,792 - 547,362}{547,362} \times 100% \approx 13.6% ]
≈ 1.14× faster -
Compared to axmol-2.8.0 on ANGLE:
[ \frac{621,792 - 568,871}{568,871} \times 100% \approx 9.3% ]
≈ 1.09× faster
- axmol-2.10.0 on GLES-3.0 (ANGLE D3D11)
- axmol-3.0.0 on GLES-3.0 (ANGLE D3D11)
- axmol-3.0.0 on D3D11
- axmol-3.0.0 on Vulkan
- axmol-3.0.0 on D3D12
- cocos2d-x-4.0
A. By default, WinUWP & Win32 will use GLES 300 rendered by Google ANGLE, but now in Axmol v3 you can specify a new CMake option -DAX_RENDER_API=d3d11 to force the switch of the render API from gl to d3d11. all valid RHI name for cmake option AX_RENDER_API are: gl, d3d11, d3d12, vk, mtl
- valid RHI name for Win32:
d3d12,d3d11,vk,gl - valid RHI name for WinUWP:
d3d12,d3d11,gl - valid RHI name for Android:
gl,vk - valid RHI name for Linux:
gl,vk - valid RHI name for iOS/macOS/tvOS:
mtl,gl