Overclock.net › Forums › Software, Programming and Coding › Operating Systems › Windows › Very stupid windows 8 implementation
New Posts  All Forums:Forum Nav:

Very stupid windows 8 implementation - Page 2

post #11 of 18
    I said "start one at a time only as long as the CPU and disk are idle."  If Explorer is still loading icons (and whatever else), one of those two will be busy.  My whole point is to have the "delay" be scalable to the amount of load the machine can handle. thumb.gif

    The bottleneck occurs on non-SSD systems when you have 40 startup programs all trying to access the HDD at the same time.  As you know, HDDs are really bad at random reads, achieving a data rate that is ~1/10 that of sequential reads.
My desktop PC
(14 items)
 
  
CPUMotherboardGraphicsRAM
Intel Core i7-3770K Gigabyte P67A-D3-B3 NVIDIA GeForce 8400 GS  1x Corsair 8 GB 
Hard DriveHard DriveHard DriveOS
Kingston SV300S3 WesternDigital WD10EZEX Samsung HD154UI Windows 7 Ultimate SP1 x64 
MonitorMonitorKeyboardPower
Daewoo L947BK Gateway FPD1530 HTK-2001 Dynex DX-400WPS 
MouseAudio
Kensington K72400 Realtek ALC889 
  hide details  
Reply
My desktop PC
(14 items)
 
  
CPUMotherboardGraphicsRAM
Intel Core i7-3770K Gigabyte P67A-D3-B3 NVIDIA GeForce 8400 GS  1x Corsair 8 GB 
Hard DriveHard DriveHard DriveOS
Kingston SV300S3 WesternDigital WD10EZEX Samsung HD154UI Windows 7 Ultimate SP1 x64 
MonitorMonitorKeyboardPower
Daewoo L947BK Gateway FPD1530 HTK-2001 Dynex DX-400WPS 
MouseAudio
Kensington K72400 Realtek ALC889 
  hide details  
Reply
post #12 of 18
Quote:
Originally Posted by Techie007 View Post

    I said "start one at a time only as long as the CPU and disk are idle."  If Explorer is still loading icons (and whatever else), one of those two will be busy.  My whole point is to have the "delay" be scalable to the amount of load the machine can handle. thumb.gif

You can't do that because its not predictable. You can't predict when the CPU and disk are going to be idle so you start getting questions like "sometimes I start my machine and program X takes N seconds to start, other times it takes Y seconds to start". Microsoft aren't going to invest time in some fancy algorithm (how do you know what sort of load the machine can handle, these things are not trivial) because the current one works for most users because most do not give a rats ass about start up programs and most do not have super powerful PCs that makes the entire situation not required.

That's why there's a configurable registry key for advanced users who do care about start up program X and have a machine that's capable, AND are advanced enough to edit the registry.
Quote:
The bottleneck occurs on non-SSD systems when you have 40 startup programs all trying to access the HDD at the same time. As you know, HDDs are really bad at random reads, achieving a data rate that is ~1/10 that of sequential reads.

But Windows doesn't give a crap about this. Its only worried about getting itself started, or rather its worried more about that than Joe's XYZ pre-launcher application. Waiting until idle might never happen in a reasonable time frame and launching applications one by one with a one second delay puts pressure on kernel timers and other locks that you do not need during start up. In any case if you have 40 start up applications then you better rethink your options and start cleaning some things out.

This way you make things predicable. Serialize the start up between the shell and start up programs and do so in a reasonable time for the majority of users, and you only need a single timer that fires once. This is not the first time Windows has gone to war against start up programs, because they are most frequently used for the wrong purpose (they run with background priority, basically any other I/O is already scheduled to run before it, thus making waiting for idle time basically useless as the kernel is doing its job and scheduling things as necessary - the schedulers have already had their time spent developing the optimum algorithms).

Waiting for idle is a violation of architecture because you have user-mode trying to control how the kernel does things. You'd rather mark the applications as background priority (which it already does) and let the kernel do its thing.

