LINUX.ORG.RU

Быстрый захват экрана в очень низком разрешении, Electron.

 , ,


1

4

Хочу определять «фон» того что в данный момент на экране, чтобы на основании этого менять подсветку стола (она имеет несколько зон, по этому мне нужно изображение примерно 20 пикселей по ширине), для этого я использую вот такой код на Electron

WIDTH = 20;
    desktopCapturer.getSources({ types: ['screen'], thumbnailSize: {width: WIDTH, height: Math.floor(WIDTH / 16 * 9)} })
    .then( sources => {

      const arr = sources[0].thumbnail.getBitmap().toJSON().data;
})

Проблема данного кода в очень низкой производительности (я получаю примерно 3 кадра в секунду с загрузкой процессора в 10%). Хочу 60кадров (30 тоже подойдет), загрузка процессора не принципиальна, но чем меньше тем лучше.

А также когда я начал гуглить этот нюанс оказалось что оно еще и по разному работает на разных операционных системах.

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

★★★

код на Electron

Проблема данного кода в очень низкой производительности

ну как бы одно вытекает из другого

EugeneBas ★★
()

захватывающая история, в прямом и переносном смыслах! подписался

Anoxemian ★★★★★
()
Ответ на: комментарий от dimgel

подозреваю, что помимо этого ТС не привел еще парочку конвертаций подобных форматов из одного в другой перед использованием этих несчастных 220 пикселей

EugeneBas ★★
()

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

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

Ищи примеры, переписывай, опираясь на них, раз самому тяжело оценить сложности тех или иных вещей.

javascript
()

Electron

3 кадра в секунду с загрузкой процессора в 10%

Всё в порядке, так и должно быть.

anonymous
()
Ответ на: комментарий от javascript

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

Брейкинг ньюс: сериализация 220 пикселей на электроне отнимает 10% цпу!

anonymous
()
Ответ на: комментарий от anonymous

Если не Electron GG ™ то кто ? Предлагаешь свой пук то какой и сможет ли он не в луже ?

anonymous
()
Ответ на: комментарий от anonymous

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

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.