Linked by Thom Holwerda on Mon 21st May 2012 20:03 UTC
Windows For Microsoft, the traditional desktop is old news. It's on its way out, it's legacy, and the harder they claim the desktop has equal rights, the sillier it becomes. With companies, words are meaningless, it's actions that matter, and here Microsoft's actions tell the real story. The company has announced the product line-up for Visual Studio 11, and the free Express can no longer be used to create desktop applications. Message is clear.
Thread beginning with comment 518930
To view parent comment, click here.
To read all comments associated with this story, please click here.
RE[3]: "19th Century Dentist"
by Nelson on Tue 22nd May 2012 06:11 UTC in reply to "RE[2]: "19th Century Dentist""
Nelson
Member since:
2005-11-29


Not quite. There is absolutely nothing about the old win32s that necessitates applications to be running all the time (foreground or background). At their core, most windows applications are fundamentally built on top of a simple loop which is event oriented. So as long as the operating system is not sending it any events, the majority of existing applications won't use any CPU time. Go ahead and look at the task manager and check to see if your minimized programs are using more than 0% CPU, in the majority of cases the answer is "no".


Maybe in a singled threaded world, but most multi threaded applications are consuming CPU resources while minimized.

CPU utilization is just one facet, there's stuff like utilizing the network which can prevent the PC from entering low power states for the network card which becomes a concern. Same thing with audio playback.

I think Metro, with OS managed background tasks (which have strict resource caps and policy imposed) are a great middle ground between battery efficiency and multitasking.

Thanks for the thoughtful reply.

Reply Parent Score: 2

RE[4]: "19th Century Dentist"
by Alfman on Tue 22nd May 2012 07:14 in reply to "RE[3]: "19th Century Dentist""
Alfman Member since:
2011-01-28

Nelson,

"Maybe in a singled threaded world, but most multi threaded applications are consuming CPU resources while minimized."

Certainly an app can spawn threads that consume large amounts of CPU time in the background, however it's likely that these threads are just reacting to more events such as network activity or topping up audio buffers. If you have a music player or P2P app, then running it in the background is often exactly what the user wants (who wants to stare at the P2P screen all day?). Can we say a background application is wasting energy when it's doing what the user wants in the background instead of the foreground?

I think the bigger problem is applications that waste cycles in the background doing non-productive things. One example I'm thinking of now is a game that keeps running even when minimized, but I really don't know if this is a common problem in practice.

"CPU utilization is just one facet, there's stuff like utilizing the network which can prevent the PC from entering low power states for the network card which becomes a concern. Same thing with audio playback."

Well yes, but if the user is playing music or downloading files, he probably doesn't want his device to go to sleep until those tasks are done. I wouldn't classify these things as wasteful when the application is doing what the user wants it to do.

I have to wonder whether shutting everything down in the background (win32s or not) would cause frustration that applications can't do work in the background (like downloading, teleconfrencing, music, etc). If an OS permits these 3rd party background tasks, then I don't see why win32 is worse than alternatives. If it does not, then it should be possible to suspend a win32 application while it is backgrounded.

"I think Metro, with OS managed background tasks (which have strict resource caps and policy imposed) are a great middle ground between battery efficiency and multitasking."

Not to deny this, but I'm not seeing why this excludes the win32s. Although it may seem that way, I'm not really trying to promote win32s, but I'm not convinced their depreciation was motivated by poor resource utilization. I suspect that resource utilization in desktop apps won't be much different than their metro counterparts. Now I might be all wrong, but I haven't seen anything technical to convince me otherwise.


"Thanks for the thoughtful reply."

Thank you as well!

Edited 2012-05-22 07:28 UTC

Reply Parent Score: 5

RE[5]: "19th Century Dentist"
by shollomon on Tue 22nd May 2012 14:20 in reply to "RE[4]: "19th Century Dentist""
shollomon Member since:
2008-07-06

Of course the deprecation of Win32 does not have anything to do with its technical merits or capabilities. WinRT exists for Appstore lock down. It is a business decision not a technical decision, or a decision based on what costumers want. Its based on what customers apparently will tolerate (based on the success to date of iOS) and the fact that MSFT wants 30% of every app sold. Its a straight money grab. If they thought they could do what they are doing with Win32 there would be no WinRT.

Reply Parent Score: 2

