Я пытаюсь отобразить свои кадры камеры в Android и использовать холст, растровое изображение, onDraw(), чтобы отображать кадры на моем Surfaceview. Однако моя производительность кода, которая делает рендеринг на родной стороне, занимает до 70% моего процессора. Скорость рендеринга хороша, но потребление процессора плохое. Проблема в том, что у меня есть еще один наложенный вид поверхности (surfaceview2), чтобы отображать что-то еще, пока я снимаю и снимаю камеру. Мне было интересно, как я могу уменьшить потребление процессора и использовать gpu больше или т. Д. Возможные решения до сих пор: a) используя opengl для рисования моих кадров на поверхности, но ограниченные ресурсы и коды образцов b) с использованием родной стороны к нарисуйте мои рамки, но ограниченные ресурсы такжеРамка для фотоаппарата для Android
Кто-нибудь знает, как я могу выполнить YV12 в rbg, используя вышеприведенные методы?
Это тот же проект, что и http://stackoverflow.com/questions/28706700/? Что ты пытаешься сделать? Похоже, вы отправляли его прямо в SurfaceView или TextureView из ответа там; что вы пытаетесь сделать здесь? – fadden
Fadden, у меня есть Surfaceview1, который показывает что-то и Surfaceview2 (наложенная поверхность), которая делает захват камеры. Я хочу захватить кадры из своей камеры и сделать их. Я использовал собственный код, который был хорош, но процент моего процессора вырос. Я ищу решение для снижения использования процессора. Я не мог найти ничего особенного в этом вопросе на Opengl. Считаете ли вы, что openGl является решением. Не работает ли с помощью native? –
«OpenGL ES» и «native» не являются синонимами. Как отмечено в ответе Isogen74, данные камеры можно рассматривать как «внешнюю» текстуру. Это используется в нескольких действиях в Grafika (https://github.com/google/grafika), таких как «текстура с камеры». Grafika не использует какой-либо собственный (NDK) код в самом приложении. – fadden