• Как сделать графику 2D в игре (программы, методика)?

    gbg
    @gbg
    Любые ответы на любые вопросы
    Чисто технологически, работать с вектором проще - он не занимает сотни мегабайт, для него не нужно рендерить полтнонны спрайтов в разном разрешении и таскать их за собой.

    Векторная картинка поставляется в одном экземпляре, а растеризуется уже на целевой машине. А учитывая производительность современных GPU, это можно делать каждый кадр, без необходимости пре-рендеринга и жора видеопамяти под спрайты.
    Ответ написан
    Комментировать
  • Программный RAID5 на NVME дисках нормально будет работать?

    gbg
    @gbg Куратор тега Железо
    Любые ответы на любые вопросы
    RAID5 как технология признан ненадежным. Нередки случаи потери второго диска при ребилде, что фактически приводит к полной потере всех данных на массиве.
    Ответ написан
    4 комментария
  • Что и как декодирует видео в браузере?

    gbg
    @gbg Куратор тега Windows
    Любые ответы на любые вопросы
    Зависит от браузера и операционной системы.
    Chrome честно использует куски из ffmpeg, а если видеокарта поддерживает (а она обычно поддерживает), то декодирует прямо на ней.

    Видеофайл, обычно, это сложный контейнер, содержащий много потоков данных - звук, видео, субтитры и так далее. Процесс упаковки в контейнер называется муксинг, распаковки - демуксинг. Соответственно, кусок сначала попадает в демуксер и из него вынимаются нужные потоки.
    Демуксер может быть частью ffmpeg или gstreamer, может быть частью DirectX, может быть частью Андроида (AMediaFormat).

    После демуксера конкретно видео поступает в декодер - аппаратный (на видеокарте) или программный, а потом на экран.

    Программный декодер опять же может быть частью ffmpeg или gstreamer, или из DirectX (это к вопросу, используются ли установленные кодеки)
    Ответ написан
  • Как организовать ВКС?

    gbg
    @gbg
    Любые ответы на любые вопросы
    Расскажу о своем опыте. Оборудование уже старенькое, но работает.

    Центром всей сети является asterisk. Он рулит правами доступа, маршрутизацией, очередями в колл-центр, учетом звонков и т. д.

    Телефоны 9917, регистрируются по SIP на астериске, без CUCM.

    В качестве сервера ВКС стоит openmcu-ru. Вместе с ним работает Cisco MCU - если нужно много точек в HD цеплять (20-30), серверы соединяются цепочкой. Именно MCU отвечает за режессирование видео и звука во время конференции - кого вывести крупным планом, кому включить микрофон и т.д.

    Туда же интегрирована традиционная телефония по протоколу H.323 через плату расширения в АТС Panasonic TDA200.

    С мобильников доступ по VPN. На андроиде программа CSipSimple (с видео), на яблоках - Linphone.

    В залах - Cisco SX80 (он шикарен) + видеостена.

    На десктопах Ekiga или Linphone.

    Итого получается. У людей на столе стоит один телефон, на который прилетают как звонки из городской телефонной сети (через панасоник - H323 - Asterisk - телефон), так и любые местные комбинации, плюс выход в конференцию.

    Удаленный юзер с мобилой (по IP) также легко может позвонить на любой номер внутри (в том числе и на аналоговый телефон, воткнутый в панасоник), так и на любой номер снаружи, а также позвонить на видеофон или в конференцию.

    Во время конференции можно подключить (только голосом), любой не-IP телефон, хоть внутренний, хоть голосом позвонить на мобильник или стационарный городской.

    Естественно, этим всем рулит куча правил в астериске, чтобы права разграничивались, или реализовывались сценарии типа "меня нет на месте" - сначала звонок идет в кабинет человека, потом по IP на его мобилу, потом просто на мобилу, традиционным звонком.

    По последнему вопросу (про телевизор) - openmcu-ru поддерживает отдачу потока в ffmpeg - а оттуда можно транслировать куда угодно, хоть на сайт (есть положительный опыт, включая отдачу на мобильник в браузер), хоть на телевизор.
    Ответ написан
    2 комментария
  • Как управлять сторонней программой на ПК?

    gbg
    @gbg Куратор тега Программирование
    Любые ответы на любые вопросы
    Можно эмулировать действия пользователя.
    Если разработчики программы предусмотрели API, можно пользоваться этим API
    При особом желании, можно внедрить в программу свою DLL и что-то там подергать, но в некоторых случаях, это запрещено лицензией.
    Ответ написан
    1 комментарий
  • Как отключать девайс при зарядке аккумулятора?

    gbg
    @gbg Куратор тега Электроника
    Любые ответы на любые вопросы
    Трекер кушает меньше остальной автомобильной начинки, всевозможных блоков комфорта, сигналок и прочего фарша.

    Вот тут снизу подсказывают, что за два месяца уже штатное барахло сожрет 60 [суток] * 24 [часа/суток] * 0.035 [Ампер] = 36 [Ампер*Часов], то есть, почти вся емкость батареи.

    Чтобы точно решить, целесообразно ли что-то (китайское, с али) колхозить в проводку машины, подключая это что-то напрямую к батарее (надо бы через отдельный предохранитель, потому как в прикуривателе стоит дубина), стоит измерить потребление тока через 10-20 минут стояния в закрытом состоянии с трекером и без трекера. Вполне возможно, что трекер даже видно не будет.
    Ответ написан
    2 комментария
  • Почему в консоли на выводе 0?

    gbg
    @gbg
    Любые ответы на любые вопросы
    Строка с форматом неверно составлена.
    printf("%.1f\n","%.1f\n","%.1f\n", fut, m, dm);  // тут ошибка

    printf("%.1f\t%.1f\t%.1f\n", fut, m, dm);
    Ответ написан
    Комментировать
  • Работа с QSystemSemaphore и QSharedMemory?

    gbg
    @gbg
    Любые ответы на любые вопросы
    Потому что экземпляры классов, которые создаются main() должны существовать все время работы программы. А если вы их уберете в другую область видимости, они уничтожатся при выходе за эту область.
    Ответ написан
  • Как разбить текст на страницы?

    gbg
    @gbg
    Любые ответы на любые вопросы
    Нужен какой-то парсер HTML, например, такой
    Ответ написан
    Комментировать
  • Как сделать дублированный голос на видео более реалистичным?

    gbg
    @gbg
    Любые ответы на любые вопросы
    Минимальная обработка звука делалась? Компрессор, реверб, эквалайзер, панорама - слышали о таком?

    Манипулируя эквалайзером и компрессором, нужно засунуть звук в микс основной сцены. Если актер говорит на фоне музыки, надо в музыкальной дорожке поджать те частоты, на которых вещает актер, а у актера их приподнять. Если актер выбивается по уровню из микса - вправить его на место уровнем или компрессором. Если актер - мужчина, ему, возможно, нужно поджать нижние частоты, чтоб не бубукал. Если женщина - верхние, чтоб не пищала.

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

    При записи на студии, если это реально студия, а не кухня в общаге, реверберация от стен будет погашена покрытием этих стен - звук будет без реверберации, и будет звучать ненатурально. Так вот, реверб эту натуральность как раз вернет.

    Регулируя громкость по каналам, нужно расположить звук так, чтобы он шел от того места, где стоит персонаж, а не из форточки.

    Примерно как-то так.
    Ответ написан
    1 комментарий
  • Соотношение многопоточности приложения c++ и многопоточности на уровне системы?

    gbg
    @gbg
    Любые ответы на любые вопросы
    У вас тотальный бардак в голове относительно терминов. Разберитесь с тем, что такое процесс, а что такое поток, что за "второй способ работы с многопоточностью при помощи мьютексов" и так далее. "Многопоточность в одной единице трансляции" - это просто шедевр. Как единицы трансляции связаны с потоками?

    Из вашего потока сознания я понял, что вам нужен QSingleApplication - Штука, которая не дает запустить программу более одного раза.
    Ответ написан
    3 комментария
  • Зачем системному администратору в техникуме дают математику?

    gbg
    @gbg
    Любые ответы на любые вопросы
    Очередной "зачем меня учат" - вопрос. Объясняю:

    Процесс обучения состоит не только в тупом заталкивании в башку одмина информации "бело-оранжевый, оранжевый, бело-зеленый, синий, бело-синий, зеленый,...), но и в развитии его способностей к мышлению, а также развитию его личности в целом.

    Именно для этой цели во все учебные программы засунуты такие ненужные вещи как физкультура (чтобы в 30 лет не скупать половину аптеки), культурология (чтобы отличать Бебеля от Бабеля, Бабеля от кабеля, кабель от кобеля, а кобеля от суки), математика и прочее барахло.

    Умение ковыряться с абстрактными буковками на бумажке что-то там улучшает в мозгах, после чего решение тех же задач по планированию работ получается с меньшими усилиями. И кроме того, вы не будете всю жизнь тянуть кабели (надеюсь), так что начальные знания полезно иметь.
    Ответ написан
    4 комментария
  • Какой ЯП лучше всего подойдет для МКЭ, МКО или МКР анализа?

    gbg
    @gbg
    Любые ответы на любые вопросы
    С++ дает баланс между написанием хитрой архитектуры и быстродействием.
    Ну и легкий доступ к MKL/OpenCL/CUDA/MPI/OpenMP - индустриальным стандартам организации массового параллелизма.
    Ответ написан
    Комментировать
  • Почему в java результатом i += i++ будет 0?

    gbg
    @gbg
    Любые ответы на любые вопросы
    i++ - постфиксный инкремент. Так как тут нету прибамбасов с точкой следования из C++ и C, тут однозначно получится:
    i+=i++ можно без проблем переписать как
    result=i+i++
    считаем постфиксный инкремент i++, это значит берем из i 0, теперь увеличиваем i на 1
    result=0+0
    i=1
    считаем сложение 0 + 0 (то значение, которое было в i перед вычислением выражения, и то, что мы вытащили при префиксном инкременте)
    result=0
    i=1
    теперь записываем в i результат прибавления 0 к 0, перетирая ранее записанную туда 1.
    i=result //тут в i запишется 0
    Ответ написан
    Комментировать
  • Подключение передней панели к компьютеру?

    gbg
    @gbg Куратор тега Железо
    Любые ответы на любые вопросы
    Кнопке совершенно без разницы, с какой стороны у нее минус.
    Ответ написан
    5 комментариев
  • Рефакторить или рерайтить?

    gbg
    @gbg
    Любые ответы на любые вопросы
    У вас будет проблема с тем, что на имеющийся быдлокод у вас нет ТЗ и описания того, как это чудо должно работать - вам придется восстанавливать это из кода.

    В процессе, вы можете исправить некоторые глюки и баги, к которым пользователи уже привыкли, что приведет к скандалу.

    Со стороны трудно оценить объем вносимых изменений - если это разовая работа, проще добавить в эту свалку костылей еще один и забыть как страшный сон.

    Иначе, вам придется заниматься рефакторингом через тестирование, обвешать это одоробло тестами и потихоньку фиксить, используя ванильную версию в качестве эталона.

    Полный рерайт - это, возможно, остановка каких-то процессов на время рерайта. Маловероятно, что это допустимо.
    Ответ написан
    Комментировать
  • Как работает "Приостановить" в VMware?

    gbg
    @gbg
    Любые ответы на любые вопросы
    Она работает как гибернация - нужно же ей куда-то сохранть состояние машины (всю ее оперативку) на время ребута хоста.
    Ответ написан
    1 комментарий
  • Какой программой определить библиотеки используемые исполняемым файлом?

    gbg
    @gbg Куратор тега Windows
    Любые ответы на любые вопросы
    Ответ написан
    Комментировать