One thing for you guys to try is to clear the shader cache in bf2. Go to your my documents folder. In the bf2 folder open mods. Then open bf2 folder. Open the cache folder and delete the file or files in the cache folder. This will clear you shader cache. Now when you start the game again, the game will redetect your settings and reoptimize your shaders when you load a map. Now you have a clean perfect shader cache file. BF2 has a problem with the shader cache. Everytime you apply new graphics settings in BF2 it will just add another shader folder in the cache when it should be written over the previous one. So a good thing to go by is everytime you change your BF2 video options, close the game after changing the settings, clear the shader cache, and then start the game again and load a map. Hope this helps.