Tarjetas gráficasTutoriales

NVENC: qué es, para qué sirve y cómo usarlo

NVIDIA NVENC es una características incluida en las tarjetas gráficas de esta marca que puede ayudar a reducir la carga de trabajo de la CPU para ciertas tareas, como la codificación de vídeo, que suele ser bastante pesada. En este artículo aprenderás un poco más sobre esta característica y sobre cómo puedes usarla.

¿Qué es NVENC?

nvenc

La tecnología NVENC hace uso de las GPU de NVIDIA que recoge los fotogramas y el audio para codificar el vídeo, es decir, convertirlos en un formato de vídeo que el procesador de la gráfica pueda descodificar. La tarjeta gráfica se libera de este proceso gracias a esta tecnología, y el procesador también, ya que podría realizar la codificación de vídeo a través del cálculo de sombreado. Debido al gran consumo de energía de esta tecnología, la computación de sombreado no es una opción para la codificación de vídeo. Se incluyó por primera vez en las GPU de la serie GeForce GTX 600 con arquitectura Kepler, y esta tecnología requiere una de estas GPU o unas más nuevas para funcionar.

NVENC es un codificador de vídeo que se encuentra en la memoria local de la tarjeta gráfica, conocida como VRAM, porque el búfer de imagen se genera y almacena allí. La tarjeta gráfica utiliza esta memoria exclusivamente, y el codificador de vídeo debe tener acceso a su contenido. Dado que NVENC realiza la codificación y descodificación por hardware directamente en la GPU, como decíamos hace un momento, la CPU queda liberada de este trabajo de cálculo intensivo. Como tiene muchos más núcleos, NVENC está optimizado para manejar datos de vídeo y, por las razones que hemos mencionado antes, consigue un rendimiento mucho mayor, así como un mayor rendimiento por vatio.

Gracias a estas unidades podemos ver vídeos en nuestros smartphones. No hay ninguna diferencia de rendimiento entre la versión para PC de este tipo de unidades y otras versiones de hardware en términos de rendimiento. Por lo tanto, no tiene sentido que un PC utilice decenas o incluso cientos de vatios para realizar la misma tarea que un teléfono móvil. NVENC tiene una limitación si se utiliza una GeForce, pero sólo admiten dos flujos de codificación de vídeo independientemente de cuántas tarjetas gráficas estén instaladas, por lo que incluso en configuraciones Quad-SLI sólo se pueden codificar dos vídeos al mismo tiempo. En las tarjetas gráficas profesionales hay hasta 21 flujos por tarjeta gráfica, dependiendo del modelo y de la calidad de compresión.

NVENC funciona bien en varios sistemas operativos, incluido Windows y Linux. Por supuesto, deberás tener los drivers de la GPU instalados en tu sistema para poder usar esta tecnología gracias a tu tarjeta gráfica Nvidia.

Los codificadores NVENC son compatibles de forma nativa con varios servicios de transmisión y grabación como Wirecast, Open Broadcaster Software (OBS) y Bandicam, así como con la función de captura de juegos Share incluida en el software GeForce Experience. Es de agradecer que la mayoría de los programas de codificación de vídeo soporten NVENC de forma nativa, por lo que sólo tenemos que seleccionarlo en el menú de opciones de esa aplicación. Utilizando NVENC en el software Open Broadcaster, por ejemplo, podemos especificar que deje de utilizar instantáneamente la CPU principal para codificar vídeo, y podemos asegurar que el impacto es significativo.

El uso de esta función liberará muchos recursos del procesador cuando grabemos nuestras partidas y las transmitamos por la red, lo que permitirá un mejor rendimiento y aumentar los FPS. Si tienes una tarjeta gráfica NVIDIA, podrás aprovechar esta función. Las CPUs poco potentes se ven especialmente afectadas por este problema, como ya hemos mencionado anteriormente. NVENC soporta un número limitado de streams, por lo que hay que tener cuidado cuando se emiten contenidos para plataformas de emisión en directo, ya que podemos ver cómo nuestros procesadores se ahogan como resultado de un tercer o cuarto codificado operando en tiempo real.

NVDEC vs NVENC

diagrama nvenc nvdec

NVDEC (NVIDIA Video DECoder) complementa a NVENC (NVIDIA Video Encoder) para realizar la operación inversa, es decir, para decodificar en vez de codificar.

En la primera década del 2000 se integraron codificadores de vídeo en las tarjetas gráficas, lo que llevó a la creación de NVDEC (NVIDIA Video DECoder). Desde entonces, NVDEC ha sido la opción preferida para las tareas de descodificación de vídeo en las tarjetas gráficas NVIDIA. No era necesario adquirir una tarjeta decodificadora de MPEG-2 para ver vídeos en DVD cuando éste salió al mercado. Para cuando llegó la alta definición, las GPUs ya tenían coprocesadores lo suficientemente capaces como para afrontar el trabajo.

Con la arquitectura Kepler, el NVDEC de NVIDIA tuvo un nuevo comienzo, y con cada generación desde entonces, ha aumentado su rendimiento. Para empezar, las GPU Maxwell llegaron con la GM107 Maxwel, seguidas de las GPU Maxwell GM20X y las GPU Pascal GP10X, la cuarta generación con la GTX10X, la quinta con la GV10X, la sexta con la arquitectura TU117 Volta y la sexta con las Turing TU10X y TU116. La arquitectura Ampere debutó con la séptima generación, que incluye la serie RTX 30. Cada generación de tarjetas NVIDIA GeForce incluye un NVENC y un NVDEC mejorados, que manejan nuevos formatos de vídeo para codificar y aumentar el número de resoluciones y frecuencias de cuadro de los formatos anteriormente admitidos.

Se trata de una función que crece con el tiempo, gracias al trabajo de NVIDIA en la mejora de la unidad que codifica el vídeo, ya que NVENC no se refiere a la GPU en sí, sino a un pequeño procesador o acelerador dentro de la gráfica. Y es muy probable que poco a poco veamos más de estos aceleradores para descargar más y más tareas de la CPU, de la GPU, y de otras unidades para así conseguir mejores rendimientos. Prueba de ello son algunas de las tecnologías para tarjetas gráficas que han estado lanzando NVIDIA y AMD, que descargan a la CPU también de ciertas tareas de acceso a memoria, una tarea que antes de estas tecnologías necesitaba de la atención de la CPU. Ahora, con ellas, se podrá centrar en otros trabajos. Lo mismo ocurre con la codificación y descodificación de los vídeos gracias a NVDEC y NVENC.

Ahora ya conoces qué es eso de NVENC y NVDEC de NVIDIA y cómo puedes exprimirlo en tu equipo. No olvides comentar.

Isaac Romero Torres

Más de una década trabajando en el ámbito de la investigación sobre arquitecturas y microarquitecturas de CPUs, de la electrónica, la lógica digital, de los sistemas operativos Unix (con los que trabajé como asesor para algunas empresas), programación de MCUs, PLCs, hacking, etc.
Los datos de carácter personal que nos facilite mediante este formulario quedarán registrados en un fichero de Miguel Ángel Navas Carrera, con la finalidad de gestionar los comentarios que realizas en este blog. La legitimación se realiza a través del consentimiento del interesado. Si no se acepta no podrás comentar en este blog. Puedes consultar Política de privacidad. Puede ejercitar los derechos de acceso, rectificación, cancelación y oposición en info@profesionalreview.com
Botón volver arriba