The 8-bit PCX files within an ANI however, stay as 8-bit in memory so they take up less space.
Incorrect, most ANIs are converted to 16-bit images for each frame. Only ANIs which have no color information will stay 8-bit, which pretty much only applies to talking head ANIs. Talking head animations can't be EFFs anyway though so it's not really an issue. Talking head animations also aren't used like effect animations, they are streamed, which means that there is always only one frame loaded anyway.
What it comes down to, is if a compressed 24-bit DDS image takes up more memory than an uncompressed 8-bit PCX image.
An EFF making use of DXT1a, DXT3 or DXT5 will take up the same amount of memory that an 8-bit PCX image will (if the 8-bit PCX image did not get converted to 16-bit). A DXT1c however, will use less memory than an 8-bit PCX.
But once an effect animation is loaded, there is absolutely no usage difference between ANI and EFF. The game uses them exactly the same. The only difference is how much memory they use. Technically an EFF should take a little longer to actually load the first time, since it has to search for each frame of the animation as a file, but then ANI frames have to actually be decoded to be used, and EFF frames (DDS at least) don't. In the end it pretty much balances out.
And one thing that most people tend not to do (I don't think it's common knowledge anyway) is mix DDS formats for an EFF, even though that is explicitly allowed. So you could really just base each frame on it's content, and use any mix of DXT1, DXT3, DXT5, or an uncompressed DDS format, in the same EFF. As long as all of the frames are actually DDS then it would work. This way you get maximum flexibility with the ability to both help save memory, and preserve the best visual quality possible for your EFF. That capability was a main goal of the format.
