Pull to refresh

Comments 12

Однако если выполнить модификации в Media Server, HAL, в драйвере ALSA

Вот бы вся статья об этом была, с подробным разбором кишков андроида, с указанием тех мест, где ребята из гугла конкретно облажались с дизайном платформы и вся звуковая low-latency индустрия от этого теперь страдает.

PS: В NDK вполне вменяемый пример использования OpenSL ES и платформа x86 там ни чем особо не выделяется.
Вот-вот. Pulseaudio как-то умудряется получать RTL в 10-30 мс, при этом еще и ресемплируя и микшируя звук на вывод, производя запись с микрофона.
Десятки миллисекунд на современном железе — это очень медленно. Если там нарочно не применяются большие буферы и неспешная обработка — определенно где-то тормозит.
Если бы тормозило, то это проявлялось бы в виде провалов звука. Видимо дело в суммарной латентности всего стека звукового API — от уровня пользователя, до уровня драйвера конкретного железа. Если по ходу тракта стоят микшеры, ресемплеры, фильтры, и везде есть очереди, то получить задержку в десяток мс не так и сложно. А в андроиде audioflinger ЕМНИП через ipc binder получает на вход данные — еще один кандидат на добавленную задержку.
Если тормоза меньше длительности буферизации — провалов может и не быть. А если там действительно многостадийная обработка из десятка фильтров — в итоге задержки могут набегать приличные, я имел в виду обработку в две-три стадии.
UFO just landed and posted this here
Она зависит от многих вещей (от железа самого экрана до архитектуры приложения) и успешно решается в приложениях типа FL Studio Android

Как приложение может решать проблемы связанные с железом?
UFO just landed and posted this here
Очевидно дело в оптимизации ПО под конкретные устройства.
Но т.к. количество экранов, процессоров и прочего железа поддерживаемого в Андройде превосходит пределы возможностей в тестировании, то "заточить" софт работать со всем железом задача из разряда невыполнимых. (тем более что есть устройства на которых все программы работают плохо)
UFO just landed and posted this here
Думаю просто его не тестировали на устройствах с "весёлыми" e-ink экранами.
Ну и девайсы вроде http://4zte.ru/release/zte-u791/ врядли позволят не ощущать задержку между нажатием и звуком.
UFO just landed and posted this here
Sign up to leave a comment.