Ever since dual core processors from AMD and Intel came out, people have been complaining about "speed hacks" and skipping while they play Half-Life based games (CS 1.6, DOD 1.3, etc.). Most of these issues can be solved fairly simply with an edit of a system file on your computer.
[b][i]Very[/i] brief history[/b] Intel, being the studs that they are, were the first microprocessor company to implement a concept called "mulitple threads". The idea was that splitting up the work load between two physical or logical cores would allow programs to run more betterer and all that good stuff. They introduced their HyperThreaded processors which had 1 core that had a part of it that was like a "logical" copy of the other part and allowed the computer to process data on it as well. This was like a fake dual-core, but was very effective at increasing overall computer performance while multi-tasking (always) because it enabled the use of multiple threads.
Flash forward to 2005 when AMD and Intel release there X2 and Pentium-D, respectively, product lines.
[b]The Problem[/b] (or at least my guesses about it) While playing Half-Life based games on these new processors, people seem to have "built-in speedhacks". We all love it when morons go into pub servers and run aournd slashing your head off with their knife. It is [b]so[/b] fun.
I can only guess that this has something to do with a the processor processing something twice, resulting in total chaos. I will look into the problem more and update this if I find out for sure why it happens. Regardless, it's got to be fixed.
[b]The fix[/b] (that works 99% of the time) When Intel released their HyperThreaded processors, they ran into a bunch of weird problems with it. So, being the studs they are, they created a little command that fixed all this called usepmtimer.
SOoooooooooooooo, to fix this you need to modify your boot.ini file. Your boot.ini can be found by right clicking My Computer and going to System, then to the Advanced tab, then clicking Settings under Startup and Recovery. You click the "Edit" box next to where it says: To edit startup options manually, click Edit. To the file that pops up, and on the line underneath [operating systems], you are going to add the following command: /usepmtimer But first, save a copy of the unaltered boot.ini file to your desktop in case you screw it up ( ;] ). When you are done editing the file, it should look like this:
[boot loader] timeout=30 default=multi(0)disk(0)rdisk(0)partition(1) \WINDOWS [operating systems] multi(0)disk(0)rdisk(0)partition(1)\WINDO... Windows XP Professional" /noexecute=optin /fastdetect [b]/usepmtimer[/b]
Your computer will need to restarted after you do this, and upon the reboot you should be good to go.
I admit I haven't really investigated how it all works quite yet, and I will update this once I learn more.
#7, same thing applies to AMD and Intel dual cores
#8, The /noexecute tag was added to Windows XP on the release of service pack 2. It is a command that toggles something called DEP (data execution prevention). When a virus or other bad guy thing gets installed on your computer, it may try to access critical system data files that are read during Windows startup. Obviously this is bad, so accordingly, Microsoft added this to the boot.ini file, which governs the startup procedure. In short /noexecute is a good thing. As far as I know, the options for /noexecute are the following:
OptIn: Default, your system files are protected on startup. OptOut: All of your files are protected on startup (I think, not sure) AlwaysOn: Makes it so a specialized virus can't give itself access to the files beyond the DEP (I think, not sure) AlwaysOff: Turns off DEP totally.
I would strongly recommend leaving the /noexecute command at something other than AlwaysOff. I have always left mine at default, because I haven't the slightest idea what affect changing it has on your computer. Plus, I have a firewall and virus scanner so I consider myself relatively safe. =]
if u dont have sp2, then well, you shouldn't be on the internet.
Add the /usepmtimer switch to your boot.ini file manually Right Click My Computer Properties Advanced Tab Startup and Recovery -> Settings To edit the startup options manually, click edit -> Edit
This should bring up a .txt file with your boot.ini file
[boot loader] timeout=30 default=multi(0)disk(0)rdisk(0)partition(... [operating systems] multi(0)disk(0)rdisk(0)partition(1)\WINDO... Windows XP Professional" /noexecute=optin /fastdetect /usepmtimer
Or you know what you can do, right when i load up a game i alt tab out, press ctrl alt delete and the window pops up. Then you go to the tab called "Processes" and you look for the exe for the game you are playing, being the game I play is cs, i look for the hl.exe. When the hl.exe is found i select it and right click, a menu pops up saying End Process, End Process tree, Debug, Set Priority and Set Affinity. Simply click on Set Affinity. Now, another window will appear showing the two processors in your computer (mine says CPU 0 and CPU 1) simply uncheck one of the processors and close the window then bring your game back up and everything will be running like you have one processor.
This article omitted the technical reasoning behind this problem. I'll go ahead and provide my insight on this. Don't read this if you don't like technical jargon.
-- The problem: Most games require high-resolution timers that can accurately track how much time elapses between frames and other activities. The highest resolution timers are queried directly from the CPU.
-- Further [technical] explanation: The Windows operating system provides many APIs (functions) for games and programs so they can obtain time-related data. The functions Windows provides vary in accuracy.
Two very precise functions are QueryPerformanceCounter and QueryPerformanceFrequency.
http://msdn.microsoft.com/library/en-us/w.. QueryPerformanceCounter obtains a 'counter' value directly from the CPU. It's incremented millions of times per second automatically.
Using these two functions, a program can divide the number of times a counter was incremented by the number of times it is incremented per second to know how much time has passed.
Games use these functions to know how much time elapses between frames.
What the problem comes down to is that depending on what processor executes the QueryPerformanceCounter call, the counter value may be different.
Developers can fix this by specifying an 'affinity' for their thread/process which makes one CPU always handle the code's execution. Users can do the same by using the Task Manager (although this would be a temporary fix.)
I hope this satisfies the curiousity of anyone wondering about this.
Say I made a new computer with a dual-core AMD chip, I would just have to just install AMD drivers (the dual-core fix tryst posted) after SP2 is installed right?
I did the boot.ini method and it fixxed my problem. Should I do the amd fix and the hot fix as well ? Will doing the boot.ini method ultimately turn off the dual core function ? Will it affect the comuter at all ?
my cs skips every so often still. What could it be ? I have the Asus A8N-SLI board, AMD 64 4200+, GIG of Kingston ram, 250 GIG Western Digital SATA, Geforce 7800GT. Any hints ?
How do I get counter-strike 1.6 to play on my athlon x2 4200+? I have the amd driver in for amd cool and quiet, but when i go in cs it starts out with a black screen. Then if i somehow type the ip in console no crosshair ingame, no radar, no fences (if on fire) can't see scoreboard, or console, can't see options, really annoying other than that I love my cpu :)
Yes I did the pmtimer in the boot.ini, I also installed the AMD processor drivers, but uninstalled them. My computer is brand new, there shouldn't be any hesitation. It seems like it occassionally hesitates when i first shoot. Don't know why...
#48, if you put the pmtimer in the boot.ini then installed the AMD driver and then uninstalled the AMD driver, it removes the pmtimer. Put it in again.
Skipping in CS w/ dual core
[b][i]Very[/i] brief history[/b]
Intel, being the studs that they are, were the first microprocessor company to implement a concept called "mulitple threads". The idea was that splitting up the work load between two physical or logical cores would allow programs to run more betterer and all that good stuff. They introduced their HyperThreaded processors which had 1 core that had a part of it that was like a "logical" copy of the other part and allowed the computer to process data on it as well. This was like a fake dual-core, but was very effective at increasing overall computer performance while multi-tasking (always) because it enabled the use of multiple threads.
Flash forward to 2005 when AMD and Intel release there X2 and Pentium-D, respectively, product lines.
[b]The Problem[/b] (or at least my guesses about it)
While playing Half-Life based games on these new processors, people seem to have "built-in speedhacks". We all love it when morons go into pub servers and run aournd slashing your head off with their knife. It is [b]so[/b] fun.
I can only guess that this has something to do with a the processor processing something twice, resulting in total chaos. I will look into the problem more and update this if I find out for sure why it happens. Regardless, it's got to be fixed.
[b]The fix[/b] (that works 99% of the time)
When Intel released their HyperThreaded processors, they ran into a bunch of weird problems with it. So, being the studs they are, they created a little command that fixed all this called usepmtimer.
SOoooooooooooooo, to fix this you need to modify your boot.ini file. Your boot.ini can be found by right clicking My Computer and going to System, then to the Advanced tab, then clicking Settings under Startup and Recovery. You click the "Edit" box next to where it says: To edit startup options manually, click Edit. To the file that pops up, and on the line underneath [operating systems], you are going to add the following command: /usepmtimer
But first, save a copy of the unaltered boot.ini file to your desktop in case you screw it up ( ;] ).
When you are done editing the file, it should look like this:
[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(1) \WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINDO... Windows XP Professional" /noexecute=optin /fastdetect [b]/usepmtimer[/b]
Your computer will need to restarted after you do this, and upon the reboot you should be good to go.
I admit I haven't really investigated how it all works quite yet, and I will update this once I learn more.
http://support.microsoft.com/default.aspx..
#8, The /noexecute tag was added to Windows XP on the release of service pack 2. It is a command that toggles something called DEP (data execution prevention). When a virus or other bad guy thing gets installed on your computer, it may try to access critical system data files that are read during Windows startup. Obviously this is bad, so accordingly, Microsoft added this to the boot.ini file, which governs the startup procedure. In short /noexecute is a good thing. As far as I know, the options for /noexecute are the following:
OptIn: Default, your system files are protected on startup.
OptOut: All of your files are protected on startup (I think, not sure)
AlwaysOn: Makes it so a specialized virus can't give itself access to the files beyond the DEP (I think, not sure)
AlwaysOff: Turns off DEP totally.
I would strongly recommend leaving the /noexecute command at something other than AlwaysOff. I have always left mine at default, because I haven't the slightest idea what affect changing it has on your computer. Plus, I have a firewall and virus scanner so I consider myself relatively safe. =]
what do i do where? your thing cuts off could you please re edit the bios thing?
and what if we dont have SP2?
Add the /usepmtimer switch to your boot.ini file manually
Right Click My Computer
Properties
Advanced Tab
Startup and Recovery -> Settings
To edit the startup options manually, click edit -> Edit
This should bring up a .txt file with your boot.ini file
[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(...
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINDO... Windows XP Professional" /noexecute=optin /fastdetect /usepmtimer
Just make add /usepmtimer
MS Hotfix: http://www.thehotfix.net/kb/KB896256.zip
Regedit to enable fix:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlS... Manager\Throttle\
New > DWORD Value > PerfEnablePackageIdle, hex value 1
boot.ini as above, /usepmtimer
Et voila.
-- The problem:
Most games require high-resolution timers that can accurately track how much time elapses between frames and other activities. The highest resolution timers are queried directly from the CPU.
-- Further [technical] explanation:
The Windows operating system provides many APIs (functions) for games and programs so they can obtain time-related data. The functions Windows provides vary in accuracy.
Two very precise functions are QueryPerformanceCounter and QueryPerformanceFrequency.
http://msdn.microsoft.com/library/en-us/w..
QueryPerformanceCounter obtains a 'counter' value directly from the CPU. It's incremented millions of times per second automatically.
http://msdn.microsoft.com/library/en-us/w..
QueryPerformanceFrequency obtains the number of times the 'counter' is incremented per second.
Using these two functions, a program can divide the number of times a counter was incremented by the number of times it is incremented per second to know how much time has passed.
Games use these functions to know how much time elapses between frames.
What the problem comes down to is that depending on what processor executes the QueryPerformanceCounter call, the counter value may be different.
Developers can fix this by specifying an 'affinity' for their thread/process which makes one CPU always handle the code's execution. Users can do the same by using the Task Manager (although this would be a temporary fix.)
I hope this satisfies the curiousity of anyone wondering about this.
[b]Visionary[/b]: Did you do the first post thing?
More Pages
Submit Comments
Registered Users Only
In order to post comments, you must be a registered member. If you have not registered, it's free and easy!