es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Three.js/WebGL ejecutándose en la GPU integrada en lugar de dedicada.

Estoy aprendiendo Three.js y he creado una aplicación simple con él, esperando que se ejecute en mi GPU dedicada, pero el Administrador de tareas muestra un 0% de utilización de la GPU (todos los valores) mientras la escena se está renderizando y un 80-90% de uso de gráficos integrados. He probado algunos sitios que utilizan WebGL y los resultados fueron los mismos. Aquí está lo que sé:

  • La aceleración por hardware está activada en el navegador y el plan de energía de mi computadora está configurado en alto rendimiento.
  • La opción “powerPreference: ‘high-performance'” no parece hacer nada.
  • La opción “edge://gpu/” parece detectar mi GPU, ya que al buscar “nvidia” se encuentran algunos valores que coinciden con el nombre de mi GPU. Sin embargo, no sé realmente qué buscar aquí, son principalmente valores que no entiendo.
  • El sitio https://alteredqualia.com/tmp/webgl-maxparams-test/ muestra “ANGLE (Intel, Intel(R) HD Graphics 530 Direct3D11 vs_5_0 ps_5_0, D3D11-21.20.16.4550)” en “Unmasked Renderer”.
  • Estoy usando Edge en Windows 10 y tengo una NVIDIA GeForce GTX 960M. También he probado Chrome, que no parece comportarse de manera diferente según puedo ver, y Firefox utiliza gráficos integrados, aunque con menor FPS por alguna razón.

Mi pregunta es: ¿Cómo decide el navegador qué procesador gráfico utilizar? ¿Existe alguna forma de controlar esta elección, tanto para el usuario final como para el desarrollador del sitio web?

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Como experto en TI especializado en Three.js, GPU, WebGL y aceleración de hardware, puedo responder tu pregunta.

    El navegador decide qué procesador gráfico utilizar en función de varios factores, incluidos los ajustes del sistema, las capacidades del hardware y los requisitos de la aplicación. En tu caso, parece que el navegador está utilizando la gráfica integrada en lugar de la GPU dedicada debido a algunas limitaciones o problemas de configuración.

    Para controlar esta elección, puedes probar las siguientes soluciones:

    • Verifica los ajustes gráficos en tu sistema y asegúrate de que la GPU dedicada esté seleccionada como procesador gráfico principal. Puedes acceder a estos ajustes desde el Panel de control de NVIDIA o el Centro de control Catalyst de AMD, según la marca de tu GPU.
    • Utiliza la función de aceleración de GPU en el navegador, que se puede habilitar desde la página de configuración o banderas. Esto debería obligar al navegador a utilizar la GPU dedicada en lugar de la gráfica integrada.

    • Modifica el código de la aplicación para especificar explícitamente el dispositivo de GPU que deseas utilizar. Esto se puede hacer utilizando la API WebGL, que te permite crear un contexto WebGLRenderingContext desde una GPU específica. El código debería verse algo como esto:

      var canvas = document.getElementById('canvas');
      var context = canvas.getContext('webgl', {
        powerPreference: 'high-performance',
        // agrega aquí atributos de contexto adicionales si es necesario
        // ...
        // selecciona explícitamente el dispositivo de GPU
        // utiliza "gpu" para la GPU dedicada o "low-power" para la gráfica integrada
        gpuVendor: 'gpu'
      });
      

    • Ponte en contacto con el desarrollador del sitio web o la comunidad de Three.js para obtener más orientación sobre cómo optimizar la aplicación para la GPU dedicada. Puede haber consejos y trucos específicos que te ayuden a lograr un mejor rendimiento y compatibilidad.

Comments are closed.