Electron: Может электронный рендеринг в массив байтов, например встроенный Chromium

Созданный на 20 мар. 2016  ·  3Комментарии  ·  Источник: electron/electron

Я хочу иметь возможность брать двоичные визуальные данные и отправлять их в свою программу игрового движка из электрона. В настоящее время я использую Chromium Embedded с Java и JMonkeyEngine 3, данные изображения из Chromium embedded передаются в текстуру изображения JMonkeyEngine 3 и отображаются на экране. Затем я могу выполнять многие преобразования, такие как изменение изображения, отправляя его данные через OpenCV для обработки изображения или помещая данные изображения во вращающийся куб и так далее.

Я хочу иметь возможность делать то же самое с данными изображений из Electron по той причине, что Electron легко управлять из Javascript, и Electron также является разумной платформой для кодирования внутри.
Можно ли это сделать? Насколько сложно это сделать? Есть ли несколько способов добиться этого?

Я также хотел бы иметь возможность встроить Atom.io в свое приложение с помощью этого метода.

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

Ссылаться на
https://github.com/atom/electron/issues/228

Самый полезный комментарий

Для этого можно использовать webContents.beginFrameSubscription API:
http://electron.atom.io/docs/v0.37.2/api/web-contents/#webcontentsbeginframesubscriptioncallback

Он предоставлен @brenca , и я думаю, что он предназначен именно для такого случая, как ваш.

Все 3 Комментарий

@PhilAndrew Я не занимаюсь электронным сопровождением и не

Это, вероятно, выполнимо, и вы, вероятно, сможете сделать это за солидную награду. Большая проблема, которую я вижу в этом, заключается в том, как приложения Electron структурированы / введены, и это центральная точка входа в JS.
Electron - это скорее «оболочка», которая может управлять всеми API-интерфейсами рабочего стола, а не просто средство веб-рендеринга.
Следовательно, это потребует нового режима / парадигмы.

Я бы посоветовал поискать что-то более конкретное для этой цели - см. Coherent GT и Coherent UI - оба коммерческие, я тоже не связан с ними напрямую, но я знаю, что они очень хороши по производительности. Возможные недостатки - несовместимость / отсутствие API-интерфейсов для WebKit и отсутствие интеграции Node.js, такой как Electron. Но они созданы специально для игр, особенно с учетом производительности, особенно для рендеринга в текстуре.

Для этого можно использовать webContents.beginFrameSubscription API:
http://electron.atom.io/docs/v0.37.2/api/web-contents/#webcontentsbeginframesubscriptioncallback

Он предоставлен @brenca , и я думаю, что он предназначен именно для такого случая, как ваш.

Да, я добавил это для очень похожего сценария использования, вы сможете использовать его для рендеринга на 3D-текстуру. В будущем производительность может быть улучшена, но для этого потребуется гораздо больше работы, и сейчас это работает довольно хорошо, я думаю. :)

Была ли эта страница полезной?
0 / 5 - 0 рейтинги