![]() ![]() It is one of the few utilities I have found which allows you to manipulate the Affinity of processes easily and very quickly.ĭo NOT mess about with the priority of any processes - this is a recipe for disaster. There is however a utility you can download for free called Process Lasso The thing is that you have to set every single process Affinity individually, which is a very time consuming grind, and then, to top it all off, when you reboot then you lose all the settings you just made. What this does is it allows you to dictate which processes can use which Core of your CPU. This is called "Affinity", and you can set it if you open the Task Manager, right click on a process and then on "Set Affinity". ![]() Luckily no, and there is something built into the NT family of Operating Systems which guarantees that you will have that lucky streak of Cache hits nearly all the time - thus immeasurably increasing the performance of your CPU. So that's it? You are screwed? You are at the mercy of random chance and a lucky streak of Cache hits for performance? And no amount of overclocking can get around this fundamental obstacle. So as you can see, the performance of a game is not so much dependant on the speed of the CPU or the GPU, but rather how often the CPU can score a Cache hit as opposed to a Cache miss. What this means is that the process will then have absolutely NO data in the Cache and have to go back to either memory or storage to fill it up again, which is incredibly wasteful of CPU time. The Operating System has a mechanism known as "Task Switching" whereby it will take a process waiting for its time-slice on one core and assign it to a completely different core. Of course Micro$haft would not be Micro$haft if it didn't actually go out of its way to kick you in the nuts whilst you were gaming. The Cache is multi associative, meaning it can contain disparate data from different sources, this does not however mean that a new process will not overwrite data vital to the another process - like a game which is running - and when that process gets its time-slice again it can find that it's Cache has been marked dirty and will have to go an retrieve the data again from memory or storage - slowing down that process very, very significantly. ![]() Well remember when I said that Windows was a pre-emptive Operating System? What this means is that other processes get a time-slice of CPU attention, and of course those processes will load data into the Cache. So the CPU is happily chomping and digesting the data it gets from the Cache - problem solved? ![]() When needing data, the CPU will always look in the Cache first, and if it doesn't find what it needs there will request it from comparatively very slow memory, or, not finding it there, have to fall back on the positively slothlike storage. Whilst the CPU is working on data in the Cache, the Cache itself is loading data the CPU is going to most likely need next. Increasing the speed of storage was not and even now in the days of NVME M.2 is not a really viable option.Ĭache is basically an area of RAM built into the CPU which runs at close the the same clockspeed of the CPU. I hear you say, "OK Captain obvious, so what's your effing point?".Īs CPUs got faster and faster and storage and the data bus started lagging ever far behind, a way had to be found to circumvent this imbalance. To get back to the question of where the CPU gets its speed from, the answer is from the data, and the more fluidly and consistently the CPU can get the data, the more speedily it can execute that data. The problem with this is, when a process hangs, then the CPU is basically stuck trying to compute data that is not being requested and will be in a hung state with no way to terminate the process. Previous versions of Windows worked on the basis of cooperative mutlitasking whereby a process would have the CPU attention until it relinquished its call. What this means is that all the processes running on the system (and a game would be a process - or perhaps have a number of process threads) get a certain time-slice of attention before they are frozen and another process will get attention. Windows of the NT family (which is all that has survived) is a pre-emptive multitasking Operating System. You see it really doesn't matter how many things are doing nothing or how fast those things are doing naff-all and this is the problem you will mostly be confronted with when gaming and/or streaming, and it is the reason why games will not run optimally, no matter how much you overclock or how many cores are added to the system. If your answer is, "From the clockspeed of course", or "From the number of cores of course", then I would contend that you would be wrong. Before I start, you have to ask yourself one question, "Where does a CPU get its performance from?". ![]()
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |