Revisando GameWorks: AMD, Nvidia se enredan sobre optimizaciones para The Witcher 3: Wild Hunt

Durante la semana pasada, se ha estado gestando una tormenta sobre el estado de las optimizaciones de The Witcher 3: Wild Hunt. Las cosas comenzaron con una declaración de Marcin Momot de CD Projekt Red, quien les dijo a los fanáticos del juego: “Muchos de ustedes nos han preguntado si las GPU AMD Radeon podrían ejecutar la tecnología HairWorks de NVIDIA; la respuesta es sí. Sin embargo, es posible que se experimente un rendimiento insatisfactorio ya que el código de esta función no se puede optimizar para los productos AMD. Se recomienda a los usuarios de Radeon que desactiven NVIDIA HairWorks si el rendimiento está por debajo de las expectativas '.

Las revisiones posteriores han confirmado que la función afecta más a las tarjetas AMD que a las tarjetas Nvidia. El siguiente gráfico se creó a partir de los puntos de referencia del título de Digital Foundry, que utilizó el parche 1.03 más reciente y los controladores actualizados de ambas empresas.



Witcher3



Nvidia tiene un impacto de rendimiento del 24% al tener GameWorks habilitado, en comparación con el 47% de AMD. Claramente, hay un impacto desproporcionado en el lado de AMD. Según los usuarios finales, hay varias formas de mitigar el problema. Una forma de limpiar el rendimiento de las tarjetas AMD es crear un perfil personalizado para el juego y establecer un nivel manual de teselación. La mejora del rendimiento al hacerlo no parece haber sido cuantificada con precisión.

HairWorks-AMD



El uso de niveles manuales de teselación en los juegos puede ocasionalmente introducir artefactos extraños (la probabilidad de que esto disminuya cuanto mayor sea el nivel de teselación). Algunos de ustedes recordarán que esta no es la primera vez que vemos que los títulos de Nvidia TWITMTBP / GameWorks utilizan niveles extremadamente altos de teselación. Pero cuando se trata de renderizar pieles y cabellos, no está claro exactamente qué nivel de teselado es apropiado en primer lugar. Una cosa es señalar niveles locos de detalles geométricos vertidos en superficies estáticas o con curvas mínimas, pero el cabello es dinámico (y The Witcher 3 tiene más de unas pocas bestias hirsutas).

Como era de esperar, AMD y Nvidia tienen sus propias opiniones distintas sobre este problema y las razones para ello. Richard Huddy de AMD le dijo a Ars Technica lo siguiente: 'Hemos estado trabajando con CD Projeckt Red desde el principio. Les hemos estado dando comentarios detallados durante todo el proceso. Aproximadamente dos meses antes del lanzamiento, más o menos, el código de GameWorks llegó con HairWorks, y saboteó por completo nuestro rendimiento en lo que a nosotros respecta. Estábamos corriendo mucho antes de eso ... ha arruinado nuestro rendimiento, casi como si se hubiera puesto para lograr ese objetivo '.

El gerente de relaciones públicas de Nvidia, Brian Burke, tuvo una visión muy diferente de la situación en un comunicado proporcionado a PC Perspective . 'No estamos pidiendo a los desarrolladores de juegos que hagan algo que no sea ético', dijo Brian Burke de GameWorks de Nvidia. “GameWorks mejora la calidad visual de los juegos que se ejecutan en GeForce para nuestros clientes. No afecta el rendimiento en hardware de la competencia. El código fuente de GameWorks se proporciona a los desarrolladores que lo solicitan bajo licencia, pero no pueden redistribuir nuestro código fuente a nadie que no tenga una licencia. La mayoría de las veces optimizamos los juegos basados ​​en compilaciones binarias, no en código fuente… creo que es un problema de recursos. Nvidia invirtió muchos recursos de artistas e ingeniería para ayudar a mejorar Witcher 3. Supongo que AMD podría haber hecho lo mismo porque nuestros acuerdos con los desarrolladores no les impiden trabajar con otros IHV (proveedores de hardware independientes) '.



