После недавней замены Windows XP на Windows 7 начались странные вещи.
Звук стал каким-то грубым, иногда "подтормаживал". Он стал выдавать короткие пшики при прокрутке фильма на другое время.
Автор статьи обычно использует наушники, аудиокарта - Sound Blaster X-Fi, в которой он очень любит ее фичу — CMSS 3D, для создания объемного звука в наушниках, причем создается везде — в играх, в фильмах — не важно в чем. А тут объемность не то что пропала, но как-то сплющилась, звуков из-за спины вообще не стало слышно.
После небольшого расследования автор обнаружил следующие факты.
Есть такая вещь, DirectSound — часть мультмедийного фреймворка DirectX. Это звуковой интерфейс, которым пользуются 90% игр и 100% медиаплееров. Именно на этом интерфейсе работают EAX, CMSS-3D и вообще все фичи современных аудиопроцессоров. И, как выясняется, в Windows Vista/7 переписали аудиостек так (
http://en.wikipedia.o...Windows_Vista), что DirectSound по сути просто перестал работать (
http://support.creati...spx?sid=25937). То есть, он больше не поддерживает никаких фич аудиокарт, а эмулируется процессором.
Дамы и господа, это просто замечательно — Microsoft одним махом убила свой собственный DirectX, а также всю эволюцию аудиокарт вроде Creative SoundBlaster. Эволюция EAX от 1 до 5 версии, CMSS-3D, звуковой процессор EMU20K1 с 51 миллионом транзисторов — все это стало бесполезными кусками железяк и байтов.
В результате Creative вынуждена выпускать дикие костыли вроде Creative Alchemy, которая поддерживают ограниченное число игр и кое-как переводят DirectSound-запросы на OpenAL (новый мультиплатформенный аудиоинтерфейс). Creative надеется, что в будущем все перейдут на OpenAL, но автор статьи, например, не знает ни одного медаплеера, который работает на OpenAL, хотя Vista была выпущена 4 года назад.
Порадуемся же за операционные системы Microsoft, одним из достоинств которых была совместимость. Теперь этого достоинства больше нет.
Как выяснилось, CMSS-3D в плеерах можно вернуть, если вместо DirectSound-вывода поставить WaveOut.