Хочу определять «фон» того что в данный момент на экране, чтобы на основании этого менять подсветку стола (она имеет несколько зон, по этому мне нужно изображение примерно 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 пикселей.