As far as I experienced, bsplayer is the player that requires the less resources, thus using it is a good first step.
I think you should tweak around the decoder's properties, especially the
postprocessing level.
Set it to 0
You may also use
ffdshow filter as a decoder, I believe it a better decoder than the divx decoder itself.
It has a nice feature that allows him to set postprocessing level automatically (real time) depending on the available/needed CPU resources.
I use ffdshow + bsplayer on a 460MHz celeron and it usually works okay.
I've read some times that K6/2 are particularly bad at divx decoding though :|