ASIO/CoreAudio

Помечено: 

Просмотр 2 сообщений - с 1 по 2 (из 2 всего)
  • Автор
    Записи
  • #137
    ceizerceizer
    Участник

    Можно ли безопасно использовать std::unique_ptr с кастомным аллокатором в real-time аудио-цикле (C++), или ручной new/delete всё ещё неизбежен из-за риска непредсказуемых системных вызовов при освобождении памяти? Интересует опыт тех, кто пишет под ASIO/CoreAudio с частотой 192 кГц и буферами 64 сэмпла — как избежать спайков при использовании умных указателей, особенно с выравниванием под AVX-512 и без исключений?

    #178
    TelJoTelJo
    Участник

    Да, можно, и ручной new/delete как раз не нужен: бери std::unique_ptr с кастомным делетером, который вместо free возвращает память в заранее выделенный пул (arena) — тогда никаких системных вызовов в аудио-потоке не будет, а выравнивание под AVX-512 легко решается через _aligned_malloc или posix_memalign при создании указателя до старта движка.

Просмотр 2 сообщений - с 1 по 2 (из 2 всего)
  • Для ответа в этой теме необходимо авторизоваться.