The Notebook Review forums were hosted by TechTarget, who shut down them down on January 31, 2022. This static read-only archive was pulled by NBR forum users between January 20 and January 31, 2022, in an effort to make sure that the valuable technical information that had been posted on the forums is preserved. For current discussions, many NBR forum users moved over to NotebookTalk.net after the shutdown.
Problems? See this thread at archive.org.

    Are all versions of Vista optimized for dual core?

    Discussion in 'Windows OS and Software' started by Zellio, Dec 10, 2006.

  1. Zellio

    Zellio The Dark Knight

    Reputations:
    446
    Messages:
    1,464
    Likes Received:
    0
    Trophy Points:
    55
    Do you know?
     
  2. count_schemula

    count_schemula Notebook Deity

    Reputations:
    331
    Messages:
    1,445
    Likes Received:
    0
    Trophy Points:
    55
    What do you mean optimized?

    XP home can do multicore.

    XP Pro and MCE can do 2 physical processors.

    I'd guess M$ knew that multicore was future. It's other apps that are kind of behind taking advantage of these new processors.
     
  3. Zellio

    Zellio The Dark Knight

    Reputations:
    446
    Messages:
    1,464
    Likes Received:
    0
    Trophy Points:
    55
    They can do multicore, but Vista is apparantly optimized for it... Or so I heard...

    And thats really the only way to explain how a bigger, more ram intensive system can run games faster...
     
  4. iOsiris

    iOsiris Notebook Evangelist

    Reputations:
    40
    Messages:
    447
    Likes Received:
    0
    Trophy Points:
    30
    I think what Zellio means is that. Windows XP Home/Pro, the way its working now is that the processor itself handles the off loading. As one of the cores becomes fully utilized then the processes gets offloaded onto the second core. This is far less effective than say a program that was multi-threaded thus it will do it natively and this is the difference between being 'able' to handle the two cores than having an actual multi-threaded application
     
  5. Best Foot Forward

    Best Foot Forward Notebook Evangelist

    Reputations:
    83
    Messages:
    420
    Likes Received:
    0
    Trophy Points:
    30
    No, from what I've read. (take with a pinch of salt) Home Basic is not optimised for dual core operation. All the rest do however.
     
  6. Jalf

    Jalf Comrade Santa

    Reputations:
    2,883
    Messages:
    3,468
    Likes Received:
    0
    Trophy Points:
    105
    Both Vista, XP, 2000 and Windows 95/98 are multithreaded. All of them are "optimized" for multicore.

    There is no magic needed. The OS is made of a ton of processes, each of which typically consist of several threads. That means the OS itself will use multicore systems as long as the scheduler is capable of assigning tasks to multiple cores.

    The easiest way to check whether your OS can do that is to go into task manager and see how many CPU's are listed. If it only shows one, on a multicore system, then you're running a version of Windows on which this is disabled. (My guess is you might see this on Win95, maybe 98 as well. But 2k and XP can certainly handle multiple cores as well as Vista)

    There's no particular "optimization" involved.
    The OS holds a queue of threads that wish to execute. Every x milliseconds, the OS interrupts the running thread(s), places them at the back of the queue, and pick new ones from the front of the queue to execute. If the system has 4 cores, it picks 4 threads at a time. If it has one, it picks just one.

    That is all the OS does, or *can* do to take advantage of multicore systems.
    There aren't really many optimizations possible.

    It still relies on the applications (and the OS itself) to be programmed to use multiple threads, but the OS certainly does that, and many regular apps do the same.

    Nope. The CPU can't control that. There's no such thing as a CPU that is "partially utilized", and there's never a need to offload things to another CPU anyway. The CPU is either executing instructions, or it isn't. If it is, it is utilized, and that's it. (And if it isn't, it's in sleep mode) It doesn't get "overloaded", and there's nothing to offload. It just reads an instruction, executes it, reads the next, executes it, and so on. It doesn't care how many instructions there are (as far as the CPU is concerned, there's an endless supply of instructions to execute). It doesn't get stressed out because it can't keep up. There's nothing it has to keep up with, and no way for it to get behind schedule.

    But actually, if it *was* possible to offload processing like that, it would by far be the most efficient way of working. It would free the developer from having to worry about threads at all.

    But no, there's no big difference in how Vista and other OS'es handles multiple threads. The scheduler might work slightly differently (but they can only make very subtle changes, because whatever else, the scheduler is supposed to ensure that all threads get executed regularly, and make sure all threads are treated "fairly".
     
  7. iOsiris

    iOsiris Notebook Evangelist

    Reputations:
    40
    Messages:
    447
    Likes Received:
    0
    Trophy Points:
    30
    ^ Ah thanks for clearing that up.
    Anyways The Home Basic and Home Premium editions won't support dual processors
    Then found this from the MS FAQ
    Perhaps the Home versions will support a processor with additional cores but doesn't support multiple processors. Does anyone know ?
     
  8. Zellio

    Zellio The Dark Knight

    Reputations:
    446
    Messages:
    1,464
    Likes Received:
    0
    Trophy Points:
    55
    Actually Osiris, you knew more of what you were talking about ;).

    I only have Vista on my Pentium D (I'm only gonna put it on my dual core machines, the athlon machines can stay in xp land), and I notice something...

    In XP, one core is mainly used all the way, and the second core is used a tad...

    In Vista however, both cores are used equally...

    I noticed this was the case whenever you did optimizations for dual core games...

    If a game is optimized for dual core but isn't turned on, only one core is used while the other core is used a tad. If it's optimized, both cores show equal usage.

    I'm noticing the equal usage in Vista.

    I also notice slightly better usage of the two cores for single player games, and better usage for dual core games, which explains why they run faster.

    I have a G15, so core usage shows up on the lcd screen. I specifically moved it to the pentium d to test this out.

    However, after upgrading my pc again, I really don't feel like getting an ultimate edition of Vista. I'm seriously, SERIOUSLY, considering the business version, as opposed to home premium, which is why I'm asking about home premium.

    Both home and home premium support dual cores, no questions asked. But are they optimized? That's all I want to know. Anyone with any experience, let me know.
     
  9. CalebSchmerge

    CalebSchmerge Woof NBR Reviewer

    Reputations:
    1,126
    Messages:
    2,395
    Likes Received:
    2
    Trophy Points:
    55
    From what I know and have read, Zellio and Osiris are close. What Jalf said is still correct though. The OS just tells which processor what to do, then interrupts and does it again. I would be more concerned about your programs running on the OS and how they handle the dual cores/processors, since they can have a greater performance impact.
     
  10. Zellio

    Zellio The Dark Knight

    Reputations:
    446
    Messages:
    1,464
    Likes Received:
    0
    Trophy Points:
    55
    It's entirely understandable.

    The OS controls everything, when you have an OS that handles multi core, and a game that handles multi core, then things move faster...

    And yes, I have noticed slightly better optimization with single threaded apps too...

    My point is though, even though XP said it was for dual core processors, it was really single core. Try running a G15, or checking your processor usage. You'll find in XP mostly one core is used, even with the dual core optimizer, while with vista, it's more optmized, much more even.

    That's what I meant.

    So, are all versions like this?
     
  11. Pitabred

    Pitabred Linux geek con rat flail!

    Reputations:
    3,300
    Messages:
    7,115
    Likes Received:
    3
    Trophy Points:
    206
    FYI, there are also different schedulers, as per what Jalf said. The scheduler for Vista may have been improved. I know that there was a constant-time scheduler for Linux that was introduced just a few years ago, and that has made a huge difference in process switching for Linux. It's not out of the question that Windows had a similar improvement between it's XP and Vista schedulers. Just because the processor can only be busy or not busy doesn't mean that it can't switch between the states more efficiently.
     
  12. Gator

    Gator Go Gators!

    Reputations:
    890
    Messages:
    1,889
    Likes Received:
    0
    Trophy Points:
    55
    LOL that's gonna be my favorite word of the week! Actually I looked on my keyboard to see if maybe it was an accident, and even after discovering the close proximity of the 'g' and 't' keys on my QWERTY keyboard, I still think it's darned clever in context to what you're talking about! Thumbs up! (Yeah I'm a little insane.)

    BOOO!!! It can hurt, really badly! Windows SP2 killed my old laptop, basically made it freeze every 20 minutes or so. Spent a few days trying to diagnose the problem, traced all of the symptoms back to installation and update to SP2. Had to reformat and manually uninstall all the hotfixes that came on the recovery disk. My take: if it's working, don't mess with it!!!
     
  13. CalebSchmerge

    CalebSchmerge Woof NBR Reviewer

    Reputations:
    1,126
    Messages:
    2,395
    Likes Received:
    2
    Trophy Points:
    55
    With the update its always best to install straight to SP2, instead of upgrade. Lots of people had trouble with the update.
     
  14. Zellio

    Zellio The Dark Knight

    Reputations:
    446
    Messages:
    1,464
    Likes Received:
    0
    Trophy Points:
    55
    I've done the dual core fix, I've had many reformats of windows xp (I used to hate it, but now I find reformatting every 3 months to be good). Vista uses two cores much more efficently.
     
  15. Pitabred

    Pitabred Linux geek con rat flail!

    Reputations:
    3,300
    Messages:
    7,115
    Likes Received:
    3
    Trophy Points:
    206
    Dude... every 3 months? Are you serious? Why don't you get an operating system that works, or learn to keep yours working?
     
  16. BigV

    BigV Notebook Deity

    Reputations:
    137
    Messages:
    890
    Likes Received:
    0
    Trophy Points:
    30
    if by utilizes dual cores more effectively you mean splits the threads across the cores, sure. Unless Intel changed the L1 cache access, utilizing 25% of each core on your c2d is essentially the same as using 50% of one

    I dunno if this was stated clearly before, but all versions of Vista can handle multiple cores on a single chip, but only certain versions can use multiple physical chips ( SMP).
     
  17. Jalf

    Jalf Comrade Santa

    Reputations:
    2,883
    Messages:
    3,468
    Likes Received:
    0
    Trophy Points:
    105
    I still disagree.
    There is no "optimization" to perform.
    When you see a difference, it is more likely because:
    - Certain bug fixes (XP has a few oddities that can occasionally cause problems with multicore systems. Most of this can be fixed with hotfixes, patches or registry tweaks though). But some, mostly related to timers, is a bit trickier, and Vista might be able to solve those bugs more efficiently. But then the question isn't "Is Vista optimized for dualcore", but rather "Is Vista less buggy regarding multithreading".
    - Different drivers (Quite simply, a driver for Vista is a month or two old at most. That means it's written when dualcore is pretty common, which means it'll typically be better optimized for multithreading. By comparison, XP drivers are typically either relatively old, or simple bugfixes on top of old drivers.

    And finally, increasing load on your second core doesn't neccesarily mean Vista is better. It could just mean Vista requires more CPU power to do the same... Only if you can also say overall performance is better, does it become really interesting. (So far, Vista's performance in games at least seems to be lower though)

    It's very limited what the OS itself can do. Pitabred is right, the scheduler can be changed, but as far as I'm aware, it uses basically the same strategy (fixed priority, round robin, extended timeslice to the process that has focus)
    They may have tweaked how long a timeslice is slightly, but I doubt they've done anything really noticeable. It's a pretty good scheduler, optimized for single-user systems where you usually only process that requires serious CPU time, and that is at the foreground of the UI.

    Servers (Including Windows Server), use a slightly different strategy because they're less concerned with responsiveness, and more with throughput.

    (By comparison, Linux and *nix'es have historically been rather shaky at this stuff, actually. Preemptive scheduling wasn't implemented until relatively late, and is still "an optional extra", for example. Moreover, Linux used to use heavily server-oriented schedulers, but over the last few years, as it's been encroaching on the desktop market, it's been changed to use much more Windows-like schedulers (shorter timeslices for greater responsiveness, at the cost of processing throughput)
    And OSX threading is completely messed up, let's not even go there! :D
     
  18. Zellio

    Zellio The Dark Knight

    Reputations:
    446
    Messages:
    1,464
    Likes Received:
    0
    Trophy Points:
    55
    Well.... Sometimes 3 months. More like every 3-6 months.

    In the desktop realm, people format alot.

    EDIT: Jalf, that is the thing, it DOES speed up performance, when all you do is dual core. On a dual core chip (the pentium d, obviously), and a dual core game (Quake 4), I got 20% performance increase. Doom 3, a single core game, gave me 10-20% performance DECREASE. I was able to add mods to Quake 4 and keep it running at 60 fps, I had to get rid of mods on Doom 3 I had in Xp.
     
  19. BigV

    BigV Notebook Deity

    Reputations:
    137
    Messages:
    890
    Likes Received:
    0
    Trophy Points:
    30
    it's totally the application causing the performance changes. if the application basically breaks itself down into multiple little bits to process (threads,) it can take advantage of the multiple cores, quake 4 had a multi-threading patch released post-release, that's what made the difference - the same boost came on my desktop running XP. if the app is basically one big chunk to process, only one core can be used.
     
  20. Zellio

    Zellio The Dark Knight

    Reputations:
    446
    Messages:
    1,464
    Likes Received:
    0
    Trophy Points:
    55
    Um, Quake 4 with the multithreading patch in XP, versus Quake 4 in Vista with multithreading patch. Vista was 20% faster.
     
  21. Pitabred

    Pitabred Linux geek con rat flail!

    Reputations:
    3,300
    Messages:
    7,115
    Likes Received:
    3
    Trophy Points:
    206
    20%? I find it VERY hard to believe that Quake4 was that CPU limited on an x1900xt (i.e., it's impossible). Are you sure you weren't running at different resolutions or with AA or AF force-enabled on XP and not enabled on Vista?