How to force more threads to run a single core application?


  1. Posts : 6
    Windows 7 Home Premium 64bit
       #1

    How to force more threads to run a single core application?


    Hi everyone. This is my first time posting, so bear with me if I posted in the wrong place, wrong title etc.. I'm running X3: Albion Prelude on my laptop, and performance starts to lag the more I play the game. I'm guessing this is because the game has to keep track of and process more data as the player progresses (for example, when I start a new game, everything is smooth, but when I load an older game, performance is choppy, even when there's not much happening on screen). My CPU is an Intel i7-3610M (4 cores, 8 threads). As far as I know, X3 can only utilize one core at a time; however, when I open task manager to check the performance, it only shows 13% CPU usage most of the time. That's consistent with 1/8th of total CPU, or one thread. My question is, how do I make the "other" thread run the application as well? Also, if disabling hyperthreading would help, how do I do it? The option doesn't show up on the BIOS screen in the startup menu.

    Here are the rest of the relevant PC specs:

    HP pavilion dv6qe series - I think dv6-7000 but not sure. Whatever the newest one is.
    8 GB DDR3 RAM
    1 GB Nvidia GT 630m graphics
    1 TB 5400 RPM
    Win 7 Home Premium 64bit

    ...that's all I think
      My Computer


  2. Posts : 5,642
    Windows 10 Pro (x64)
       #2

    You cannot make a single threaded application use more then one thread or core under any condition. That can only be achieved if the application is designed to take advantage of multi-core/threaded processors.

    TLDR; The developer is the only one who can make it multi-threaded.
      My Computer


  3. Posts : 2,528
    Windows 7 x64 Ultimate
       #3

    Yes, any thread /would/ use 100% of one core except for a couple of things. 1) A threads CPU usage is cut short due to waiting on IO (I.e. memory or the worst case, network or hard drive IO) and 2) When the program itself stops a threads execution because there is nothing left to do at the moment (The program if voluntarily halting the thread till it gets more information from you like a mouse or keystroke or more data comes in from a network etc).

    SO what does all that mean? MOST of the time, a game not taking up most of the CPU means that it is heavily dependant on the hard drive for some reason (which could mean you don't have enough memory to run the game properly and are thrashing the virtual memory mapping on the drive). OR your running the game on a good CPU but an underpowered GPU and the CPU is having to wait on the GPU to finish it's work all the time before continuing onto the next frame.

    Well thirdly, the program could actually just simply finish it's work per frame in far less than one frames worth of time, but you said the game was running slow so that's probably not it...
      My Computer


  4. Posts : 6
    Windows 7 Home Premium 64bit
    Thread Starter
       #4

    Thank you for the replies everyone. If anything would be the bottleneck, I think it would be memory-write speed that had something to do with it, since it's "only" 5400RPM. But I can't be sure, since the game was released in 2005. As I said earlier, I don't think it's the GPU that's holding it back, since performance is very smooth when I start a new game; it's only when I load an older game that it becomes noticeably more laggy. Furthermore, turning down the graphics settings doesn't seem to have any effect.

    I would still like to turn off hyperthreading though, just to see if that would allow the application to use the full core. Can anyone tell me how to do that?
      My Computer


  5. Posts : 5,642
    Windows 10 Pro (x64)
       #5

    It is already using the full core, you cannot use half of a core it does not work that way.
      My Computer


  6. Posts : 6
    Windows 7 Home Premium 64bit
    Thread Starter
       #6

    Perhaps I worded the question wrong. I assumed that multiple threads attached a core meant that the core divided its processing power among the threads. But the fact remains that task manager never reports the program as using more than 13% CPU at a time, which (correct me if I'm interpreting this wrong) doesn't equate to a full core. So do you think you could pinpoint the problem for me? I've ruled out the gpu as the issue; mouse movements are choppy even when nothing is being rendered on screen. And I would still like to know how to disable hyperthreading, regardless of whether it would theoretically help or not, or should I start a new thread for that?
      My Computer


  7. Posts : 5,642
    Windows 10 Pro (x64)
       #7

    It is most likely the hard drive. If the game is having to access the HDD for any reason that is going to really bog things down.
      My Computer


  8. Posts : 2,528
    Windows 7 x64 Ultimate
       #8

    taxinimon said:
    Perhaps I worded the question wrong. I assumed that multiple threads attached a core meant that the core divided its processing power among the threads. But the fact remains that task manager never reports the program as using more than 13% CPU at a time, which (correct me if I'm interpreting this wrong) doesn't equate to a full core. So do you think you could pinpoint the problem for me? I've ruled out the gpu as the issue; mouse movements are choppy even when nothing is being rendered on screen. And I would still like to know how to disable hyperthreading, regardless of whether it would theoretically help or not, or should I start a new thread for that?
    Your second sentence there is correct. You just can't make a thread use more CPU if it can't. Not without identifying what is slowing it down, which can be a chore. Try looking at your HD read/write numbers in the resource monitor and see if your HD is accessed heavily during the runnning of the program.

    You can disable hyperthreading in your BIOS I believe... But 99.999999% of the time that will just slow the entire system down by a bit.
      My Computer


  9. Posts : 6
    Windows 7 Home Premium 64bit
    Thread Starter
       #9

    The option do disable hyperthreading does not show up in the BIOS; at least, not under the menu where other computers have it (from screenshots and videos). But thanks for the replies; I have a better idea of what the problem is now. I'll mark this as solved.

    Edit: Actually, after browsing a couple more forums, it turns out the lagginess problem is intrinsic to the game itself, caused by accumulation of old "mission director" data or something like that. A patch released by the developers supposedly alleviates the issue. Good to know it's not my computer's fault. Thanks again guys!
      My Computer


  10. Posts : 24,479
    Windows 7 Ultimate X64 SP1
       #10

    taxinimon said:
    The option do disable hyperthreading does not show up in the BIOS; at least, not under the menu where other computers have it (from screenshots and videos). But thanks for the replies; I have a better idea of what the problem is now. I'll mark this as solved.
    Most OEM computers have very few options to set in BIOS. You may find it by drilling down in CPU options or in Hardware monitoring.
      My Computer


 

  Related Discussions
Our Sites
Site Links
About Us
Windows 7 Forums is an independent web site and has not been authorized, sponsored, or otherwise approved by Microsoft Corporation. "Windows 7" and related materials are trademarks of Microsoft Corp.

© Designer Media Ltd
All times are GMT -5. The time now is 02:30.
Find Us