Escolar Documentos
Profissional Documentos
Cultura Documentos
Un buen rendimiento es crtico al xito de muchos juegos. Abajo hay algunas guas simples para
maximizar la velocidad de la renderizacin grfica de su juego.
Combine objetos cerca juntos, ya sea manualmente, o utilizando el draw call batching de
Unity.
Utilice menos materiales en sus objetos, poniendo texturas separadas a un atlas de textura
grande y as.
Utilice menos cosas que cause que los objetos sean renderizados mltiples veces
(reflecciones, sombras, iluminacin por-pxel., vea a continuacin).
Combine los objetos juntos para que cada mesh tenga al menos varios cientos de tringulos y utilice
solo un Material para el mesh entero. Es importante entender que combinar dos objetos que no
compartan un material no le da a usted ningn incremento de rendimiento. La razn ms comn
para tener mltiples materiales es que dos meshes no comparten la misma textura, entonces para
optimizar el rendimiento CPU, usted debe asegurarse que cualquier objeto que usted combine
comparta la misma textura.
No obstante, cundo utilice muchas luces de pxel en el Forward rendering path, hay muchas
situaciones dnde combinar objetos no tiene sentido, como es explicado a continuacin.
Rendimiento de Iluminacin
La iluminacin que no es computarizada para nada siempre es la ms rpida! Utilice Lightmapping
para bake una static lighting (iluminacin esttica) solo una vez, en vez de computarla cada
frame. El proceso para generar un ambiente lightmapped toma solo un poco ms que simplemente
colocar una luz en la escena en Unity, pero:
Va a correr mucho ms rpido (23 veces por 2 luces por-pxel)
Y se ver mucho mejor ya que usted puede bake una iluminacin global y el lightmapper
puede suavizar los resultados
En muchos casos puede haber trucos simples posibles en sombreadores y contenido, en vez de
agregar ms luces por todo el lugar. Por ejemplo, en vez de agregar una luz que alumbre directo a la
cmara para obtener un efecto rim lighting, considere agregar una computacin dedicada rim
lighting a sus sombreadores(shaders) directamente.
Las luces en forward rendering
Una iluminacin dinmica por-pxel va a agregar una carga de renderizacin significante a cada
pxel afectado y puede llevar a que los objetos se renderizen en mltiplos pases. En dispositivos
menos poderes, como los mviles, o PC GPUs de baja gama, evite tener ms de una Pixel Light
iluminando cualquier objeto nico, y utilice lightmaps para iluminar objetos estticos en vez de
tener su iluminacin calculada cada fotograma. Una iluminacin dinmica por-vrtice puede
agregar un costo significante a transformaciones de vrtice. Intente evitar situaciones dnde
mltiples luces iluminen cualquier objeto dado.
Si usted utiliza una iluminacin de pxel, cada mesh tiene que ser renderizado tantas veces como
haya luces de pxeles iluminndola. Si usted combina dos meshes que estn muy lejos entre s, va a
aumentar el tamao efectivo del objeto combinado. Todas las luces de pxel que iluminen cualquier
parte de este objeto combinado va a ser tomado en cuento durante la renderizacin, para que el
nmero de pases de renderizacin que se deben hacer para renderizar el objeto combinado es la
suma del nmero de pases para cada uno de los objetos separados, por lo que nada gana al
combinarlos. Por esta razn, usted no debe combinar meshes que estn lo suficiente aparte para ser
afectados por diferentes conjuntos de luces de pxel.
Durante la renderizacin, Unity encuentra todas las luces alrededor del mesh y calcula cul de esas
luces lo afectan ms. Las Quality Settings son utilizadas para modificar cuntas de sas luces
terminan como luces de pxel y cuntas como luces de vrtice. Cada luz calcula su importancia
basada en qu tan lejos est desde el mesh y qu tan intensa su iluminacin es. Adicionalmente,
algunas luces son ms importantes que otras puramente del contexto del juego. Por esta razn, cada
luz tiene un ajuste Render Mode que puede ser establecido a Important o Not Important; las luces
marcadas como Not Important van a tpicamente tener una carga menor de renderizacin.
Como un ejemplo, considere un juego de carreras dnde el carro del jugador est andando en la
oscuridad con los faros delanteros prendidos. Los faros son probablemente las fuentes de luz
visualmente ms significantes en el juego, entonces su Render Mode va a probablemente ser
establecido a Important. Por otro lado, puede haber ms luces en el juego que son menos importante
(las luces traseras de otros carros, por decir) y que eno mejoran el efecto visual por mucho por ser
luces de pxel. El Render Mode para aquellas luces pueden ser establecidas con toda seguridad a
Not Important para evitar gastar capacidad de renderizado en lugares dnde dar poco beneficio.
Optimizar una iluminacin por-pxel salva ambos CPU y GPU: el CPU tiene menos draw calls por
hacer, y el GPU tiene menos vrtices para procesar y pxeles por rasterizar para todos estos
renderizadores de objetos adicionales.
Ver Vambin
Utilizando el Profiler.
Light Performance.