In fact it USED to go one step further: In Vista, to counteract this tragedy of the commons, Windows runs these programs inside a job object with reduced CPU, I/O, and paging priority, this is called boxing, for 60 seconds. They gave up in Windows 7 because the performance team stopped giving a damn about trying to compete with software who install crap at start up. If you want to turn this back on, set HKLM\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced\DelayedApps\Delay_Sec to 60. You must take control of the key.
Ol' Sandy
(28 items)
 
"Zeus"
(12 items)
 
Elite Preview
(6 items)
 
CPUMotherboardGraphicsRAM
Intel Xeon E3-1230v3 Gigabyte GA-Z97X-UD5H-BK MSI Gaming GTX 980 Kingston 32GB (4x8) 
Hard DriveHard DriveHard DriveHard Drive
Plextor PX-256M5S 256GB Samsung EVO 1TB Hitachi HDS721010CLA332 Hitachi HDS723020BLA642 
Hard DriveHard DriveHard DriveOptical Drive
Hitachi HDS723020BLA642 Hitachi HUA722010CLA330 WDC WD10EARS-00Z5B1 TSSTcorp CDDVDW SH-S223B 
CoolingCoolingOSMonitor
Phanteks PH-TC14PE with TY-140's Lamptron FCv5 (x2) Windows 8 Pro 64-bit Dell U2412M 
MonitorMonitorMonitorKeyboard
Dell U2412M Dell U2212HM Dell U2713HM Topre Realforce 87UB | Ducky DK9087 G2 Pro 
PowerCaseMouseMouse Pad
Corsair AX-750 Corsair Obsidian 650D Logitech G700 XTRAC Ripper XXL 
AudioAudioAudioAudio
Beyerdynamic DT-770 Pro 250ohm Schiit Bifrost DAC Schiit Asgard 2 HiVi Swan M50W 2.1 
CPUMotherboardRAMHard Drive
Intel Xeon E5-2620 Super Micro X9SRL-F-B 128GB 1333MHz LSI 9271-8i 
OSPowerCase
VMware ESXi 5.5 SeaSonic SS-400FL2 Fractal Define R3 
CPUMotherboardGraphicsRAM
Intel Core i5-3437U HP EliteBook Folio 9470m  Intel HD Graphics 4000  16GB DDR3 SDRAM 
Hard DriveOS
256GB SSD Windows 10 Insider Preview 
  hide details  
Reply
Ol' Sandy
(28 items)
 
"Zeus"
(12 items)
 
Elite Preview
(6 items)
 
CPUMotherboardGraphicsRAM
Intel Xeon E3-1230v3 Gigabyte GA-Z97X-UD5H-BK MSI Gaming GTX 980 Kingston 32GB (4x8) 
Hard DriveHard DriveHard DriveHard Drive
Plextor PX-256M5S 256GB Samsung EVO 1TB Hitachi HDS721010CLA332 Hitachi HDS723020BLA642 
Hard DriveHard DriveHard DriveOptical Drive
Hitachi HDS723020BLA642 Hitachi HUA722010CLA330 WDC WD10EARS-00Z5B1 TSSTcorp CDDVDW SH-S223B 
CoolingCoolingOSMonitor
Phanteks PH-TC14PE with TY-140's Lamptron FCv5 (x2) Windows 8 Pro 64-bit Dell U2412M 
MonitorMonitorMonitorKeyboard
Dell U2412M Dell U2212HM Dell U2713HM Topre Realforce 87UB | Ducky DK9087 G2 Pro 
PowerCaseMouseMouse Pad
Corsair AX-750 Corsair Obsidian 650D Logitech G700 XTRAC Ripper XXL 
AudioAudioAudioAudio
Beyerdynamic DT-770 Pro 250ohm Schiit Bifrost DAC Schiit Asgard 2 HiVi Swan M50W 2.1 
CPUMotherboardRAMHard Drive
Intel Xeon E5-2620 Super Micro X9SRL-F-B 128GB 1333MHz LSI 9271-8i 
OSPowerCase
VMware ESXi 5.5 SeaSonic SS-400FL2 Fractal Define R3 
CPUMotherboardGraphicsRAM
Intel Core i5-3437U HP EliteBook Folio 9470m  Intel HD Graphics 4000  16GB DDR3 SDRAM 
Hard DriveOS
256GB SSD Windows 10 Insider Preview 
  hide details  
