Hello,
Currently Syncfusion WinForms is only built for .NET Framework versions up to 4.6. If you use a version of .NET Framework newer than 4.6 for your app then your app can still call the .NET 4.6 Syncfusion WinForms dlls with full backwards compatibility. I previously created an issue to add either 4.7 or 4.8 support to get some of the DPI enhancements in those newer versions: https://www.syncfusion.com/forums/145624/winforms-controls-in-net-framework-4-7-and-4-8
Yesterday, .NET Framework 4.8.1 was released: https://devblogs.microsoft.com/dotnet/announcing-dotnet-framework-481/
The main functional improvement to .NET 4.8.1 is native support for ARM64. With more and more devices supporting ARM64 (such as Microsoft's Surface Pro X line, and the M1/M2 powered Macs with Windows running through Parallels) it is important to get the best performance possible in our apps when running on the ARM64 architecture. If we use .NET 4.8 or older, our software is still compatible with ARM64 but it is run in a virtualization layer with much slower performance whereas if the app is built using .NET 4.8.1 then we will have much better performance on ARM64 powered machines.
In order to get the best performance on ARM64 machines, we would need both our main app and any 3rd party libraries or NuGet packages to be compiled with .NET 4.8.1. I suggest that you recompile and release Syncfusion WinForms on .NET 4.8.1 so that we have the option of using it with full performance on these newer ARM64 powered computers.
Thanks and Kind Regards,
-Taylour
Hi Taylour,
Our WinForms controls
are compatible with the ARM64 configuration. You can still build the
application with our existing assemblies. Please refer to the below
link for more information,
https://help.syncfusion.com/windowsforms/arm-support
We will validate about the .NET Framework 4.8.1
advantages and provide you the further details about our plan on August 16,
2022.
Regards,
Vijayarasan S
Hi Vijayarasan,
Thanks for your reply. The link you referenced about Syncfusion WinForms controls supporting ARM64 is for .NET 6 (.NET Core). I created this forum post for creating a Syncfusion WinForms release for .NET Framework that is fully compatible(with native performance, not virtualization) with ARM64. Not every .NET Framework based application can migrate to .NET Core as there are often compatibility issues for certain features and functionality that may only work with .NET Framework so it is important that Syncfusion provides a .NET Framework WinForms release with ARM64 support.
Thanks and Kind Regards,
Taylour
Hi Taylour,
Thanks for your update.
We can understand your scenario. As promised, we will validate the .NET
Framework 4.8.1 and provide you with our plan on August 16, 2022.
Regards,
Vijayarasan S
Hi Taylour,
We are ensuring the performance of our controls
against the .NET framework 4.8.1 version in the ARM64 device. We will need another
three business days to ensure the performance and make the plan. We will get
back to you on August 19, 2022 [Friday].
We appreciate your patience
until then.
Regards,
Vijayarasan S
Hi Taylour,
Thanks for your patience.
We are still ensuring our controls in .NET framework 4.8.1 with ARM64 machine. To test the controls with different scenarios, we need a timeline till 24/8/2022.
Regards,
Neelakandan
Hi Taylor,
Thanks for your patience.
We have tried to launch the ARM64 configured WinForms app in ARM64 device [Microsoft Surface Pro X], which is targeted in .NET 4.8.1 framework. But, we are unable to launch the simple sample itself on ARM64 device. We have created the query for Microsoft,
As our Syncfusion assemblies are compiled against AnyCPU configuration, our controls will be compatible with ARM64 targeted OS. We will further follow up with Microsoft and decide whether we need to publish the .NET 4.8.1 assemblies in the future.
Regards,
Neelakandan
Hi Neelakandan,
Any update on this? Looks like there was a reply on your Microsoft query some time ago.
Kind Regards,
-Taylour
Hi Taylor,
Currently, we are checking the provided suggestions from our end. We will check
and update you with further details on September 14, 2022.
Regards,
Vijayarasan S
Hi Taylour,
Thanks for your patience.
We have tried the suggestion shared by Microsoft expert. But, unfortunately its not working. I have posted my response to him. I will get back to him as early as possible if i get response from him.
Thanks for your understanding.
Regards,
Neelakandan
Hi,
Are there any updates on Syncfusion adding support for .NET Framework 4.8 and 4.8.1 for Essential Studio WinForms?
Syncfusion currently only supports 4.6.2 as the newest version and there are significant improvements that can be made by supporting both 4.8 and 4.8.1.
Specifically, 4.8 has significant per-monitor v2 DPI Awareness updates over 4.6.2. Additionally it has the same operating system support as 4.6.2 with support for Windows 7, 8.1, 10 and 11.
https://www.syncfusion.com/forums/145624/winforms-controls-in-net-framework-4-7-and-4-8
https://www.syncfusion.com/feedback/7491/4-7-net-framework-support-for-winforms-controls
4.8.1 has reduced operating system support with only Windows 10 and 11 but it offers native performance on Arm processors. So devices like the Surface Pro X, Surface Pro 9 SQ3, and all of the new Snapdragon X and Snapdragon X Elite computers will be able to run x86 and x64 apps with native performance instead of relying on virtualization with slower performance. With SnapDragon X having massive benchmark performance (just like Apple Silicon), expect many new PCs to use ARM instead of x86/x64 architecture.
https://devblogs.microsoft.com/dotnet/announcing-dotnet-framework-481/
With High DPI monitors and ARM processors becoming more and more common, it would be highly beneficial to provide support for both of these newer .NET Frameworks. As far as I can tell the only important changes needed are to add support for these newer versions are to add new form events for dpi changes (as mentioned on my 4.7/4.8 post) and just changing the code to target the newer versions of .NET Framework. For 4.8.1, the code base should be able to be built using an x64 machine (.NET 4.8.1 does not require an ARM processor to build).
Note that your two main competitors both support.NET Framework 4.8 (and possibly 4.8.1).
https://docs.devexpress.com/WindowsForms/8092/prerequisites#net-framework
https://docs.telerik.com/devtools/winforms/installation-and-upgrades/distributions
Thanks and Kind Regards,
-Taylour
Hi Manikanda,
When I asked for Syncfusion Winforms support for .NET Framework 4.8 and 4.8.1 I was asking for direct support, not backwards compatible support using 4.0 or 4.6.2 dlls. As I have mentioned before there are unique benefits that building the Syncfusion dlls as 4.8 and 4.8.1 provide (specifically better access to High DPI functionality and better performance on ARM processors). While 4.0 and 4.6.2 dlls technically still work in projects targeting 4.8 or 4.8.1 they are missing functionality and performance improvements associated with building the Syncfusion WinForms dlls in a newer version of .NET Framework.
Your team had previously gone over my requests and approved support for .NET 4.8: https://www.syncfusion.com/feedback/7491/4-7-net-framework-support-for-winforms-controls
Having missed the promised release date of Essential Studio 2023 Volume 2 (June 2023) your team just closed that feedback request today saying it will not be implemented.
Also note that your statement regarding your competitors not providing dedicated 4.8 assemblies is incorrect.
You can see that Telerik provides 4.8 dlls here:
https://docs.telerik.com/devtools/winforms/visual-studio-integration/available-nugets
https://docs.telerik.com/devtools/winforms/visual-studio-integration/install-using-nuget
I am also sure that DevExpress has dedicated 4.8 dlls but I don't want to go through the bother of installing a trial to prove it.
Please consider adding direct support for 4.8 and 4.8.1 dlls since there are real benefits vs using older Syncfusion dlls built using 4.6.2 or 4.0.
Thanks,
-Taylour
Hi Manikanda,
I understand that the .NET Framework maintains backwards compatibility. However, my focus is on the new features introduced in .NET Framework versions 4.7, 4.8, and 4.8.1, which are not available in Syncfusion DLLs built with .NET Framework 4.6.2.
For instance, WinForms events such as `DpiChangedAfterParent`, `DpiChangedBeforeParent`, and `DpiChanged` are only present in .NET 4.7 and later. These events enable per-monitor DPI scaling, allowing manual scaling of forms and controls when moved across screens, as opposed to relying on the OS's bitmap scaling that can make forms appear blurry on extended monitors. More information can be found here: https://learn.microsoft.com/en-us/dotnet/desktop/winforms/high-dpi-support-in-windows-forms?view=netframeworkdesktop-4.8
Regarding .NET Framework 4.8.1 versus 4.6.2:
Native ARM64 execution in 4.8.1 removes the performance overhead of translating x86/x64 instructions to ARM64, resulting in faster startup times, improved execution speed, and reduced CPU usage. Although I haven't found specific benchmarks comparing WinForms apps on 4.8.1 to earlier versions, the performance gains over using Syncfusion's 4.6.2 DLLs in emulation are significant.
You previously mentioned that the application could be built using 4.8.1 while the UI components could use Syncfusion 4.6.2 WinForms. While this ensures reliable functionality, the performance aspect is crucial. For example, displaying a Syncfusion form with many controls might take 10 seconds using 4.6.2 but significantly less time (perhaps around 5 seconds) if Syncfusion DLLs were built with 4.8.1. With the growing popularity of Snapdragon X processors in PCs, it's crucial to avoid the performance degradation caused by running all WinForms components in emulation mode on ARM processors.
Thank you and kind regards,
Taylour