I'm trying to improve CPU performance in a game, to do this I want to try giving it 2-4 CPU cores that run ONLY that application, and no windows related services. Is there I was where I can set the default affinity for ALL applications, services, processes, ect. on the computer so the core is effectively not in use at all?
set affinity access denied
will make most processes run on first core (core 0 in task manager). Yes it will throw quite many "Access denied" errors for processes it can't change affinity for. just ignore it... for the rest it works.
A few other methods to force Windows to run applications on only one core is answered here. That could free up your other three cores for your game. And how to set the affinity for this one manually via taskmgr or cmdline answered Keltari with other useful hints where performance bottlenecks could be.
This can be partially accomplished with a lot of manual labor. You can set processor affinity through the task manager or from the command line. See this article on how to do it. Unfortunately, this method does not work on services.
Think Mechatism hit something there, same problem but moment I go to 'show all' my set affinity comes back. I suspect when not in show all taskmgr isnt running as admin as it seems to shutdown and restart when you select 'show all'
Another possible cause is that there are too many users trying to access the file or folder at the same time. To fix this, you need to make sure that only the user you want to access the file or folder has the correct permissions.
If the policy was not enabled, or if it did not resolve the issue, you can try running virus and malware scans on your computer using an antivirus or antimalware program. This can help to make sure there is nothing malicious on your computer preventing you from accessing Task Manager.
If you are encountering an error message saying you are unable to set affinity access and are denied, it is likely that you do not have the correct user privileges. You must have the correct Admin privileges in order to make changes to the affinity settings.
Contact your system administrator or IT personnel in order to help you receive the appropriate level of access. Also, make sure that there is no Group Policy that is preventing you from changing the affinity setting as this is a common problem.
Realtime priority refers to the ability of a program or process to access the processor resources in a computer. It allows the program to execute without competition from other processes on the system.
The priority problems facing the world today are numerous and complex. Common causes of concern include climate change, poverty, increasing inequality, political instability, corruption, access to education, access to clean water and sanitation, food insecurity, health care, and overpopulation.
Food insecurity remains a major issue, leaving millions of people unable to access sufficient, safe and nutritious food. Many countries experience a significant lack of access to essential health services and medicines as well.
App installation failed with error message: AppxManifest.xml(51,6): error 0x80070005: Cannot register the SerifEuropeLtd.AffinityPublisher2_2.0.0.1640_x64__3cqzy0nppv2rt package because the following error was encountered while registering the windows.fileTypeAssociation extension: Access is denied.. Try again and contact the package publisher if the problem persists. (0x80070005)
Note that psutil.cpu_count() may not necessarily be equivalent to theactual number of CPUs the current process can use.That can vary in case process CPU affinity has been changed, Linux cgroupsare being used or (in case of Windows) on systems using processor groups orhaving more than 64 CPUs.The number of usable CPUs can be obtained with:
Represents an OS process with the given pid.If pid is omitted current process pid (os.getpid) is used.Raise NoSuchProcess if pid does not exist.On Linux pid can also refer to a thread ID (the id field returned bythreads() method).When accessing methods of this class always be prepared to catchNoSuchProcess and AccessDenied exceptions.hash builtin can be used against instances of this class in order toidentify a process univocally over time (the hash is determined by mixingprocess PID + creation time). As such it can also be used with set.
Get or set process currentCPU affinity.CPU affinity consists in telling the OS to run a process on a limited setof CPUs only (on Linux cmdline, taskset command is typically used).If no argument is passed it returns the current CPU affinity as a listof integers.If passed it must be a list of integers specifying the new CPUs affinity.If an empty list is passed all eligible CPUs are assumed (and set).On some systems such as Linux this may not necessarily mean all availablelogical CPUs as in list(range(psutil.cpu_count()))).
We've noticed that the application seems to run pretty smoothly if we set the processor affinity to a single processor using task manager, only manifesting instability when processor affinity isn't set.
I know that I can specify the processor affinity of a task using .NET and as such, there lies a possibility of me writing a shell application that could be used to run legacy applications with a specified processor affinity, does anyone have any experience with this and can throw out some ideas as to headaches I'm likely to run into with this approach?
The other question is: Is it in fact possible to modify the core VBA product to handle its own processor affinity? I've never had to handle this with any of my applications natively so this (at this point in time) is completely outside my realm of expertise.
You give it a way to identify your application (e.g. by .exe location), and then it allows you to specify a number of tweaks. Processor affinity is one of them. It creates a database that holds all your tweaks.
To answer your second question: As you tagged the question with access-vba I assume that your VBA code is an Access solution. Your VBA code will then be executed in process, i.e. you will have to modify the processor affinity of the access.exe process. It is not possible to modify the affinity of the VBA engine separately.
However, before you specify a processor affinity make sure that you are fully aware of the consequences. Fiddling around with this setting can have undesired effects. For a good example read Raymond Chen's post:
In Windows XP, Windows Vista, and Windows 7 applications by default run on all available cores of the processor. If you have a dual or quad core processor, then you can set affinity to an application to control which core of the processor an application can use, in this way you can assign one application or a program to use only one processor while other application can run on other processor. Although you cannot set priority to system services but you can set affinity to applications like Google Chrome, Firefox or any Anti-Virus, in this way you can achieve a good overall performance.
Right click the process (application) whose processor affinity you want to change and choose Set Affinity. Now Check the CPU(s) that you want the process (application) to run on and click OK
Will allow you to play older games such as the Thief series 1,2 and 3 since they do not like multi-core systems. I could not play Thief Deadly Shadows since my system locked up when i alt-tabbed out to select affinity manually. With this i am able to play it again.
Thank you so much Bruce brown for sharing these links with us, i wrote this post without these calculations so that a beginner user may understand the benefit of setting affinity easily .. keep reading on our other posts !
The items listed on the Applications tab represent only a portion of the total number of programs and services running on a Windows computer at any given time. To see the entire list of running processes and gain access to a broader selection of tools for managing them, click the Processes tab.
Initially, the Processes tab lists programs and services that are directly accessible to the current user. To see everything, including processes running under system accounts and the accounts of other logged-on users (if you use Fast User Switching), click Show Processes From All Users.
I started using it a few months ago and really have noticed a difference. Neat thing is that you can adjust all affinity, priority, etc, settings and it remembers them every time you run that program. Also has a dedicated gaming mode per application to give it maximum utilization.
Indeed it does then. This is a bugger about Windows not having any kind of preset functionality. Although ProcAff.exe did sucessfully change the affinitys while launched, I had some problems with input devices after that. I am going to look into it more. I don't know if Windows will assign the same ProcID for every app launch, so there again is another shortcoming.
setting cpu/core-affinity has negative impact on thermal loading (normally OS takes care of it by moving process from one core to the other). So if you do this, at least assing DCS to the core which is cooled the most effectively. As you can see on 2ff7e9595c
Comments