XNA 4 and future framework changes
#1
Posted 26 December 2016 - 04:28 PM
What could XNA 4 and .Net Framework 4 provide if this is the order of logical advancement being made? Or switching over to any or all of the above in the near future?
Could DirectX 10 be in the near future with it's better graphics options available? Or is DX10 to far apart from current ORTS use of DX9 components?
Robert
#2
Posted 27 December 2016 - 07:56 AM
SP 0-6-0, on 26 December 2016 - 04:28 PM, said:
The original plan was to move to the official XNA 4 first, before moving to something like MonoGame - which implements basically the same API as XNA 4. However, we found the official XNA 4 has a few limitations relative to XNA 3.1 and (I believe) MonoGame, so the plan now is probably to skip that middle step. The blueprint hasn't been updated to reflect that, although the work done for it is still good.
SP 0-6-0, on 26 December 2016 - 04:28 PM, said:
XNA 4 was to be our stepping-stone on to other game runtimes, as above; as for .NET 4 and above, there's a variety of things we could benefit from, including Tasks and better concurrent data structures, and an improved GC which might help with any stuttering.
I believe we can make the current version run on .NET 4.0, and 4.5 when we are okay discarding Windows XP, so we might be able to get some of the benefits (mainly GC and other CLR/runtime) without changing game runtime (XNA, etc.).
SP 0-6-0, on 26 December 2016 - 04:28 PM, said:
MonoGame supports up to DirectX 11 I believe, so if we can switch to MonoGame we should have some level of access. That said, there's still loads more we can achieve on DirectX 9. (I just need the time to write the code. :) )
#3
Posted 27 December 2016 - 10:41 AM
Robert
#4
Posted 28 December 2016 - 08:46 AM
SP 0-6-0, on 27 December 2016 - 10:41 AM, said:
I have not had the time to try MRT in XNA yet, but it is documented as supported in XNA 3.1. There's some restrictions but I won't know if they're relevant without testing things.
#5
Posted 28 December 2016 - 09:12 AM
#6
Posted 31 December 2016 - 04:44 AM
disc, on 28 December 2016 - 09:12 AM, said:
I don't think any more work has been done on it. I am waiting for our migration to Git before we actively pursue such project-wide changes.
#7
Posted 01 January 2017 - 01:16 PM
#8
Posted 01 January 2017 - 02:27 PM
disc, on 01 January 2017 - 01:16 PM, said:
When everyone is ready; I tried early last year but there were some issues, and since the summer I've really not had the time to update things. My target is to get things ready by the end of January. (I also don't want to disrupt any 1.2 release going on.)
#9
Posted 02 October 2017 - 01:12 PM
I was reading this topic (http://www.elvastowe...age#entry226160) where a real-world case proved that we have a bottleneck in having only a single available thread for the GPU. It therefore doesn't matter whether you have a shiny GTX Titan or a older GTX 760 Ti, since they are all limited by the single thread and not by their raw performance.
Switching to MonoGame would mean access to DirectX 11 which allows more threads for the CPU to GPU communication and thus improvements in the graphics area. This comes however with a price: dropping XP compatibility all together (last supported DirectX version on XP is 9.0c). Since a lot of users on this forum are still clamping on to their antique XP boxes, the OR team has been avoiding this issue.
I think it is time to decide:
- Either the OR-team keeps supporting the old XNA 3.1-based OR with remaining compatibility for XP. This also means a risk for the future "feature updates" of Windows 10. Microsoft already proved this in the hardware department, providing NO official hardware support for AMD Ryzen or Intel Kaby Lake-based systems before Windows 10 version 1607. I'm guessing they might do something similar with XNA in the future, citing "removal of deprecated features (in this case DirectX 9 and 10) from the OS" as a reason.
- Or the OR-team starts the switch to MonoGame, paving the way for a more future-proof simulator with performance improvements but also sacrificing compatibility with a 16-year old OS, itself unsupported by Microsoft since three and a half years now.
#10
Posted 02 October 2017 - 10:20 PM
btrs, on 02 October 2017 - 01:12 PM, said:
I was reading this topic (http://www.elvastowe...age#entry226160) where a real-world case proved that we have a bottleneck in having only a single available thread for the GPU. It therefore doesn't matter whether you have a shiny GTX Titan or a older GTX 760 Ti, since they are all limited by the single thread and not by their raw performance.
Switching to MonoGame would mean access to DirectX 11 which allows more threads for the CPU to GPU communication and thus improvements in the graphics area. This comes however with a price: dropping XP compatibility all together (last supported DirectX version on XP is 9.0c). Since a lot of users on this forum are still clamping on to their antique XP boxes, the OR team has been avoiding this issue.
I think it is time to decide:
- Either the OR-team keeps supporting the old XNA 3.1-based OR with remaining compatibility for XP. This also means a risk for the future "feature updates" of Windows 10. Microsoft already proved this in the hardware department, providing NO official hardware support for AMD Ryzen or Intel Kaby Lake-based systems before Windows 10 version 1607. I'm guessing they might do something similar with XNA in the future, citing "removal of deprecated features (in this case DirectX 9 and 10) from the OS" as a reason.
- Or the OR-team starts the switch to MonoGame, paving the way for a more future-proof simulator with performance improvements but also sacrificing compatibility with a 16-year old OS, itself unsupported by Microsoft since three and a half years now.
Changing the basic toolkit one is writing an app in (Note 1) will VERY likely require a good deal of work and there is still plenty to do in OR, be patient :),
Note 1:XNA 3.x to Monogame, changing toolkits is always a challenge.
Lindsay