Los comentarios de Burke y Huddy no solo presentan argumentos diferentes, se refieren a temas fundamentalmente diferentes. La declaración de Burke toca una serie de cuestiones complicadas relacionadas con el acceso al código fuente, los procedimientos de optimización de juegos y las prácticas de la industria.

GameWorks Redux

Primero, hablemos de lo que es GameWorks. El término se refiere a un conjunto colectivo de bibliotecas de Nvidia para producir ciertos efectos específicos dentro de un título. Hay bibliotecas de GameWorks para manejar la oclusión ambiental, el agua, la turbulencia del aire, el cabello, las caras y los efectos tanto físicos como de partículas. Las bibliotecas y la tecnología PhysX de Nvidia se han incorporado al programa GameWorks.

HairWorks en The Witcher 3

HairWorks en The Witcher 3

Las bibliotecas de GameWorks a veces se denominan 'middleware' porque actúan como un puente entre diferentes aspectos del motor del juego. En lugar de construir un motor de física personalizado desde cero, un desarrollador de juegos puede usar una solución como PhysX o la solución de física Havok propiedad de Intel, ahorrando así tiempo y dinero en comparación con hacer su propia implementación desde cero. Hay docenas de complementos y bibliotecas de middleware; The Witcher 3, por ejemplo, usa los complementos Umbra 3 y SpeedTree, así como GameWorks.

Lo que distingue a GameWorks es que está desarrollado por Nvidia explícitamente para las GPU de Nvidia, en lugar de ser un programa de terceros escrito por un proveedor de software.Esto tiene implicaciones sobre cómo se puede usar o compartir ese código fuente, que exploramos en detalle en la siguiente sección.

Si GameWorks afecta el rendimiento en hardware de la competencia depende completamente de cómo analice los significados detrás la declaración. Nvidia argumentaría que la incorporación de una biblioteca de GameWorks no perjudica intrínsecamente al hardware de la competencia porque HairWorks es una configuración opcional controlada por el usuario. La integración de una biblioteca de GameWorks no afecta el rendimiento en el título en su conjunto; si HairWorks no se ejecuta correctamente en un chip AMD, apagarlo soluciona el problema (al menos desde la perspectiva de Nvidia).

AMD argumentaría que 'perjudicar' tiene un significado más amplio que el que le ha asignado Nvidia. Como comentamos el año pasado, una de las diferencias entre las dos empresas es que AMD tiende a depender más de la optimización del código fuente que Nvidia, lo que significa que las bibliotecas de código cerrado tienden a dañar más al Team Red que al Team Green. Afirmar que AMD podría escribir sus propias bibliotecas para realizar esencialmente las mismas tareas ignora el hecho de que los desarrolladores de juegos adoptan bibliotecas para simplificar sus vidas, y relativamente pocos de ellos están dispuestos a adoptar dos soluciones diferentes para hacer lo mismo. En términos prácticos, AMD no tiene los recursos financieros para atacar directamente a Nvidia de esta manera en cualquier caso. Por lo tanto, desde la perspectiva de AMD, GameWorks afecta absolutamente su propia capacidad para optimizar el código.

El enigma del código fuente

Cada vez que escribo sobre este tema, la cuestión de el acceso al código fuente y su importancia ha aumentado . Un punto que debemos aclarar es que la posición central de AMD es que desarrolladores necesitan acceso al código fuente para realizar sus propias optimizaciones. Optimizar un juego para que se ejecute en GPU específicas es solo un ejemplo de los tipos de trabajo que podría realizar un desarrollador.

Witchums

Nvidia tiende a restar importancia a su propia necesidad de acceder al código fuente y AMD está de acuerdo en que solo ocasionalmente necesitan verlo ellos mismos, pero el método preferido de optimización de AMD se basa más en que el desarrollador tenga acceso a la fuente, mientras que Nvidia tiende a abordar más trabajo desde dentro del conductor. Esta diferencia de enfoque, como hemos dicho, se basa al menos en parte en los recursos financieros disponibles para las dos empresas.