RE[5]: "19th Century Dentist"
by Nelson on Tue 22nd May 2012 15:08 in reply to "RE[4]: "19th Century Dentist""
Nelson Member since:
2005-11-29


Certainly an app can spawn threads that consume large amounts of CPU time in the background, however it's likely that these threads are just reacting to more events such as network activity or topping up audio buffers. If you have a music player or P2P app, then running it in the background is often exactly what the user wants (who wants to stare at the P2P screen all day?). Can we say a background application is wasting energy when it's doing what the user wants in the background instead of the foreground?


I'm sure the user has a good faith intent, but often this is abused by poorly written programs. Many times I've had to kill tasks of programs which pegged my CPU for no reason.

The Win8 execution model says: "If programA wants to use the Network, it must explicitly state so declaratively, and then when it does, it must behave predictably or be killed."

Background Tasks are limited in CPU usage and memory, and execute for limited amounts of time, so it forces devs to use better practices.

Most programs, realistically, don't need to always be running. The ones that do, there are a bunch of background tasks for them to use.


I think the bigger problem is applications that waste cycles in the background doing non-productive things. One example I'm thinking of now is a game that keeps running even when minimized, but I really don't know if this is a common problem in practice.


I agree, but in my own experience its been more than a few timesI've had to kill tasks.


Well yes, but if the user is playing music or downloading files, he probably doesn't want his device to go to sleep until those tasks are done. I wouldn't classify these things as wasteful when the application is doing what the user wants it to do.


Windows 8 tablets and laptops support ultra low power states in which the network card will wake itself back up when data comes in over the wire. Something that can't be done if an application is polling doing a blocking read.

With Win8 you hand the OS a background task, and you'll have your network data pushed to your app when it comes in, its basically a "Don't call us, we'll call you". In fact, its the only way for Metro apps to maintain a socket connection in the background.

I have to wonder whether shutting everything down in the background (win32s or not) would cause frustration that applications can't do work in the background (like downloading, teleconfrencing, music, etc). If an OS permits these 3rd party background tasks, then I don't see why win32 is worse than alternatives. If it does not, then it should be possible to suspend a win32 application while it is backgrounded.


Its handled like I said above, if you want to learn more you can read up on ControlChannelTrigger for Metro Style Apps.


Not to deny this, but I'm not seeing why this excludes the win32s. Although it may seem that way, I'm not really trying to promote win32s, but I'm not convinced their depreciation was motivated by poor resource utilization. I suspect that resource utilization in desktop apps won't be much different than their metro counterparts. Now I might be all wrong, but I haven't seen anything technical to convince me otherwise.


I think its demonstrably true that Metro Apps use less resources. A great majority of them do not run in the background at all, others use resources moderated by the OS, and there is less resident memory taken up by the apps.

Another point to make is that (for pure Windows RT tablets) is that lower memory consumption by tombstoning background apps can lead to them shipping tablets with less ram and by extension less power draw.

Reply Parent Score: 2

RE[4]: "19th Century Dentist"
by l3v1 on Tue 22nd May 2012 11:32 in reply to "RE[3]: "19th Century Dentist""
l3v1 Member since:
2005-07-06

CPU utilization is just one facet, there's stuff like utilizing the network which can prevent the PC from entering low power states for the network card which becomes a concern. Same thing with audio playback.

I think Metro, with OS managed background tasks (which have strict resource caps and policy imposed) are a great middle ground between battery efficiency and multitasking.


While I agree with your view, if I accept that the target demographic contains only regular content-consuming users, most of the time since Win8 appeared on the scene backers simply seem to ignore that a large number of Windows users are such developers (I mean devs writing complex software and algorithms, not webapp coders) for whom such a task management policy is neither comfortable nor useful. While currently this is not such a big problem, it could become a huge issue if the "classical" desktop eventually gets dropped in favor of walled-garden Metro-only apps.

Edited 2012-05-22 11:35 UTC

Reply Parent Score: 3

RE[5]: "19th Century Dentist"
by Nelson on Tue 22nd May 2012 15:10 in reply to "RE[4]: "19th Century Dentist""
Nelson Member since:
2005-11-29

I think by the time that bridge comes, we'll have more exotic thoughtfully designed background tasks to help ease the pain. Undoubtedly though, some redesign will have to happen, and often its for the better.

Reply Parent Score: 2