Wednesday, May 11th 2016
Microsoft Adds New Game-centric Features to Universal Windows Platform
Microsoft added two new features to its Universal Windows Platform (UWP), the company's non-Win32 application environment built around the Windows Store and modern UI. With the latest update to Windows 10, Microsoft updated UWP to support adaptive-sync technologies such as NVIDIA G-SYNC and AMD FreeSync; and removed frame-rate limits. Games built on UWP (such as "Quantum Break") suffered from frame-rate caps.
UWP continues to be criticized for taking a "walled-garden" approach to third-party apps, restricting them to Microsoft APIs such as DirectX. The platform continues to suffer from several limitations for games, such as support for APIs such as OpenGL and Vulkan; and proprietary multi-GPU technologies such as SLI and CrossFire; or support for game-mods.
Source:
DirectX Blog
UWP continues to be criticized for taking a "walled-garden" approach to third-party apps, restricting them to Microsoft APIs such as DirectX. The platform continues to suffer from several limitations for games, such as support for APIs such as OpenGL and Vulkan; and proprietary multi-GPU technologies such as SLI and CrossFire; or support for game-mods.
55 Comments on Microsoft Adds New Game-centric Features to Universal Windows Platform
I hope it succeeds and continues to gain API support so that Win32 can finally be put to rest. Unless you happen to enjoy .DLL hell and unsecured, unsandboxed applications?
Edit: You also all seem to be confused and think UWP apps are restricted to the Microsoft Store; they're not. Anyone can package their program in the .appx container and sell it on any storefront. Even back in the November update last year the setting was switched to default mode to always allow third party signed applications. It's no different than installing an .msi installer.
Then you also have the fact that Project Centennial is allowing companies to package up their old Win32 apps in a wrapper and have them sold as an .appx package, despite retaining all the functionality of the old application. UWP is an nothing more than a new API set; it is not restricted in anyway to just the Microsoft Store. The sooner the rest of you realize that, the better informed you'll be.
There are publishers and.developers out there that have already taken a stand against it. Count their games out, and others will follow.
I am certainly no fan of Steam (I use it grudgingly), but the fact they have become so powerful as far as gaming goes is the only thing that has kept MS from completely f*cking us....hard.
Expect M$ at some point to say "if you're with us, you can't use any other means of distribution". Consumers will suffer. When has MS ever demonstrated they knew what they were doing with PC gaming? I have no reason to exhibit blind faith in either their abilities, or their intentions.
Anyway, I've said my peace, and see no reason to argue...neither position among us will change anything. Since I stated my viewpoint, I'll back out now, and leave others to argue as they see fit.
Read:
www.pcgamer.com/why-pc-games-should-never-become-universal-apps/
It must obey the restrictions of the user at which it is run as, period. Sure, these restrictions aren't very strong (basically filesystem level), but this does not make it "inherently unsafe." Inherently unsafe means something is going to happen to you if you use it at some point. Fact is, if you don't download sketchy software and run it and stick to reputable sources, that won't happen.
You also don't seem to understand the concept of "any part of your system." There's this thing called protected memory space (and later, noexecute), and we've had it since I don't know, OS/2 and MS-DOS (well, that bastardized MS-DOS in Wind9x anyhow).
I use to program in assembly where I truly have access to everything though, and I consider even "modern" languages like C# to be pointlessly high level, so maybe I am biased.
The low level requirements necessary for development means that Win32 will never truly go away, but nor is it even remotely necessary for an application to have unfettered access to your filesystem through a simple escalation exploit. Even legitimate applications abuse the shit out your system and its security. Steam for crying out loud marks your entire games directory is writeable by all, that's why you never get a UAC prompt during installation of games. There's also still games out there (like Battlefield) that for some inexplicably stupid reason run better as admin, or even flat out require admin permissions to run. That's insane in this day and age with what we know about security. We've also been given a lot of security protections and implementations over the years that are designed to make Win32 more secure. ASLR, HEASLR, DEP, ROP mitigations, Control Flow Guard, etc, etc, etc. The list goes on. I can only think of DEP in that list that is actually required these days for new developers to implement in Win32 applications. Or at the very lease when developing using Visual Studio, it's set to default to "ON."
Privilege escalation is almost guranteed to be present in UWP. Why? I look at historical cases. The JVM has tried to use sandboxing for years and honestly, were one of the pioneers of it. Because the nature of how these exploits tend to work, they failed miserably because it relies on holes in the software that must be patched (back in the day, buffer overflow attacks were hot).
It comes down to a difference in ideology. Do we want to teach people that the platform is secure so they don't need to worry, and then have it eventually blow up in their faces with them having no idea what to do? Or do we want to teach people to actually use their brains and have a little idea of how their computer works so when hell breaks lose, they can manage?
Maybe I'm stuck in a snooty developers mindset, but I prefer the later. There is nothing wrong with sandboxing of course, but treating it as the "fix" for managing what runs on your computer and what it can/can't do is a bad idea. in the end what ultimately runs on your machine is your responsibility. Don't blame the API and call it insecure because it can run things that are bad. I'm sure UWP can too, it'll just have to jump through more hoops (and incur more performance penalties to legitimate software) to do it. But the bad guys are up that challenge. They always are.
I will concede though that Win32 is old. It's got it's drawbacks. I just don't think UWP is the fix for it, at least not the way they are handling it through a "store" and such. It's leading the users on to believe nothing bad will happen and I assure you that's not going to end well.
Where Java's security is a complete fucking joke is the web plugin. Oh good god it's so bad.
UWP adds more layers of security than Win32 could ever hope to, owing the age of it. It's also adding feature parity at a break neck pace. UWP has only existed since Windows 10 launched, and even though it has its roots in WinRT, it's still a very different beast offering far more functionality and far more performance than WinRT - which is now thankfully dead. UWP will continue to evolve, will continue to get features added to it to increase feature parity with Win32, but it'll be done in a far more secured and sandboxed manner. Just this week an update was released to give G-Sync and FreeSync support to UWP applications which they were lacking before. Claiming UWP needs to die because right this moment it isn't 100% feature compliant with Win32 (which has been around for fucking decades) just reeks of shortsightedness.