Reply
post #13 of 18
    I'm not going to argue further with you, although I strongly disagree as a programmer who has written a program that does the first part (watch CPU usage, I don't know how to read the disk counters yet—you're welcome to help me if you know how to do this).  All I can say is that it is a lot easier than you're making it sound, and the results are good.  Because of my program, this Vista machine is usable shortly after the desktop icons appear, instead of being hung for nearly a minute as several startup programs try to read some large files from the HDD at the same time.  There are no fancy algorithms necessary.  As far as timers are concerned, one more timer firing once a second (for less than a minute in most cases) is no big deal.  The code would be in Explorer (not kernel) anyway.  Programmers use timers all the time.
 
Edited by Techie007 - 2/6/14 at 10:27pm
My desktop PC
(14 items)
 
  
CPUMotherboardGraphicsRAM
Intel Core i7-3770K Gigabyte P67A-D3-B3 NVIDIA GeForce 8400 GS  1x Corsair 8 GB 
Hard DriveHard DriveHard DriveOS
Kingston SV300S3 WesternDigital WD10EZEX Samsung HD154UI Windows 7 Ultimate SP1 x64 
MonitorMonitorKeyboardPower
Daewoo L947BK Gateway FPD1530 HTK-2001 Dynex DX-400WPS 
MouseAudio
Kensington K72400 Realtek ALC889 
  hide details  
Reply
My desktop PC
(14 items)
 
  
CPUMotherboardGraphicsRAM
Intel Core i7-3770K Gigabyte P67A-D3-B3 NVIDIA GeForce 8400 GS  1x Corsair 8 GB 
Hard DriveHard DriveHard DriveOS
Kingston SV300S3 WesternDigital WD10EZEX Samsung HD154UI Windows 7 Ultimate SP1 x64 
MonitorMonitorKeyboardPower
Daewoo L947BK Gateway FPD1530 HTK-2001 Dynex DX-400WPS 
MouseAudio
Kensington K72400 Realtek ALC889 
  hide details  
Reply
post #14 of 18
Quote:
Originally Posted by Techie007 View Post

    I'm not going to argue with you, although I strongly disagree as a programmer who has written a program that does the first part (watch CPU usage, I don't know how to read the disk counters yet).  All I can say is that it is a lot easier than you're making it sound, and the results are good.  Because of my program, this Vista machine is usable shortly after the desktop icons appear, instead of being hung for nearly a minute as several startup programs try to read some large files from the HDD at the same time.  There are no fancy algorithms necessary.  As far as timers are concerned, one more timer firing once a second is no big deal.  The code would be in Explorer (not kernel) anyway.  Programmers use timers all the time.

I'm not arguing. I'm just telling you Microsoft aren't wasting time on this junk and any additional calculations at start up are overhead that aren't necessary because the problem it would potentially solve is not a big one. I've already outlined why. They already disabled something similar because its a waste of time.

As for reading disk counters you can see this page on MSDN on how to use performance counters: http://msdn.microsoft.com/en-us/library/windows/desktop/aa373083%28v=vs.85%29.aspx

