DivX Problem Guide
How to reduce frame-skipping and stutter when playing DivX Movies!
Data Compression & Software decoders
Over the last few years, the internet has literally exploded with media
related files like music and movies. Faster computers and larger hard drives has
made it possible to store hundreds of movies or thousands of audio clips on a
single computer. Increasing bandwidths and peer to peer software allows millions
of users to download new media files every day. None of this would have been
possible though, if we didn't have software compression. New formats like MPEG,
WMA and DivX has reduced the size of movies and music files by 10 times or more.
Software compression in turn is made possible by today's lighting fast CPUs. 5
years ago, a PC running at 200 MHz was considered state of the art, and decoding
high quality DivX movies was out of the question. Today, with CPUs running at
over 2GHz, decoding movies shouldn't be a problem. But it still is!
The source of the problem
While a modern computer should easily be able to handle high resolution video
playback, skipped frames and visual artifacts are not uncommon. The main reason
for this is that the CPU has to deal with more than one task at a time. By
rapidly switching between different tasks, the computers seems to be operating
in parallel, but unless you have two CPUs, this is not actually the case. This
technique, called multitasking, is usually very efficient and works well with
most applications, but with software that requires a lot of CPU time and also
has to produce a continuous output without dropped frames or audio gaps, it
sometimes needs a little help.
Most operating systems that support multitasking, also assigns different
priorities to different tasks, so that you can tell the system which tasks are
more important. Windows is no exception and, even though many users are not
aware of this, you can assign different priorities to different processes in
Windows 98 as well as Windows XP. Sometimes you may also have to terminate some
unnecessary processes to free up other resources like memory.
The following things should always be considered before playing long divx
movies at high resolutions.
1. If the computer has been running for a long time, reboot it to make sure the
system is completely stable.
2. Terminate all programs that aren't absolutely necessary (Ideally everything
except the DivX software and system processes (red in the WinTasks process
list). Use WinTasks to terminate as many processes as possible including
background processes. (WinTasks lists many background processes not visible from
ctrl+alt+del, some of those can be stopped as well for even better results.)
Virus programs should be disable from within that program (there is usually some
option to temporarily disable virus scanning). After stopping all unwanted
processes, save the current process list to a preset (Presets are available in
WinTasks 4.00 or later). This way you can easily restore your optimal DivX
settings by simply clicking the preset button the next time play a DivX movie.
3. Make sure you have the latest version of DirectX and the latest drivers for
your graphics card.
4. Try increasing the priority of the DivX software. You may have to try a few
different settings before you find the optimal priority for your system. Try
using the high priority for the DivX decoder and normal for all other programs.
(To increase the priority to high, click the "inc" button once in WinTasks. The
priority column should read "high" plus some number.) Priorities can also be
saved to the preset, making it easy to restore all settings the next time you
run the DivX software.
5. Make sure you have the hardware acceleration slider in display properties ->
settings set to full.
6. Lower you screen resolution and color depth to 800x600 and 16 bit color (32
bit color may be preferable on some graphics cards though).
7. Defrag your hard-drive to improve access times, or if you are playing from CD
or DVD, make sure you have the latest drivers and the correct settings for your
CD or DVD drive.
Written by Emil Malmberg, Senior Software Developer for