zaimoni / RSRevived

30 stars 3 forks source link

.NET 5.0 migration #11

Closed zaimoni closed 3 years ago

zaimoni commented 3 years ago

Repost from main forum:

Release cycle plans:

.NET 5.0 is scheduled for "stable release" Nov. 2020. This is when Microsoft abandons the standalone Windows Presentation Framework (WPF) (latest version 4.8 series, RS Revived currently on 4.6.1) and will maintain only the one that ships with with the .NET 5.0 Windows sub-target. (i.e., it is a platform shift to re-target the event handler system from .NET 5.0 Windows to .NET 5.0 cross-platform.) The release candidate out currently (RC1) has public relations indicating there is not expected to be an extra release candidate.

While there do not appear to be any killer-app features in C# syntax (jump would be from 7.2 to 9.0), there is a very major change in build procedure available: Ahead-of-time compilation, which [b]almost[/b] allows paying the JIT overhead in advance, much like traditional C++ compiling. It also is represented as allowing shipping an *.exe that doesn't require the target system to have .NET runtime installed ;)

So, no later than the Nov 2020 release, intent is:

If I can get both acceptable AI and not-that-awful CPU/turn then I'll start the above against .NET 5.0 RC 1. I don't think parity with RS Alpha 9 (3-4 seconds/turn at Day 0 Hour 0 at maximum simulation detail, etc. for 5x5 50x50) is tenable before cutover to .NET 5.0 Windows (there are just too many low-level optimizations the higher version is represented as having, that the lower versions don't have).

zaimoni commented 3 years ago

There is no measurable speed difference between the Windows Presentation Framework 4.8 and .NET Core 3.1 builds, Thus, no rationale to think that the benchmarked speed improvements between .NET Core 3.1 and .NET 5.0, mentioned at https://www.youtube.com/watch?v=Ehvr9wXJNEM [1 hour 45 minutes viewing time], will be relevant.

This migration is intended to switch to a platform expected to be maintained for a reasonable time. That it enables some technical cleanups, is secondary.

zaimoni commented 3 years ago

Predicted release date for .NET 5.0 is Nov 10, 2020 (paywalled InfoWorld article, so not official).

zaimoni commented 3 years ago

Materially finished by https://github.com/zaimoni/RSRevived/commit/c37e96dd6af4bc076eb1ea5d642a8aa94220fbca .