Есть приложение, которое работает на линуксах под иксы, точнее под Xvfb. Делает оно мало, по сути двд плеер на стероидах. Стероиды обусловлены тем что это часть большой клиент-серверной системы стриминга видео контента. И она тормозит. Просто не успевает выдавать нужный видео фреймрейт. Вроде бы все понятно, куда копать не совсем понятно, но тем не менее. Дропать фреймрейт нельзя - за время воспроизведения платят. SIMD запихан куда только можно. Пока не появляется контекст использования - это встроенное устройство. Это значит, что ничего кроме этого плеера и его стероидов поверх линукса не запускается. Никаких виндоу-менеджеров, ничего. Такой контекст подразумевает что иксы это оверкилл, что можно работать напрямую с фреймбуфером. Т.е. fbdev\directfb рендеринг простой картинки в полноэкранном режиме в RGB формате. Вопрос, почему за 4 года разработки никто об этом не подумал? >.< Запутали меня своими иксами. У меня вообще есть порог когда я вливаюсь в новый коллектив и считаю всех умнее себя, даже уборщицу. Порог прошел, пришло принятие собственного мнение и решение проблемы. А еще потрясает тот факт, что с момента появления проблемы около двух лет назад никто, _никто_, не делал простого профилирования. callgrind легко показал где тормоза. why oh why!
Кстати, вот этим постом я нарушаю NDA?)
P.S. Ах да, еще это усугублялось тем фактом, что Xvfb, будучи в принципе виртуальным фреймбуфером, не боддерживал директ рендеринг. Я даже представить боюсь через какие этапы софтверной эмуляции проходили команды рендеринга.
| | insooo ( |
Проблема контекста использования.
- Post a new comment
- 0 comments
- Post a new comment
- 0 comments