Possible Deprecation / Removal of D3D Backend

807 views
Skip to first unread message

Brian Osman

unread,
Nov 30, 2022, 11:18:42 AM11/30/22
to skia-d...@googlegroups.com
Hi,
The Skia team is considering removing the Direct3D GPU backend. We want to understand if anyone is relying on it today. For context: it isn't used by the teams we collaborate with directly, and it introduces a burden in maintenance. It also forces a dependency on some third-party libraries that we'd like to remove.

There are at least four other ways to use GPU-accelerated Skia on Windows today:
  • OpenGL
  • Vulkan
  • ANGLE
  • Dawn
If you're using the Direct3D backend, and the above options aren't a suitable replacement, we'd like to understand why. Let us know!

Thank you,
-Brian

param...@gmail.com

unread,
Dec 1, 2022, 3:47:23 AM12/1/22
to skia-discuss
I'm using the Skia's D3D backend for a concept mapping application. The reason for using D3D was that I wasn't able to get low-latency window rendering without using D3D swap chains and very specific flags that affect the Display Window Manager (e.g. https://learn.microsoft.com/en-us/windows/win32/api/dxgi/ne-dxgi-dxgi_swap_effect#remarks). Originally, I tried Vulkan, but it was always lagging at least 2 frames behind and the Swapchain image resize behavior wasn't configurable. With D3D all these issues were resolved. I've never tried OpenGL and the project is currently on hold anyways. Moving forward, I would consider to use WebGPU / Dawn and because Dawn actually uses a D3D backend on Windows and everything in this space is open source, I'm sure that there is a way to apply DWM specific flags. So no actual blocker here, but I thought you might be interested in why D3D was chosen.

Daljit

unread,
Dec 6, 2022, 3:02:29 AM12/6/22
to skia-discuss
I have used the D3D backend in the past for a simple 2D application. What I noticed was that using Skia with the D3D backend resulted in the lowest GPU consumption and best power efficiency comparing it against OpenGL, Vulkan and ANGLE (haven't tried Dawn).

Oliver Larkin

unread,
Dec 19, 2022, 5:06:43 AM12/19/22
to skia-discuss
I was planning on adding it for my project iPlug2, since I gather the driver support is better than OpenGL. I suppose I could use angle but in my context (audio plug-in framework) it is not so fun to have a dll dependency. I do want to checkout dawn again though...

Ruan Beihong

unread,
Dec 21, 2022, 8:56:44 AM12/21/22
to skia-discuss
We are trying to use D3D backend on Windows because we found current WebGL on windows is laggy due to HDPI resizing. We tried D3D swapchain can manually set resizing for low-latency. We have not try other options other than D3D and WebGL. So the reason may be not so solid.

Cristiano Carvalheiro

unread,
Feb 1, 2023, 1:16:05 PM2/1/23
to skia-discuss
We have a desktop application that uses Skia to render textures to be consumed by a popular 3D game engine in real time. We use multiple backends, but on Windows, generally, D3D receives more attention in terms of features and stability in this engine (would say that's probably the case with most of the mainstream ones but might be wrong). However, stability hasn't been reigning over us after switching to DX12. We have been considering offering the user the choice to switch to Vk but didn't invest too much in it due to some tradeoffs.
Losing the D3D backend definitely isn't ideal for our use case, but eventually just means that we will be forced to switch to Vulkan sooner rather than later or, otherwise maintain the D3D backend ourselves.

xoofx

unread,
Apr 11, 2025, 8:47:28 AM4/11/25
to skia-discuss
Hey, my apology to revive this topic. I can see that d3d12 backend is still there in Skia. What is the status of it in the coming future? I haven't checked graphite but is it going to be supported as well, or only ganesh will support it?

Jim Van Verth

unread,
Apr 11, 2025, 4:12:43 PM4/11/25
to skia-d...@googlegroups.com
Current plans for Graphite are to support D3D11 and D3D12 through the Dawn backend. 

--
You received this message because you are subscribed to the Google Groups "skia-discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email to skia-discuss...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/skia-discuss/bf11cc95-e2be-4bf1-a268-ad763a2ad40dn%40googlegroups.com.


--

Jim Van Verth |
 Software Engineer | Google.com
Reply all
Reply to author
Forward
0 new messages