Здравствуйте, Plutonia Experiment, Вы писали:
PE>>>А вот как ускорит создани делегатов неизвестно. AVK>>Почему? Заменить их на интерфейсы. PE>Тогда в другом месте тормоза.
Приниматься за оптимизацию другого места. Тормоза то будут всегда, но приложение твое будет работать все быстрее и быстрее.
PE>>>Колбек интерфейсы влекут массу геморроя за собой. AVK>>Например?
PE>Все это нужно писать руками. Объект может быть подписан на хрензнает сколько эвентов жругих объектов. Придется писать весь этот механизм.
Не, ну ты сам выбрал схему на эвентах, не поинтересовавшись производительностью делегатов.
PE>Всего 7 типов эвентов. Объект может быть подписан в среднем на 20...30 других объектов и коллекций. Если делать колбеками, то ...
То что? Чем принципиально отличается реализация интерфейса от написания обработчика?
Hello, AndrewVK!
You wrote on Wed, 03 Mar 2004 12:36:28 GMT:
A> Вот потому и говорю что FPGA рулит. Универсальная и недорогая железка.
А еще универсальней — С++
A> Менее универсально для обработки звука я бы использовал DSP. Стоимость - A> единицы долларов.
У весьма тормозных в партии от 10000 штук . Прибавь стоимость разработки интерфейса с компутером, PCB, сборки железяки, написания драйверов и прочего, включая доставку железяки енд-юзеру. Да и цена "вхождения" в разработку будет весьма не малая.
PE>> Пример — из песни выдрать вокал, или шум убрать, или эквалайзить PE>> некисло, или психоаккустику наложить, или вока этот самый заменить на PE>> другой. Громкость сменить, нормализировать, клики поубирать, тишину PE>> вырезать, искажения выровнять.
PE>> Все это есть в железе ?
A> Да.
Наверное, кто-то полагает, что FPGA программировать сильно проще, чем на плюсах
Best regards,
Sergey.
Posted via RSDN NNTP Server 1.8 beta
Одним из 33 полных кавалеров ордена "За заслуги перед Отечеством" является Геннадий Хазанов.
Здравствуйте, Sergey, Вы писали:
A>> Вот потому и говорю что FPGA рулит. Универсальная и недорогая железка.
S>А еще универсальней — С++
Тока результат хуже.
A>> Менее универсально для обработки звука я бы использовал DSP. Стоимость - A>> единицы долларов.
S>У весьма тормозных
Весьма тормозные спокойно уделают на задачках обработки звука дорогущие ЦП.
S> в партии от 10000 штук . Прибавь стоимость разработки интерфейса с компутером, PCB, сборки железяки, написания драйверов и прочего, включая доставку железяки енд-юзеру. Да и цена "вхождения" в разработку будет весьма не малая.
А кто сказал что будет легко. Только кто то тут говорил про серьезные задачи? А баловство вроде винампа конечно проще писать без DSP, только там и к производительности таких требований нет.
A>> Да.
S>Наверное, кто-то полагает, что FPGA программировать сильно проще, чем на плюсах
Ох как у нас любят считать себя умнее других. Я этим занимался, так что можешь не гримасничать.
Hello, AndrewVK!
You wrote on Wed, 03 Mar 2004 14:30:38 GMT:
A> Весьма тормозные спокойно уделают на задачках обработки звука дорогущие A> ЦП.
Во-первых, ЦП здесь бесплатный, потому что за него все равно уже уплачено и, самое главное, сопровождать его как железяку не надо — об этом пусть у продавца компьютера голова болит. Во-вторых, конкретные примеры, где плисы уделывают четвертый пень в студию, плиз.
S>> в партии от 10000 штук . Прибавь стоимость разработки интерфейса с S>> компутером, PCB, сборки железяки, написания драйверов и прочего, S>> включая доставку железяки енд-юзеру. Да и цена "вхождения" в разработку S>> будет весьма не малая.
A> А кто сказал что будет легко. Только кто то тут говорил про серьезные A> задачи? А баловство вроде винампа конечно проще писать без DSP, только A> там и к производительности таких требований нет.
Каких именно требований? Насколько я понял, речь шла о задачах, вполне решаемых на мало-мальски современном железе в звуке — всякими саунфорджами и в обработке изображений — маями и прочими лайтвэйвами.
S>> Наверное, кто-то полагает, что FPGA программировать сильно проще, чем S>> на плюсах
A> Ох как у нас любят считать себя умнее других.
Да, я заметил.
A> Я этим занимался, так что можешь не гримасничать.
Ну вот и сравни, не кривлясь, стоимость разработки для какой-нибудь альтеры vs С++, ну, скажем, для рэйтрэсинга. Или хотя бы для перестраиваемого КИХ-фильтра, раз уж о звуке речь пошла — тока не на DSP, а именно на FPGA.
Best regards,
Sergey.
Posted via RSDN NNTP Server 1.8 beta
Одним из 33 полных кавалеров ордена "За заслуги перед Отечеством" является Геннадий Хазанов.
Здравствуйте, naje, Вы писали:
PE>>Так что всякие FPGA можно сразу засунуть в одно место.
N>это зря, гораздо дешевле и эффективнее поставить в какой-нибудь голосовой сервер(например) парочку fpga'шников (по 200 дол+стоимость шины), чем штуки 4 (а скорее всего больше) лишних процессора(+шина гораздо больше стоить будет чем для fpga)
Интересно. Купил я себе комп за 200 рублей, захотел МП3 послушать. Где мне найти кодек для этого ? А если компакт диск ужать ? А если DVD ужать ?
Девайсы покупать ваши ?
Все делается программно и на С++ или Паскале.
Здравствуйте, Plutonia Experiment, Вы писали:
PE>Здравствуйте, naje, Вы писали:
N>>это зря, гораздо дешевле и эффективнее поставить в какой-нибудь голосовой сервер(например) парочку fpga'шников (по 200 дол+стоимость шины), чем штуки 4 (а скорее всего больше) лишних процессора(+шина гораздо больше стоить будет чем для fpga)
PE>Интересно. Купил я себе комп за 200 рублей, захотел МП3 послушать. Где мне найти кодек для этого ? А если компакт диск ужать ? А если DVD ужать ? PE>Девайсы покупать ваши ? PE>Все делается программно и на С++ или Паскале.
я тебе про домашнее использование говорил?
ты себе домой голосовой сервер покупать будешь, тут речь идёт не о 200 р, а о десятках-сотнях тысяч долларов?
ps лично у меня есть доска с fpga'шничком дома, для игр, обошлась мне порядка 300 долларов
Здравствуйте, AndrewVK, Вы писали:
PE>>Пример — из песни выдрать вокал, или шум убрать, или эквалайзить некисло, или психоаккустику наложить, или вока этот самый заменить на другой. PE>>Громкость сменить, нормализировать, клики поубирать, тишину вырезать, искажения выровнять.
PE>>Все это есть в железе ?
AVK>Да.
Ну ну. Какая именно звуковая карта жмет звук в ОГГ и МП3 И ВМА.
Здравствуйте, Plutonia Experiment, Вы писали:
PE>И это тоже. Но дженерик подход дается большим оверхедом или маленьким рефлекшном. PE>Только модель данных занимает 7 мегов в 700 файлах. Комментариев правда довольно много. PE>Классов очень много. Интерфейсов еще больше. Вот такие дела.
Вы их генерируете что ли?
PE>Быстрее, но для графа он неприменим.
Ну, так пишите свою. Других выходов нет.
PE>Тогда это копипейст и размножение классов.
Почему? Можно и на ОО-проехаться.
PE>Просто прочувствй масштаб. Тот граф о котором говорят в книгах, имеет два типа объекта — вершина и ребро. Иногда еще связка между ними. У нас есть еще подграфы различные, различные типы вершин, ребер и тд. Всего около 600 разновидностей. И это толкьо основные классы. Еще сотня или две вспомогательных и тд.
Ну, незнаю. Въезжатьв вашу специфику — это уже перебор для меня.
... << RSDN@Home 1.1.3 beta 2 >>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, AndrewVK, Вы писали:
PE>>Всего 7 типов эвентов. Объект может быть подписан в среднем на 20...30 других объектов и коллекций. Если делать колбеками, то ...
AVK>То что? Чем принципиально отличается реализация интерфейса от написания обработчика?
Реализовать нудно не просто интерфейс. Мне придется агрегировать реализацию интерфейса стольо раз, сколько объектов слушает объект. Обработчик — это одна функция.
Еще нужно писать механизм, который в COM реализуется с помощью
IConnectionPointContainer/IConnectionPoint
Это не хухры мухры.
В среднем на объект держится около 30 референсов. Один объект может держать примерно столькоже референсов.
Выписывать такой код самоубийство.
Жирным я выделил то, что пишу с использованием делегатов и эвентов.
Есть разница ?
class A
{
public A()
{
m_event1 = new Event1(this);
...
...
}
class Event1:IEvent
{
void OnEvent()
{
}
}
sink1 m_event1;
...
class sinkN:ISink
{
void OnSink()
{
}
}
sink1 m_sinkN;
}
Но это не все. В методе set каждой проперти нужно освобождать старый объект, подписываться на новый. Причем на все эвенты !
Мы юзаем эвенты и рефлексию. НО ! всеравно текста, который просто размножался копипейстом(два типа коллекций на каждый объект, валидатор, интерфейс основной) море !!!
Если генерировать код, то возникают проблемы с отладкой. Ошибки из компайлтайм переносятся в рантайм.
Здравствуйте, VladD2, Вы писали:
VD>Здравствуйте, Plutonia Experiment, Вы писали:
PE>>И это тоже. Но дженерик подход дается большим оверхедом или маленьким рефлекшном. PE>>Только модель данных занимает 7 мегов в 700 файлах. Комментариев правда довольно много. PE>>Классов очень много. Интерфейсов еще больше. Вот такие дела.
VD>Вы их генерируете что ли?
А как еще ? Из УМЛ в C# и вперед.
PE>>Тогда это копипейст и размножение классов. VD>Почему? Можно и на ОО-проехаться.
Проехались уже.
PE>>Просто прочувствй масштаб. Тот граф о котором говорят в книгах, имеет два типа объекта — вершина и ребро. Иногда еще связка между ними. У нас есть еще подграфы различные, различные типы вершин, ребер и тд. Всего около 600 разновидностей. И это толкьо основные классы. Еще сотня или две вспомогательных и тд. VD>Ну, незнаю. Въезжатьв вашу специфику — это уже перебор для меня.
С этого нужно было и начинать А то завеи разговор про панацею.
Здравствуйте, naje, Вы писали:
N>я тебе про домашнее использование говорил? N>ты себе домой голосовой сервер покупать будешь, тут речь идёт не о 200 р, а о десятках-сотнях тысяч долларов?
Мы говорим про массовый рынок.
N>ps лично у меня есть доска с fpga'шничком дома, для игр, обошлась мне порядка 300 долларов
Здравствуйте, AndrewVK, Вы писали:
PE>>Ну ну. Какая именно звуковая карта жмет звук в ОГГ и МП3 И ВМА.
AVK>Почему звуковая? Покупай платку с DSP и вперед
Т.е. у тех, у кого нет DSP, не получится жать звук ? Как же они жмут то ?
На счет ОГГ я сумлеваюсь — его плейерах железных то по большому счету нет.
Многие задачи обработки звука требуют охрененного количества ресурсов.
Никакое железо тут не поможет.
Посему я предлагаю сравнить быстродейсвие на самых популярных ужималках.
Кстати, а рары, зипы, тары — тоже аппаратно жмут ?
Здравствуйте, Plutonia Experiment, Вы писали:
PE>Здравствуйте, naje, Вы писали:
N>>я тебе про домашнее использование говорил? N>>ты себе домой голосовой сервер покупать будешь, тут речь идёт не о 200 р, а о десятках-сотнях тысяч долларов?
PE>Мы говорим про массовый рынок.
а кто где это оговорил?
вобще обычно такая штучка ставится в средненьких офисах (~1000 чел), не такой уж и редкий случай
массовый рынок винампами не ограничивается
Здравствуйте, naje, Вы писали:
N>профессиональное создание музыки это не SoundForge или VCS Diamond, там как-раз много чего апаратного (как впринципе и профессиональное слушанье )
Почти все пользоватли компьютера используют проигрыватели МП3. Разве это аппаратно ?
А программы для оработки звука после грабления — например изменение психоаккустической модели на компактдиске. Это всякие расширения стереобазы и тд. и тд. ТОже аппаратно делается ?
Это всегда делается программо. На массовом рынке рулит ПО! Будь иначе, рынка по вооще не было бы.
Здравствуйте, naje, Вы писали:
N>а кто где это оговорил? N>вобще обычно такая штучка ставится в средненьких офисах (~1000 чел), не такой уж и редкий случай N>массовый рынок винампами не ограничивается
Винам — конечно нет. Но вообще очень много программ имеют отношение к обработке звука. Именно программно. Того железа, о которым вы говорите с AVK, я не нашел вообще.
Ну нет кодеров в MP3 массовых. Кое где используется, но я ы не сказал, что массово. Этот формат постоянно улучшает психоаккустику. В железе старье постоянно удет. А пока прошиву поменяешь, глядишь надо новой ждать, потому что уже улучшили снова.
Так что на компе все делается программно.
Вот я и предлагаю сравнить быстродейсвие нативной ужималки и менеджед.
Разница удет хорошо замента уже на преоразовании фурье.
Здравствуйте, Plutonia Experiment, Вы писали:
PE>Здравствуйте, naje, Вы писали:
N>>профессиональное создание музыки это не SoundForge или VCS Diamond, там как-раз много чего апаратного (как впринципе и профессиональное слушанье )
PE>Почти все пользоватли компьютера используют проигрыватели МП3. Разве это аппаратно ?
PE>А программы для оработки звука после грабления — например изменение психоаккустической модели на компактдиске. Это всякие расширения стереобазы и тд. и тд. ТОже аппаратно делается ? PE>Это всегда делается программо. На массовом рынке рулит ПО! Будь иначе, рынка по вооще не было бы.
а концертное, клубное оборудование, скажи что это не массовый рынок, пусть такого обарудования меньше надо, но винам бесплатный, а оно дорогое
мы сейчас разговариваем с точки зрения пользователей, или с точки зрения производителей, которые на этом деньги зарабатывают?
Здравствуйте, naje, Вы писали:
N>а концертное, клубное оборудование, скажи что это не массовый рынок, пусть такого обарудования меньше надо, но винам бесплатный, а оно дорогое N>мы сейчас разговариваем с точки зрения пользователей, или с точки зрения производителей, которые на этом деньги зарабатывают?
С точки зрения работающих экземпляров ПО или харда.
Если все пользователи жмут музыку, файло, видео аппаратно — нечего и сравнивать дотнет с нативом. Если это не так — есть смысл сравнить ыстродействие на одинаковых алгоритмах.
Здравствуйте, Plutonia Experiment, Вы писали:
PE>Реализовать нудно не просто интерфейс. Мне придется агрегировать реализацию интерфейса стольо раз, сколько объектов слушает объект.
Зачем? Сложно реализовать подобие мультикаст делегата для интерфейсов?
PE>Еще нужно писать механизм, который в COM реализуется с помощью PE>IConnectionPointContainer/IConnectionPoint
Давай СОМ не будем приплетать, совершенно понятно что дотнет не лучший способ с ним взаимодействия.
PE>Выписывать такой код самоубийство.
Зачем выписывать? Вы же вроде генерите? Ну так и генерите наздоровье. Руками нужно будет только пару хелперов написать.
PE>Жирным я выделил то, что пишу с использованием делегатов и эвентов. PE>Есть разница ?
Честно говоря чего то не вьехал что ты хотел показать. Зачем класс Event1?
PE>Но это не все. В методе set каждой проперти нужно освобождать старый объект, подписываться на новый. Причем на все эвенты !
Опять не понял. Эвент на самом деле просто приватное поле класса с двумя функциями для подписки и отписки. С использованием интерфейсов ты можешь сделать ровно тоже самое. Не так красиво как операторы +-=, но больше ничем не оличается. Просто вместо подписки определенного метода ты тем же классом реализуешь интерфейс и передаешь не делегата, а сам класс.
PE>Мы юзаем эвенты и рефлексию. НО ! всеравно текста, который просто размножался копипейстом(два типа коллекций на каждый объект, валидатор, интерфейс основной) море !!!
Значит что то не так. Причем явно не так.
PE>Если генерировать код, то возникают проблемы с отладкой. Ошибки из компайлтайм переносятся в рантайм.
Ну так генерировать надо тоже с умом, чтобы в рантайме они легко отлавливались. При наличии нормального стектрейса и соблюдении определенных правил ничего страшного в рантайм-ошибках нет.
Здравствуйте, Plutonia Experiment, Вы писали:
AVK>>Почему звуковая? Покупай платку с DSP и вперед
PE>Т.е. у тех, у кого нет DSP, не получится жать звук ? Как же они жмут то ?
PE>На счет ОГГ я сумлеваюсь — его плейерах железных то по большому счету нет. PE>Многие задачи обработки звука требуют охрененного количества ресурсов. PE>Никакое железо тут не поможет.
Все это правильно, вот только что то мне кажется что меньше всего меня волнует скорость работы на шарпе алгоритма сжатия в mp3 или ogg. Потому как это мизерный процент решаемых с его помощью задач.
PE>Кстати, а рары, зипы, тары — тоже аппаратно жмут ?