I came across this discrepancy while I was hastily performing an encoding speed test after reading this post since I knew that CBR was slower, but in my rush I forgot to add the switch --noreplaygain that I usually use.
D:\sounds\test>lame3984.exe -b128 bt.wav bt-3984.mp3
LAME 3.98.4 32bits (http://www.mp3dev.org/)
CPU features: MMX (ASM used), 3DNow! (ASM used), SSE (ASM used), SSE2
Using polyphase lowpass filter, transition band: 16538 Hz - 17071 Hz
Encoding bt.wav to bt-3984.mp3
Encoding as 44.1 kHz j-stereo MPEG-1 Layer III (11x) 128 kbps qval=3
Frame | CPU time/estim | REAL time/estim | play/CPU | ETA
90813/90813 (100%)| 2:50/ 2:50| 2:50/ 2:50| 13.954x| 0:00
-------------------------------------------------------------------------------
kbps LR MS % long switch short %
128.0 17.6 82.4 97.9 1.3 0.8
Writing LAME Tag...done
ReplayGain: -8.5dB
D:\sounds\test>lame3984.exe -V 5 bt.wav bt-3984-v5.mp3
LAME 3.98.4 32bits (http://www.mp3dev.org/)
CPU features: MMX (ASM used), 3DNow! (ASM used), SSE (ASM used), SSE2
Using polyphase lowpass filter, transition band: 16538 Hz - 17071 Hz
Encoding bt.wav to bt-3984-v5.mp3
Encoding as 44.1 kHz j-stereo MPEG-1 Layer III VBR(q=5)
Frame | CPU time/estim | REAL time/estim | play/CPU | ETA
90813/90813 (100%)| 1:51/ 1:51| 1:51/ 1:51| 21.273x| 0:00
32 [ 430] %
40 [ 11] %
48 [ 18] %
56 [ 18] *
64 [ 22] %
80 [ 79] %
96 [ 840] %*
112 [ 8674] %%*************
128 [27558] %%%%%%%%%%%%**********************************
160 [40317] %%%%%%%%%%%%%%%%%%%%%**********************************************
192 [ 7945] %%%***********
224 [ 3045] %%****
256 [ 1153] %*
320 [ 703] %*
-------------------------------------------------------------------------------
kbps LR MS % long switch short %
151.8 24.9 75.1 93.0 3.9 3.0
Writing LAME Tag...done
ReplayGain: -8.9dB
D:\sounds\test>lame3995.exe -b128 bt.wav bt-3995.mp3
LAME 3.99.5 32bits (http://lame.sf.net)
CPU features: MMX (ASM used), 3DNow! (ASM used), SSE (ASM used), SSE2
Using polyphase lowpass filter, transition band: 16538 Hz - 17071 Hz
Encoding bt.wav to bt-3995.mp3
Encoding as 44.1 kHz j-stereo MPEG-1 Layer III (11x) 128 kbps qval=3
Frame | CPU time/estim | REAL time/estim | play/CPU | ETA
90813/90813 (100%)| 2:32/ 2:32| 2:32/ 2:32| 15.546x| 0:00
-------------------------------------------------------------------------------
kbps LR MS % long switch short %
128.0 24.9 75.1 97.7 1.3 1.0
Writing LAME Tag...done
ReplayGain: -8.5dB
D:\sounds\test>lame3995.exe -V 5 bt.wav bt-3995-v5.mp3
LAME 3.99.5 32bits (http://lame.sf.net)
CPU features: MMX (ASM used), 3DNow! (ASM used), SSE (ASM used), SSE2
Using polyphase lowpass filter, transition band: 16538 Hz - 17071 Hz
Encoding bt.wav to bt-3995-v5.mp3
Encoding as 44.1 kHz j-stereo MPEG-1 Layer III VBR(q=5)
Frame | CPU time/estim | REAL time/estim | play/CPU | ETA
90813/90813 (100%)| 1:49/ 1:49| 1:49/ 1:49| 21.575x| 0:00
32 [ 547] %
40 [ 38] %
48 [ 32] %
56 [ 29] %
64 [ 92] %
80 [ 274] %
96 [ 978] %*
112 [ 4931] %*****
128 [60565] %%%%%%%%%%%%%%%%%%%%***********************************************
160 [17204] %%%%%%%%************
192 [ 3207] %***
224 [ 1767] %*
256 [ 1094] %*
320 [ 55] %
-------------------------------------------------------------------------------
kbps LR MS % long switch short %
137.8 29.8 70.2 93.0 3.9 3.0
Writing LAME Tag...done
ReplayGain: -8.9dB
I am aware that a 0.4dB difference is audibly negligible in general, and now I'm in a rush to leave the computer as I post this (so I would appreciate less hair-splitting over my possible grammar errors as this is my busiest time of the year).
I require CBR since I am unfortunate to have one player that screws up VBR. In most cases it plays 90% files OK but many songs do not play to the end of the song (it seems to calculate the bitrate incorrectly, similar to WinXP's native MP3 support, where it apparently assumes the bitrate of the beginning of the file is the average overall bitrate).
FYI