Your application does basically the same thing as waiting a fixed amount of time to launch start up programs - it makes Windows usable earlier and the currently solution doesn't need to go off on some trail reading CPU usage and disk I/O. Change your program to sleep for some amount of time and the results are the same. The only difference is, your solution fails when CPU and disk are not idle. What if someone schedules a task to run at logon that performs some heavy work? (If they do then they are stupid but you can't guarantee it will not happen). Did you account for those too? (And they don't even run with reduced priority!). In that case, start up programs might fail to launch altogether (and the system would still be not usable quickly!).
Ol' Sandy
(28 items)
 
"Zeus"
(12 items)
 
Elite Preview
(6 items)
 
CPUMotherboardGraphicsRAM
Intel Xeon E3-1230v3 Gigabyte GA-Z97X-UD5H-BK MSI Gaming GTX 980 Kingston 32GB (4x8) 
Hard DriveHard DriveHard DriveHard Drive
Plextor PX-256M5S 256GB Samsung EVO 1TB Hitachi HDS721010CLA332 Hitachi HDS723020BLA642 
Hard DriveHard DriveHard DriveOptical Drive
Hitachi HDS723020BLA642 Hitachi HUA722010CLA330 WDC WD10EARS-00Z5B1 TSSTcorp CDDVDW SH-S223B 
CoolingCoolingOSMonitor
Phanteks PH-TC14PE with TY-140's Lamptron FCv5 (x2) Windows 8 Pro 64-bit Dell U2412M 
MonitorMonitorMonitorKeyboard
Dell U2412M Dell U2212HM Dell U2713HM Topre Realforce 87UB | Ducky DK9087 G2 Pro 
PowerCaseMouseMouse Pad
Corsair AX-750 Corsair Obsidian 650D Logitech G700 XTRAC Ripper XXL 
AudioAudioAudioAudio
Beyerdynamic DT-770 Pro 250ohm Schiit Bifrost DAC Schiit Asgard 2 HiVi Swan M50W 2.1 
CPUMotherboardRAMHard Drive
Intel Xeon E5-2620 Super Micro X9SRL-F-B 128GB 1333MHz LSI 9271-8i 
OSPowerCase
VMware ESXi 5.5 SeaSonic SS-400FL2 Fractal Define R3 
CPUMotherboardGraphicsRAM
Intel Core i5-3437U HP EliteBook Folio 9470m  Intel HD Graphics 4000  16GB DDR3 SDRAM 
Hard DriveOS
256GB SSD Windows 10 Insider Preview 
  hide details  
Reply
Ol' Sandy
(28 items)
 
"Zeus"
(12 items)
 
Elite Preview
(6 items)
 
CPUMotherboardGraphicsRAM
Intel Xeon E3-1230v3 Gigabyte GA-Z97X-UD5H-BK MSI Gaming GTX 980 Kingston 32GB (4x8) 
Hard DriveHard DriveHard DriveHard Drive
Plextor PX-256M5S 256GB Samsung EVO 1TB Hitachi HDS721010CLA332 Hitachi HDS723020BLA642 
Hard DriveHard DriveHard DriveOptical Drive
Hitachi HDS723020BLA642 Hitachi HUA722010CLA330 WDC WD10EARS-00Z5B1 TSSTcorp CDDVDW SH-S223B 
CoolingCoolingOSMonitor
Phanteks PH-TC14PE with TY-140's Lamptron FCv5 (x2) Windows 8 Pro 64-bit Dell U2412M 
MonitorMonitorMonitorKeyboard
Dell U2412M Dell U2212HM Dell U2713HM Topre Realforce 87UB | Ducky DK9087 G2 Pro 
PowerCaseMouseMouse Pad
Corsair AX-750 Corsair Obsidian 650D Logitech G700 XTRAC Ripper XXL 
AudioAudioAudioAudio
Beyerdynamic DT-770 Pro 250ohm Schiit Bifrost DAC Schiit Asgard 2 HiVi Swan M50W 2.1 
CPUMotherboardRAMHard Drive
Intel Xeon E5-2620 Super Micro X9SRL-F-B 128GB 1333MHz LSI 9271-8i 
OSPowerCase
VMware ESXi 5.5 SeaSonic SS-400FL2 Fractal Define R3 
CPUMotherboardGraphicsRAM
Intel Core i5-3437U HP EliteBook Folio 9470m  Intel HD Graphics 4000  16GB DDR3 SDRAM 
Hard DriveOS
256GB SSD Windows 10 Insider Preview 
  hide details  
Reply
post #15 of 18
Thread Starter 
Anddddddddd its back again.....good job MS! now the "new" fix also does not fix it, it wad fine for 3 boots, now back to the old 12 sec + rolleyes.gif
My System
(15 items)
 
  
CPUMotherboardGraphicsRAM
i5 2500K @4.7ghz(1.39v) 24/7 +D14 Asus P8Z77-V Sapphire R9 290 Tri X @1160/1600 8GB HyperX @2133 
Hard DriveOptical DriveCoolingOS
WD Blue EZEX 1TB & Samsung 840 Pro 256GB (OS) Asus Nocuta NH D14 WIN 7 64 Ultimate 
MonitorKeyboardPowerCase
NEC 2490wuxi (rev 1) Logitech Wave Cooler Master Vanguard 850W Cooler Master HAF 932 
MouseMouse PadAudio
Logitech G5 Cooler Master Xonar STX+ HD595 
  hide details  
Reply
My System
(15 items)
 
  
CPUMotherboardGraphicsRAM
i5 2500K @4.7ghz(1.39v) 24/7 +D14 Asus P8Z77-V Sapphire R9 290 Tri X @1160/1600 8GB HyperX @2133 
Hard DriveOptical DriveCoolingOS
WD Blue EZEX 1TB & Samsung 840 Pro 256GB (OS) Asus Nocuta NH D14 WIN 7 64 Ultimate 
MonitorKeyboardPowerCase
NEC 2490wuxi (rev 1) Logitech Wave Cooler Master Vanguard 850W Cooler Master HAF 932 
MouseMouse PadAudio
Logitech G5 Cooler Master Xonar STX+ HD595 
  hide details  
Reply
post #16 of 18
Quote:
Originally Posted by psyside View Post

Anddddddddd its back again.....good job MS! now the "new" fix also does not fix it, it wad fine for 3 boots, now back to the old 12 sec + rolleyes.gif

I installed a fresh Windows 8.1 yesterday, and I think I have the same problem now. That "StartupDelayInMSec" registry change does not seem to do anything.

What's strange is that it seemed to work before I wiped the PC. That old Windows installation was a Windows 8 that had been upgraded to 8.1. I felt the various programs that started after login were showing up faster in the notification area of the task-bar, etc.
post #17 of 18
Thread Starter 
MS....dont know what they are doing, but with 840 pro, to boot in 30 seconds its just un-acceptable.
My System
(15 items)
 
  
CPUMotherboardGraphicsRAM
i5 2500K @4.7ghz(1.39v) 24/7 +D14 Asus P8Z77-V Sapphire R9 290 Tri X @1160/1600 8GB HyperX @2133 
Hard DriveOptical DriveCoolingOS
WD Blue EZEX 1TB & Samsung 840 Pro 256GB (OS) Asus Nocuta NH D14 WIN 7 64 Ultimate 
MonitorKeyboardPowerCase
NEC 2490wuxi (rev 1) Logitech Wave Cooler Master Vanguard 850W Cooler Master HAF 932 
MouseMouse PadAudio
Logitech G5 Cooler Master Xonar STX+ HD595 
  hide details  
Reply
My System
(15 items)
 
  
CPUMotherboardGraphicsRAM
i5 2500K @4.7ghz(1.39v) 24/7 +D14 Asus P8Z77-V Sapphire R9 290 Tri X @1160/1600 8GB HyperX @2133 
Hard DriveOptical DriveCoolingOS
WD Blue EZEX 1TB & Samsung 840 Pro 256GB (OS) Asus Nocuta NH D14 WIN 7 64 Ultimate 
MonitorKeyboardPowerCase
NEC 2490wuxi (rev 1) Logitech Wave Cooler Master Vanguard 850W Cooler Master HAF 932 
MouseMouse PadAudio
Logitech G5 Cooler Master Xonar STX+ HD595 
  hide details  
Reply
post #18 of 18
Alright... I think my problems were related to the Microsoft Antivirus program that comes with Windows 8 and 8.1. That's what was delaying the start-up of some programs after boot. In my case, it was Dexpot starting up slow (it's a program providing virtual desktop / workspaces on Windows), and SpeedFan. Both were acting strange in a way that their .exe was started, but their integration into the task-bar or its notification area did not happen for a long time. I blamed explorer.exe for that, but the delay I've seen is gone after installing a third party Antivirus to replace Microsoft's.

I have no explanation why I didn't have any problem before reinstalling Windows. It worked fine on 8 and after an upgrade to 8.1, but it had this strange problem after doing a clean installation of 8.1.
New Posts  All Forums:Forum Nav:
  Return Home
  Back to Forum: Windows
Overclock.net › Forums › Software, Programming and Coding › Operating Systems › Windows › Very stupid windows 8 implementation