Noticias

¡RECUERDA QUE SI ERES UN NUEVO USUARIO, DEBES PRESENTARTE PARA PODER PUBLICAR MENSAJES! | TENEMOS CANAL OFICIAL DE TELEGRAM: t.me/unity3dspain

Rendimiento en las GPU´s (SOLUCIONADO)

Iniciado por ftejada, Diciembre 18, 2015, 03:51:17 PM

Tema anterior - Siguiente tema
Diciembre 18, 2015, 03:51:17 PM Ultima modificación: Diciembre 18, 2015, 10:57:56 PM por ftejada
Hola a todos!! Tengo la siguiente cuestión...Hay algún modo de que la aplicación que cree con Unity reparta el trabajo (de render supongo) entre dos GPU`s en vez de cargar todo el trabajo a una sola gpu?Es que tengo el siguiente caso... Yo tengo una grafica con dos GPU´s de NVIDIA la gForce 690. El tema está que cuando la aplicació, (compilada o desde el editor) funciona, descarga todo el trabajo sobre la GPU2 y nada sobre la GPU1. Y cuando la aplicación requiere mucha potencia (por efectos, shaders, etc) la GPU2 va axfisiada con una media de carga de trabajo de 98 / 99% y los FPS me bajan y no consigo alcanzar los 60fps, mientras que la GPU1 va a su bola con una carga de 7 / 8%.He probado con otros juegos como The Witcher III con todos los efectos a tope y la carga de las GPU´s viene a ser una media de:  GPU1 75% y GPU2 75%. Es decir que reparte el trabajo correctamente y me va a una tasa estable de 60fps. He mirado si la bajada de fps en la aplicacion creada con Unity fuese por la cpu o la Ram, pero la cpu no pasa del 20% y la Ram va consumiendo unos 6GB y tengo 32. Asi que no creo que sea por eso.¿Alguien podria decirme si se puede programar o cambiar alguna opcion en Unity para que reparta el trabajo que le corresponde a la GPU, entre las dos GPU´s que tengo? Un saludo y gracias de antemano.

Existe una opcion dentro de Player Setting que se llama multi-threading, creó que es tu solución. 

[quote author=francoe1 date=1450452174" data-ipsquote="" data-cite="francoe1" class="ipsQuote">Existe una opcion dentro de Player Setting que se llama multi-threading, creó que es tu solución. [/quote]Muchas gracias por contestar francoe1Pero esa opcion no es solo para el multihilo de la CPU? no se... pregunto desde el desconocimiento. Aparte esa opcion de multi-threading la he estado buscando en el playersetting y no está. Eso, o estoy totalmente cegato porque he estado mirando como 5 minutos en el playerSetting :huh:

está en other settings para ciertas plataformas como Android, dice multithreaded rendering.aparte de eso creo que en PC los GPU's multiples los maneja el driver automáticamente, aquí encontré algo:http://forum.unity3d.com/threads/multiple-gpu-sli-performance.347224/" rel="external nofollow">http://forum.unity3d.com/threads/multiple-gpu-sli-performance.347224/

[quote author=Braltor date=1450460483" data-ipsquote="" data-cite="Braltor" class="ipsQuote">está en other settings para ciertas plataformas como Android, dice multithreaded rendering.aparte de eso creo que en PC los GPU's multiples los maneja el driver automáticamente, aquí encontré algo:http://forum.unity3d.com/threads/multiple-gpu-sli-performance.347224/">http://forum.unity3d.com/threads/multiple-gpu-sli-performance.347224/[/quote]Gracias por contestar. Ya mire en other setting pero en las opciones de pc no viene. En las opciones de android por ejemplo, como tu muy bien decias si viene con ese nombre, pero para compilcacion de PC no.

si no aparece en PC es que no se puede, no desde unity... por otro lado creo que DirectX y el driver de la tarjeta lo hacen automatico como dice en ese tema que puse

Si. He leido el post y asi parece. Despues de leerlo me he puesto a trastear con las opciones de configuracion de la grafica y he descubierto un par de cosas y he podido solucionar el problema.El caso es que hay una opcion que es "modo de renderizado multi gpu" que tiene diversas opciones (multi gpu, unica gpu, forzar renderizado de fotogramas alternativos 1 y 2). Pues bien... no se por qué para las aplicaciones hechas con Unity la opcion para elejir de multi gpu (que es la que hace que trabajen las dos gpu´s) no aparece y solo te parece modo recomendado por Nvidia. Y ese modo recomendado es unica gpu.Como no podia elejir multi gpu, por que no sale, probé forzar renderizado de fotogramas alternativos 1 o 2 y de esta manera las gpu´s se reparten el trabajo correctamente. Y cuando lo pongo a dos la grafica va como un tiro, donde antes llegaba a 58/59fps ahora alcanza unos 120fps.No se por qué ocurre esto ya que en juegos como The Witcher III la opcion multi gpu si aparece en la configuración de Nvidia pero con las aplicaciones de Unity no. Quizas sea porque de forma nativa Unity no soporte el multithread ese.... A saber... Un saludo y gracias por la ayuda a los dos

muy interesante eso, podrías mirar en la API de nvidia a ver si hay forma de activarlo y hacerlo de alguna forma desde unity...

Cita de: Braltor date=1450476900" data-ipsquote="" data-cite="Braltor" class="ipsQuotemuy interesante eso, podrías mirar en la API de nvidia a ver si hay forma de activarlo y hacerlo de alguna forma desde unity...
Pues voy a preguntar en los foros de Nvidia y si me contestan lo expongo por aqui en unos dias...

Etiquetas: