If you lag too much (I had huge lags sometimes), you should try to change the affinity settings, in the task manager.
When the map is loaded, find BF1942.exe in task manager, right click on it, then click on "set affinity" (it should be called like that, not sure), and tick all the boxes. Check your ping in the game, it should not change a lot. However you have to do that each time a map is loaded, and task manager must not be closed.
There is an other solution but it didn't work for me. You must change a value in the register.