¿Los desarrolladores dan prioridad al acceso al código fuente? Eso depende. Si eres un desarrollador independiente que trabaja con bibliotecas y motores estándar, no, el acceso al código fuente probablemente no te importe. Los desarrolladores AAA con los que hablamos el año pasado, por otro lado, nos dijeron que no trabajarían con bibliotecas si no tuvieran una licencia para ver el código fuente subyacente.

La batalla por el código fuente, como lo he observado, es en gran parte librada por no programadores que usan los argumentos a favor o en contra como un proxy de qué tipo de filosofías de diseño creen que Nvidia o AMD deberían o no deberían seguir. No es casualidad que la empresa más grande, con más éxito financiero y con más recursos económicos defienda un enfoque que aproveche la mayor cantidad posible de su propia propiedad intelectual, mientras que la empresa minoritaria con un equipo de relaciones con desarrolladores más pequeño declara la superioridad de un enfoque basado en el ecosistema.

¿Dónde se encuentran los desarrolladores de juegos? Como era de esperar, la mayoría de ellos solo quiere que sus juegos se ejecuten lo mejor posible en la mayor cantidad de hardware posible. Pero las situaciones que conducen a la adopción de una biblioteca o motor en particular son sí mismos complejo. Cuando AMD anunció en 2013 que cada juego de Frostbite 3 tendría una versión de Mantle, fue un acuerdo importante entre dos corporaciones. En algunos casos, Mantle entregó capacidades únicas e interesantes , pero en otros (me viene a la mente Dragon Age: Inquisition) la característica fue de un beneficio muy modesto. Los acuerdos que AMD y Nvidia logran a través de programas como Gaming Evolved o The Way It's Meant To Be Played no se pueden resumir fácilmente como 'buenos' o 'malos' para los jugadores, aunque algunos, incluido yo mismo, hemos argumentado que este enfoque balcanizado es malo para la industria en su conjunto .

Juego encendido

El propósito de esta historia no es declarar a favor de un lado u otro, sino ilustrar las complejidades que envuelven toda la cuestión de GameWorks. AMD y Nvidia ambos tenga un perro financiero en esta pelea, pero eso no significa que AMD mienta cuando afirma valorar las libertades de los desarrolladores y la importancia del acceso a las fuentes. Tampoco significa que Nvidia mienta cuando habla de querer ofrecer un valor agregado a sus usuarios y ampliar los límites en términos de lo que es posible en los juegos.

GameWorks

GameWorks se ha utilizado en varios títulos de alto perfil

Hasta donde yo sé, no se ha encontrado ningún título de GameWorks que afecte el general  rendimiento de cualquier juego cuando se ejecuta en una tarjeta AMD Radeon. (Arkham Origins definitivamente inclinado hacia Nvidia , pero no por ningún motivo vinculado a una biblioteca de GameWorks). Es importante tener eso en cuenta. También es justo reconocer que después de los problemas que AMD tuvo con Intel y las travesuras de sus compiladores a principios de la década de 2000, tiene todas las razones para desconfiar de cualquier esfuerzo que pueda usarse para distorsionar el ecosistema de desarrolladores, particularmente cuando carece de los recursos necesarios. El enfoque centrado en el controlador de Nvidia.

GameWorks no va a desaparecer, lo que significa que estos problemas probablemente tampoco lo harán. Para ser claros, no deberían. La cuestión de cómo se realizan las optimizaciones del juego y qué empresas reciben qué consideraciones es fundamental para el soporte del dispositivo y la experiencia general del juego. Esta es un área en la que la gente no estará de acuerdo. Por favor, mantenga los comentarios cortés y la conversación cortés.

Copyright © Todos Los Derechos Reservados | 2007es.com