DirectX Rendering in WinForms Controls: An Update

As you've probably heard by now, during the last release cycle we've carried out a massive overhaul to enable DirectX rendering in our WinForms controls. Our Grid Control and Range Bar were the first ones to take advantage of the performance boost that comes with hardware acceleration. The R&D team remains super-excited about this and keeps working on DirectX support for more controls, one coming earlier than planned - with a v17.2 update.

Here's the state of things with DirectX painting in DevExpress WinForms.

WinForms Controls with DirectX Rendering


PictureEdit with DirectX Rendering - Available with a v17.2 Update

Why PictureEdit, you might ask... Truth be told, we didn't have plans to update it, until a support ticket about painting performance has been submitted:

"I want to use the pictureEdit for displaying "large" images (5000 x 3510) and this works smooth with panning but once I zoom out once it becomes really slow and hardly usable. What's going on?"

Normally, the answer would blame the platform constraints, i.e. the slowness of WinForms and GDI+, and would ultimately be closed without being actually being resolved for the customer. But now, having laid the groundwork for DirectX rendering in our controls, we managed to roll out an updated control with fast rendering in a minor release that usually only includes bug fixes.

If you're interested in a faster PictureEdit, download and install the latest update. And remember, the new rendering mode should be manually enabled for each control, as described in this KB article.


Why Are We so Excited about This?

Once we provided the solution to the support ticket I mentioned above, the response was:

"Oh wow! That is SMOOTH."

This alone - our new-found ability to address customer problems beyond their expectation - is enough a reason for us to keep going. Here are a couple more reasons for us to be excited, outside of that particular use case:

  • If you're suffering performance issues, the new rendering mode will solve them without you having to manually implement any speed-booster hacks. And if you search online, among those hacks the one most effective, yet most unrealistic would be "rendering with DirectX instead of GDI+", which is exactly what we do.
  • If you've been considering a move to the WPF platform to gain performance improvements, maybe our new features will let you stay with WinForms and save the transition costs.

We're proud to be the only UI Control vendor who transforms WinForms experience in such a way.


What Comes Next?

I'll re-iterate what you might have already seen on our 2018 Roadmap. The next controls to get DirectX rendering will be TreeList and Chart, and we expect to release these updated versions in v18.1. Of course we'll continue working on more for later major releases, and will definitely take your feedback into account. So let us know if you're as excited about these changes as we are, and which controls do you think should be prioritized to receive new DirectX rendering.

12 comment(s)

There were too many issues and quirks with DirectX rendering for us to even allow our users to be given the OPTION to use it yet.  Hopefully, things continue to improve so we can pass the speed on to our users.  Keep it up!

13 March, 2018

For us, Document Manager/Metro UI view would be high on the list as that is often a control that runs on a touchscreen in higher res and is a bit of a drag when you are scrolling many tiles and groups

14 March, 2018

Custom painting in the grid doesn't really work well with Direct X.

It's slow as hell too on my machine using a GeForce Titan gfx card. Removing the 'force direct x' line made everything work again as expected.

More testing is required.

14 March, 2018

@Brendon Thanks for reporting the private ticket link, I pulled out a couple of quotes instead.

@Christopher The guys are telling me they fixed all known issues but one, and that one (T595179) shouldn't affect many projects. So if you get a chance to update to the latest version and see if the new version works better for you, we'd appreciate the feedback.

@Brian Thanks for the feedback.

14 March, 2018

@Sigurd The team's not aware of what might cause poor performance when custom painting in the grid. Definitely shouldn't be slower than without DirectX. Can you give us any information that can help us reproduce? A support ticket with a code snippet or a sample project would be ideal. Or you can send me an email at and we'll take it from there. Thanks.

14 March, 2018

Just here to thank you for investing in a technology that has so much potential! I wondering myself since ages why microsoft himself doesn't see this way to a modern desktop graphics layer over years and years...

14 March, 2018

What about the smaller controls that can be used inside the gridview? When trying to use the DirectX option we discovered that the richtextedit control used in the gridview didn't display correctly

17 April, 2018

Gabriel, the smaller controls used inside the grid - combo boxes and such - generally do support DirectX rendering. The Rich Text Editor is an exception to the rule since it isn't really such a simple control. And as the ticket you're referencing states, we do plan to update it, although we can't promise a specific date right now.

I'll ask the team to update the help topic with detailed information on which controls are currently supported.

18 April, 2018

Thanks, I'll be eagerly awaiting the update to the RT Editor :)

Unless you tell me that it is possible to disable the DirectX rendering for one specific instance of the Grid (the one using the RT Editor)?

19 April, 2018

Yes, it's possible with v17.2.6+ builds using the following code line:

gridControl1.UseDirectXPaint = DevExpress.Utils.DefaultBoolean.False;

19 April, 2018

Great! In that case I can enjoy DirectX on all grids except the one with the RT Editor! Thanks

19 April, 2018

Fantastic. Exciting. One gorgeous example of investment protection if you have the right component Vendor :)

18 May, 2018

Please login or register to post comments.