If you're new here, you may want to subscribe to my RSS feed. So that you can read the latest updates about Web2.0 tools, Making Money Online, Tips in SEO, Ajax and many more. Thanks for visiting ProgramimiCOM!
Ever wondered just what that enigmatic name means?
Gaming and multimedia applications are some of the most satisfying programs you can get for your PC, but getting them to run properly isn’t always as easy as it could be. First, the PC architecture was never designed as a gaming platform. Second, the wide-ranging nature of the PC means that one person’s machine can be different from another. While games consoles all contain the same hardware, PCs don’t: the massive range of difference can make gaming a headache.
To alleviate as much of the pain as possible, Microsoft needed to introduce a common standard which all games and multimedia applications could follow – a common interface between the OS and whatever hardware is installed in the PC, if you like. This common interface is DirectX, something which can be the source of much confusion.
DirectX is an interface designed to make certain programming tasks much easier, for both the game developer and the rest of us who just want to sit down and play the latest blockbuster. Before we can explain what DirectX is and how it works though, we need a little history lesson.
DirectX history
Any game needs to perform certain tasks again and again. It needs to watch for your input from mouse, joystick or keyboard, and it needs to be able to display screen images and play sounds or music. That’s pretty much any game at the most simplistic level.
Imagine how incredibly complex this was for programmers developing on the early pre-Windows PC architecture, then. Each programmer needed to develop their own way of reading the keyboard or detecting whether a joystick was even attached, let alone being used to play the game. Specific routines were needed even to display the simplest of images on the screen or play a simple sound.
Essentially, the game programmers were talking directly to your PC’s hardware at a fundamental level. When Microsoft introduced Windows, it was imperative for the stability and success of the PC platform that things were made easier for both the developer and the player. After all, who would bother writing games for a machine when they had to reinvent the wheel every time they began work on a new game? Microsoft’s idea was simple: stop programmers talking directly to the hardware, and build a common toolkit which they could use instead. DirectX was born.
How it works
At the most basic level, DirectX is an interface between the hardware in your PC and Windows itself, part of the Windows API or Application Programming Interface. Let’s look at a practical example. When a game developer wants to play a sound file, it’s simply a case of using the correct library function. When the game runs, this calls the DirectX API, which in turn plays the sound file. The developer doesn’t need to know what type of sound card he’s dealing with, what it’s capable of, or how to talk to it. Microsoft has provided DirectX, and the sound card manufacturer has provided a DirectX-capable driver. He asks for the sound to be played, and it is – whichever machine it runs on.
From our point of view as gamers, DirectX also makes things incredibly easy – at least in theory. You install a new sound card in place of your old one, and it comes with a DirectX driver. Next time you play your favourite game you can still hear sounds and music, and you haven’t had to make any complex configuration changes.
Originally, DirectX began life as a simple toolkit: early hardware was limited and only the most basic graphical functions were required. As hardware and software has evolved in complexity, so has DirectX. It’s now much more than a graphical toolkit, and the term has come to encompass a massive selection of routines which deal with all sorts of hardware communication. For example, the DirectInput routines can deal with all sorts of input devices, from simple two-button mice to complex flight joysticks. Other parts include DirectSound for audio devices and DirectPlay provides a toolkit for online or multiplayer gaming.
DirectX versions
The current version of DirectX at time of writing is DirectX 9.22.1284. This runs on all versions of Windows from Windows 98 up to and including Windows Server 2003 along with every revision in between. It doesn’t run on Windows 95 though: if you have a machine with Windows 95 installed, you’re stuck with the older and less capable 8.0a. Windows NT 4 also requires a specific version – in this case, it’s DirectX 3.0a.
With so many versions of DirectX available over the years, it becomes difficult to keep track of which version you need. In all but the most rare cases, all versions of DirectX are backwardly compatible – games which say they require DirectX 7 will happily run with more recent versions, but not with older copies. Many current titles explicitly state that they require DirectX 9, and won’t run without the latest version installed. This is because they make use of new features introduced with this version, although it has been known for lazy developers to specify the very latest version as a requirement when the game in question doesn’t use any of the new enhancements. Generally speaking though, if a title is version locked like this, you will need to upgrade before you can play. Improvements to the core DirectX code mean you may even see improvements in many titles when you upgrade to the latest build of DirectX. Downloading and installing DirectX need not be complex, either.
Upgrading DirectX
All available versions of Windows come with DirectX in one form or another as a core system component which cannot be removed, so you should always have at least a basic implementation of the system installed on your PC. However, many new games require the very latest version before they work properly, or even at all.
Generally, the best place to install the latest version of DirectX from is the dedicated section of the Microsoft Web site, which is found at www.microsoft.com/windows/directx. As we went to press, the most recent build available for general download was DirectX 9.22.1284. You can download either a simple installer which will in turn download the components your system requires as it installs, or download the complete distribution package in one go for later offline installation.
Another good source for DirectX is games themselves. If a game requires a specific version, it’ll be on the installation CD and may even be installed automatically by the game’s installer itself. You won’t find it on magazine cover discs though, thanks to Microsoft’s licensing terms.
Diagnosing problems
Diagnosing problems with a DirectX installation can be problematic, especially if you don’t know which one of the many components is causing your newly purchased game to fall over. Thankfully, Microsoft provides a useful utility called the DirectX Diagnostic Tool, although this isn’t made obvious. You won’t find this tool in the Start Menu with any version of Windows, and each tends to install it in a different place.
The easiest way to use it is to open the Start Menu’s Run dialog, type in dxdiag and then click OK. When the application first loads, it takes a few seconds to interrogate your DirectX installation and find any problems. First, the DirectX Files tab displays version information on each one of the files your installation uses. The Notes section at the bottom is worth checking, as missing or corrupted files will be flagged here.
The tabs marked Display, Sound, Music, Input and Network all relate to specific areas of DirectX, and all but the Input tab provide tools to test the correct functioning on your hardware. Finally, the More Help tab provides a useful way to start the DirectX Troubleshooter, Microsoft’s simple linear problem solving tool for many common DirectX issues.
To run any of these apps go to Start > Run and type the executable name (ie charmap).
WINDOWS XP HIDDEN APPS:
=========================================
1) Character Map = charmap.exe (very useful for finding unusual characters)
2) Disk Cleanup = cleanmgr.exe
3) Clipboard Viewer = clipbrd.exe (views contents of Windows clipboard)
4) Dr Watson = drwtsn32.exe (Troubleshooting tool)
5) DirectX diagnosis = dxdiag.exe (Diagnose & test DirectX, video & sound cards)
6) Private character editor = eudcedit.exe (allows creation or modification of characters)
7) IExpress Wizard = iexpress.exe (Create self-extracting / self-installing package)
8) Microsoft Synchronization Manager = mobsync.exe (appears to allow synchronization of files on the network for when working offline. Apparently undocumented).
9) Windows Media Player 5.1 = mplay32.exe (Retro version of Media Player, very basic).
10) ODBC Data Source Administrator = odbcad32.exe (something to do with databases)
11) Object Packager = packager.exe (to do with packaging objects for insertion in files, appears to have comprehensive help files).
12) System Monitor = perfmon.exe (very useful, highly configurable tool, tells you everything you ever wanted to know about any aspect of PC performance, for uber-geeks only )
13) Program Manager = progman.exe (Legacy Windows 3.x desktop shell).
14) Remote Access phone book = rasphone.exe (documentation is virtually non-existant).
15) Registry Editor = regedt32.exe [also regedit.exe] (for hacking the Windows Registry).
16) Network shared folder wizard = shrpubw.exe (creates shared folders on network).
17) File siganture verification tool = sigverif.exe
18) Volume Contro = sndvol32.exe (I’ve included this for those people that lose it from the System Notification area).
19) System Configuration Editor = sysedit.exe (modify System.ini & Win.ini just like in Win98! ).
20) Syskey = syskey.exe (Secures XP Account database - use with care, it’s virtually undocumented but it appears to encrypt all passwords, I’m not sure of the full implications).
21) Microsoft Telnet Client = telnet.exe
22) Driver Verifier Manager = verifier.exe (seems to be a utility for monitoring the actions of drivers, might be useful for people having driver problems. Undocumented).
23) Windows for Workgroups Chat = winchat.exe (appears to be an old NT utility to allow chat sessions over a LAN, help files available).
24) System configuration = msconfig.exe (can use to control starup programs)
25) gpedit.msc used to manage group policies, and permissions
24 Mar
Posted by ProCOM
on March 24, 2008 – 3:37 pm - 200 views
Windows XP has a vast number of configuration dialogs, but some adjustments can be performed only by directly editing the Registry. Frequently, tips involving Registry tweaks include stern warnings to back up the Registry before making any change. The Windows XP Backup applet can back up the Registry along with other elements of the System State, but the resulting data file can occupy hundreds of megabytes. You’re better off saving a system restore point each time you’re about to edit the Registry. Better still, you can use Regedit to back up only the Registry keys that will be changed.
Click on Start | Run and enter Regedit to launch the Registry editor. To back up an individual key you plan to edit, navigate to the key and right-click on it. Choose Export from the menu, and save the key to a REG file. Open the REG file in Notepad and insert a few comment lines that describe the source and purpose of the tweak. (To create a comment line, simply put a semicolon at the start of the line.)
Now go ahead and make all the changes to Registry keys and values specified by the tip you’re applying. Any time you add a new key or value, make a note of it with another comment line in the REG file. When you’re done, save the REG file and close Notepad.
If later you want to undo this Registry tweak, just double-click on the REG file and confirm that you want to add it to the Registry. This will restore any deleted keys or values and will restore the original data for any values whose data was changed. Note that this will not remove new keys or values that were added; that’s why you need to make comments about such changes.
Right-click on the REG file and choose Edit, which will open it in Notepad. Check for comments about keys or values that were added, and if you find any, use Regedit to delete them. You can delete the REG file itself once you’ve completed this process
13 Sep
Posted by ProCOM
on September 13, 2007 – 11:37 pm - 385 views
Windows Vista’s System Protection feature can eat up a lot of disk space on your system, and while it’s supposed to return space to you if you need it, if you find yourself running low on space you can free space up manually by doing the following:
Note that this will delete all restore points for that volume, so note that if you do this you won’t be able to restore your system to a previous condition if you need to.
Note: This tip is based on a pre-release version of Windows Vista and may not reflect functionality in the final product.
13 Sep
Posted by ProCOM
on September 13, 2007 – 11:14 pm - 356 views
Windows Vista now lets you configure event logging settings more than ever before using Group Policy. One of the new settings you can configure is event log retention. By default, when an event log such as the Application log becomes full, oldest events are overwritten by newer ones. You can prevent this from happening by configuring local Group Policy as follows:1. Type gpedit.msc in the Start Search box and hit Enter.
2. Click Continue when the UAC prompt appears.
3. Navigate to the following policy location:
Computer Configuration\Administrative Templates\Windows Components\Event Log Service
4. Look under Application, Security, Setup or System to configure settings for the log desired.
5. Enable the following policy setting:
Retain old events
If you enable this setting, any new events written to a log that is full are discarded instead of overwriting old events. As a result, if you want to consider using this setting you should also back up your event logs when they become full–this is covered in our next tip.
13 Sep
Posted by ProCOM
on September 13, 2007 – 10:59 pm - 394 views
In Windows XP, you can add a Local Area Connection network icon to your system tray so you can watch network activity. This icon consists of two small monitors, with the top one blinking when packets are received, the bottom when packets are sent, and both when traffic is going both ways, in and out of your computer’s network card.
Well in Vista this icon is present by default in the system tray (in XP you had to enable it on the properties sheet for your connection) but it doesn’t blink or do anything. Maybe that’s because some users find it annoying to see blinking lights out of the corner of their eye when they’re working on their computer.
But you can enable this indicator of network activity in Vista, simply right-click on the icon and select Turn On Activity Animation, and now you have an indicator you can watch to help you diagnose problems when network connectivity seems to be down.
Note: This tip is based on a pre-release version of Windows Vista and may not reflect functionality in the final product.
13 Sep
Posted by ProCOM
on September 13, 2007 – 10:46 pm - 573 views
In Windows XP you can disable hibernation by doing the following:
1. Open Power Options in Control Panel
2. Select the Hibernate tab
3. Clear the checkbox for enabling hibernation
This doesn’t work in Vista however because the GUI for Power Options has changed and doesn’t offer the ability to disable hibernation. But you can disable hiberation in Vista from the command line if you use admin privileges. Here’s how:
1. Press the WINDOWS key and type cmd into the Start Search box but *don’t* press ENTER
2. Right-click on cmd in the Programs list and select Run As Administrator
3. Click Continue when the UAC prompt appears
4. Type powercfg -h off and press ENTER
Note: This tip is based on a pre-release version of Windows Vista and may not reflect functionality in the final product
13 Sep
Posted by ProCOM
on September 13, 2007 – 10:31 pm - 515 views
Getting used to a new version of Windows can be a headache. In particular, I’m used to starting many programs from the Run box, which in Windows XP is accessed by Start –> Run. So where’s the Run box in Vista?
Well, first off, you can simply type the program you want to run in the Start Search box on the bottom of the Start menu. For example, to run Notepad you could do any of the following:
- Click the Start button and type notepad and press ENTER
- Press CTRL+ESC and type notepad and press ENTER
- Press the WINDOWS key and type notepad and press ENTER
You can also try pressing the Windows key and typing only n and then pressing ENTER, and this should work since Windows guesses that you want to run a common program that begins with N.
Or you can get the old fashioned Run box back by pressing WINDOWS+R
See? Vista’s different but it ain’t so hard after all ;-)
Note: This tip is based on a pre-release version of Windows Vista and may not reflect functionality in the final product.
13 Sep
Posted by ProCOM
on September 13, 2007 – 10:16 pm - 404 views
When Windows Vista finds new hardware has been added to a system or a new device has been detected, a popup balloon appears to notify you, even if no other response is required from the system’s user. You can disable this annoying popup by editing Local Group Policy as follows:
1. Type gpedit.msc in the Start Search box and hit Enter.
2. Click Continue when the UAC prompt appears.
3. Navigate to the following policy location:
Computer Configuration\Administrative Templates\System\Device Installation
4. Enable the following policy setting:
Turn off “Found New Hardware” balloons during device installation
13 Sep
Posted by ProCOM
on September 13, 2007 – 10:01 pm - 500 views
By default, Windows Vista will prefer a device driver from Microsoft rather than from a third party vendor if both drivers are available for the same device–even if the vendor’s driver has a more recent version number or creation date. This could mean that you are not getting the latest drivers for your hardware if for some reason Microsoft doesn’t have the latest drivers available from the device’s vendor. You can disable this behavior and force Vista to always install drivers based on latest version number or creation date by editing Local Group Policy as follows:
1. Type gpedit.msc in the Start Search box and hit Enter.
2. Click Continue when the UAC prompt appears.
3. Navigate to the following policy location: Computer Configuration\Administrative Templates\System\Device Installation
4. Enable the following policy setting:
Treat drivers signed by Microsoft the same as those signed by others
Note that this policy only applies to signed drivers, which are always preferred by Vista over unsigned drivers.