|It's probably a driver problem or an App problem.|
Try safe mode to see if it is a driver problem.
Try this in either Safe or Normal mode.
Start > Run, copy & paste > msconfig & press Enter.
Click on the tab marked "Startup"
How to use MSCONFIG in Windows XP
Untick all unnecessary items as per Startup Applications List.
If the problem no longer persists, then one of the items in the startup is the culprit, you just need to track it down.
First, physically disconnect from the Internet to prevent a malware infection while your Anti-virus and/or Firewall are disabled in the following steps, then boot to Safe Mode.
Click on Start then Run, type msconfig and press Enter. Click on the Startup tab then the Disable All button. Do a regular boot, see if it runs normal. If yes then use msconfig to enable several items at a time till you find the culprit.
If no, boot to Safe Mode again, start msconfig and click on the Services tab. Check the Hide All Microsoft Services box then click the Disable All button. Again, do a regular boot, see if it runs normal. If yes then use msconfig to enable services till you find the culprit.
Once you've found the culprit, uninstall it or find out how to eliminate it from your system. Simply disabling it in msconfig is a temporary fix at best. Enable everything else you disabled.
Reconnect to the Internet when your AV and firewall are active again.
Run msconfig in the 'Diagnostic startup' mode.
If that speeds it up, start restoring services and startup programs in batches till you can identify the offending service/process.
How to Troubleshoot By Using the Msconfig Utility in Windows XP