Unerico escribió: No seria entonces en cantidad de objetos diferentes, sobre todo porque cantidad se relaciona con capacidad de espacio y no con velocidad de acceso. Si fuera por cantidad de objetos diferentes tendria que tener la ventaja Xbox porque tiene un SSD mas grande en capacidad. Me suena que va mas por el lado de la carga inmediata del mapeado como forma de lograr eliminar las esperas, sobre todo en el online donde hay que combinar a todos los jugadores en un mismo mapa y nadie quiere tener que esperar demasiado en el lobby viendo la carga del mapa y hasta que la partida empiece.
Me parece que estas confundiendo capacidad de espacio con velocidad de acceso. Si la cuestion es que el SSD permite meter mas cosas entonces el disco de mas capacidad tiene ventaja porque tiene mas espacio para mas cosas adentro. La velocidad en cambio mejora la carga directa a pantalla (va a afectar en la carga de partidas al inicio y en el streaming posterior), pero no aumenta el espacio de lo que se tiene que meter adentro del disco.
No, todos entendemos que un juego al menos por ahora no va a ocupar 825GB, si un juego ocupa menos entonces la capacidad del disco no es diferencia a la hora de cargar un juego, tambien estamos hablando de juegos donde el escenario NO CABE en 16 gb de GDDR.
La diferencia a la hora de cargar texturas diferentes y objetos diferentes es que los extraes del SSD y los metes en la memoria gráfica a una velocidad y otra.
Hay un articulo en el hilo de PS5 que escribi de como funciona una tarjeta gráfica, pero en definitiva es que tu tienes que nutrir a la gráfica con los datos desde el SSD durante la ejecución del juego porque la gráfica tiene espacio limitado (en este caso 16 gb), entonces aunque tengas un juego que ocupe 1029001938 gb en el SSD la gráfica solo puede usar 16 gb simultáneos el resto de los datos debes sacarlos durante la ejecución del juego.
Debes desarrollar el juego para que a la vista no quede mas que la memoria gráfica con un margen y según avanzas en el juego ir cogiendo el SSD los datos que necesitas. A que velocidad los puedes coger? pues a la que te deje el SSD pues a esa velocidad podrás cambiar las texturas. Y por ello no es un problema de espacio en el SSD si no de espacio en el ancho de banda.
Si es pequeño y necesitas pasar muchas cosas a la gráfica, no dará tiempo y empezaran a aparecer cosas sin textura o a popear objetos. Si te excedes mucho podría ser capaz de no cargar ni los objetos y al final saturarias el controlador y se produciría un Freeze y posiblemente cierre de la aplicacion.
jose2488 escribió:nanoxxl escribió:eloskuro escribió: @nanoxxl Lo que digo es que Sony tiene que dar su solución. Microsoft ha dado la suya y me supongo que los de Sony no son tontos y harán algo similar.
Tú dices que siempre será 560GB/s y es mentira , por mucho que tenga dos canales y se use uno para el juego y otro para SO nunca llegará a 560GB/s
10 GB 560 GB/s dos canales , uno 280 GB/s
6 GB 336 GB/s dos canales , uno 168 GB/s
280 + 168 = 448 GB/s si usas un canal para juego y un canal para SO .
Cuello de botella si o si .
No chato no, parece que no te enteras.
@nowcry aclaraselo, que a mi.me d pereza repetirme a este mil veces las.cosas
Este post lo escribir ayer y lo perdi antes de dar a enviar, asique quiero ser breve.
En un PC normal:
La CPU tiene si memoria del sistema y la gráfica la suya, hasta hace unos años la CPU generaba una interrupción del ancho de banda completo a la hora de meter los datos en la GDDR. EN GDD5 solo había un canal de trasmisión y si la CPU lo cogia generaba una interrupcion. Hace ya tiempo esto cambio y la CPU hace un area de la memoria del sistema que es compartida con la grafica y es el controlador DMA (Direct Memory Access) junto con el I/O controler el de la GPU quien coge los datos cuando tiene un hueco de esta forma se evitaban interrupciones en momentos delicados habiendo otros momentos mejores para ellos.
El problema es que la velocidad de computacion de las GPU a subido mucho y la velocidad de las memorias y su capacidad no ha ido ni al 10% de rapido, una de las mejoras de GDDR6 es que ahora disponen de 2 canales es decir que la grafica puede usar uno de los dos canales para traspasar cosas, eso lo han juntado con el DMA y el DIrectStorage.
Por lo que la gráfica ahora puede acceder al SSD sin pasar por la CPU. Solo en SSD NVME en adelante, ademas puede hacer uso de la memoria compartida que le ha dejado la CPU como antes.
Osea que ahora es la grafica la que coge datos de todas partes cuando le viene "bien", pero el diseñador de hardware debe preocuparse de que haya ancho de banda con un solo canal para nutrir lo mas importante y es trabajo del programador de videojuegos hacer huecos para traer datos desde el SSD.
Que pasa en las consolas: Que la GDDR no solo esta en comunicacion con la CPU, si no con los demas controladores por estar compartida, es decir audio, internet, usb. La parte positiva es que siempre son los mismos dispositivos y nadie va agregar mas como si ocurre en un PC.
Entonces con tantos dispositivos pidiendo memoria y datos a la GDDR vamos a estar siempre si 1 canal de los 2?
Efectivamente no, partamos de la base de que si tu metes un archivo en la GDDR este se comporta como si fuera un RAID0, es decir 1 solo archivo siempre esta en los 8/10 Chips de memoria, por lo que les pides algo responden los 8/10 ocupando 1 carril de cada chip que contienen 2 por ser GDDR6.
Para evitarlo lógicamente hay que partir el sistema, se le niega al sistema el acceso al "RAID0" principal a la CPU y a todos los componentes que no seas la CPU y se pone un "RAID0" secundario que posiblemente sean 2 Chip para el sistema. Todo esto es software del controlador de bus PCI que lo controla la CPU y en realidad no hay separaciones fisicas. La GPU y todos los chips están conectados a un BUS y la gráfica puede acceder a todos pero la CPU no. De tal forma que cuando los controladores soliciten acceso es la CPU quien controla cuando los da y no tapa todos los segundos canales de cada chip. Solo el segundo canar de 2.
La diferencia radica en si quieres realizar distinción física entre los chips o no, hay que recordar que salvo en las interrupciones el resto del tiempo están FULL operativos. En XBOX han hecho una distinción por hardware ya que los chips del sistema van a 336 GB/s en vez de a 560 GB/s. Lo que significa que el desarrollador podra usar la GDDR del sistema (No se si MS permite el acceso al desarrollador a la memoria del sistema en internet hay informaciones contradictorias). Suponiendo que si tenga acceso los 336 GB/s tendrian dos canales y en los momentos de interrupcion solo iran a 178 GB/s. En cualquier caso basta con diseñar bien que procesos metes en ese momento. Si hicieramos una media de ancho de banda con las interrupciones saldría que el ancho de banda en la PS5 en los chips compartidos con el sistema andará cerca de los 400 GB/s. y en la Xbox seria de 278 GB/s de media. Si te ciñes a la media no creo que haya problemas.
De tal forma que la GPU siempre siene un ancho de banda decente, pero es trabajo del fabricante saber cuantas CU pone, que potencia de datos van a pedir y calcular los anchos de banda.
En PS5 podrian optar por otra solucion no contemplada y es que 5500 MB/s del SSD o 9000 MB en comprimido esta a la PAR que el DDR3 de antaño. Podrian usar parte del SSD como memoria RAM en concreto usando los mismos carriles de prioridad, usarian parte del ancho de banda del SSD para el sistema pero lo liberarias por completo para el la GPU con las memorias. Posiblemente no sea ni blanco ni negro, sea GRIS habra cosas que se podran meter ahi y otras que no pero, seguro que podran ahorrarse interrupciones en los canales.
En un estudio que me he hecho esto tiene que ver mucho con las cache por lo siguiente:
Una operación FP32 necesita 2 números FP32 (4 Bytes cada numero) para realizar una operación con ellos y ofrecer un resultado otro numero FP32 (4 Bytes).
Por lo que se necesitan 8 Bytes por operación para nutrir un aCU sin embargo la memoria principal si dividimos ancho de banda entre FLOPS saldría lo siguiente:
Xbox Series X 12 TFLOPS 560 GB/s B/F 0,04667
PlayStation 5 10.28 TFLOPS 448 GB/s B/F 0,04358
2080TI 13.4Tflops 616 GB/s B/F 0.04597
De ahí a 8 quien nutre? Pues las caches, las caches cogen datos repetitivos y los meten en las CU mucho mas rápido que la memoria global. Se sitúa que entre la cache L0 L1 L2 generalmente aportan casi todos los datos 97-100%. EN realidad la memoria global solo tiene conexión con L2 y es L1 quien pide a L2 y L2 al SOC Fabric (que es el famoso socket de comunicación entre GDDR y CPU).
Pero que pasara si estamos todo el tiempo renovando la GDDR, que las caches perderán efectividad ya que habrá que estar borrandolas y renovandolas cada menos tiempo, porque ya no habra tantos datos datos repetidos. Esto podría directamente sacar a relucir un cuello de botella que como digo tienes TODOS los aparatos existentes, sin las caches están todos jodidos.
Ahí es donde en Sony ha metido el Custom Chip, que contiene lo siguiente:
Coherency engines monitorizan las caches y con el DMA controler posiblemente sea capaz de modificar las caches por un canal externo. Los dos Two IO processor junto con el ON-Chip Ram volcaran hacen que el tiempo de respuesta en la búsqueda de datos sea instantánea en todo su espacio, y Kraken que esta activo junto con ZLIB para ganarle a Zlib un 10% extra comprimen los datos para mejorar los anchos de banda.
En Xbox en todas sus caracteristicas mencionadas, no encuentro ninguna. Quiza sea porque con el margen que tiene por tener 5 controladores de memoria y con la tasa de reposición que les da su SSD sea suficiente.
https://news.xbox.com/en-us/2020/03/16/xbox-series-x-glossary/KinderRey escribió:@nowcryQuizá no me he explicado bien, aunque yo creo que entre todos ha quedado bastante claro, pero lamentablemente obvias lo que no te interesa y cambias tu discurso sobre la marcha.
Que las PRT y por tanto el streaming de texturas existen desde al menos 2013 es algo que ya sabemos. No hace falta que copies y pegues documentación al respecto. Aquí lo que debatimos es su aplicación en el contexto actual de consolas next-gen con SSD customizados.
Que el SFS de XSX está complementado, refinado y potenciado por hardware a medida, el cual no forma parte ni de la especificación DX12U ni de RDNA2, es algo que está fuera de toda duda.
Que la unidad I/O de PS5 es muy interesante y con 22GB/s puntuales es una bestia parda es algo que también está fuera de toda duda.
Que en XSX han resuelto la ausencia de un canal I/O dedicado por otras vías, disminuyendo el overhead a una mínima fracción de un core de CPU, también se te ha explicado, y también obvias, desconozco la razón.
Todo este debate -que no discusión- comenzó por unos ejemplos de velocidades de streaming de texturas en los que incluías lo que se sabe de PS5 y omites lo que se sabe de XSX; se te ha explicado pero te limitas a practicar el ctrl+C y el ctrl+V de manera muy diligente.
Tu argumentación de base, "
eso ya lo tiene PS5, y si no lo tiene ya lo tendrá" está casi, casi a la misma altura de tu otra gran aportación, el ya famoso "
los ingenieros de Microsoft han puesto 4 CUs adicionales en la XSX por puro marketing"
Por favor, no intentes enterrarme en decenas de páginas de documentación sólo porque has encontrado un acrónimo haciendo ctrl+F, y no trates de confundir haciendo alusiones a técnicas como TSS de Turing en tu afán por mezclar cosas que no tienen nada que ver.
Insisto, esto no es una competición, sólo se puntualizan cálculos de ciencia ficción que parten de premisas erróneas. El que quiera verlo como una discusión de "y tu más" es libre de hacerlo.
Tu te has agarrado a que alguien ha dicho que tiene hardware en la xbox para SFS, pero en ningún momento te has parado a pensar en que ese hardware sea exclusivo, tampoco ha dicho que sea exclusivo de MS ni de Xbox Ser X, yo te digo que necesita hardware y lo he demostrado en como MS da la certificacion de DirectX12 Ultimate, tu afirmas que no forma parte de DIrect X12 ultimate, yo he encontrado la pagina de GIthud de MS "oficial de verdad" donde se habla como una caracteristica de DirectX12 Ultimate y necesaria para su certidicacion.
Te he enseñado la pagina oficial de RDNA2 donde consiguen la certificacion y la pagina oficial de Nvidia donde dice que ya la tenia porque esta dentro es lo mismo que Texture Space Shading y he puesto una conferencia en la que se habla de como funciona y como es. Y puedes observar que es lo mismo dividir las texturas en tramos, y no meterlas en la memoria para evitar perder anchos de banda y para saber que caras se ven y que no comparar con justo la anterior textura.
Que queréis ponerle la medalla a MS y queréis pensar que MS lo va tener y el resto del mundo no, por mi perfecto pero en todas mis explicaciones no estará tenido en cuenta, porque no es un elemento diferenciados. Haz tu las tuyas y ponlo si quieres. Pero yo no voy a alejar de lo que yo creo que sera.
En cuanto a lo de las 4 CU de MS las han puesto por marketing, estoy preparando una demostracion de como las 2 CU asimétricas y con ello las otras 20 pertenecientes a si mismo RDNACU quedan bastante infra alimentadas con respecto a L2 y L1.
Con respecto a las RDNACU que solo tienen 10 CU. En mi anterior estudio hay un fallo constante y es que he pensado que L1 dobla a L2 y lo reparti por igual a todas las CU, pero no es cierto, L1 se reparte entre 5 RDNACU y luego unas entre 10 y otras entre 11. Dejando las de 11 por debajo de las 10, y el otro fallo radica en compartir las necesidades, las RDNACU con 11 tienen mas necesidades que las RDNACU con 10, en mi estudio anterior eso quedaba diluido por repartir. Pero no te preocupes que en poco la saco.
El estudio sugiere que si usas las 11 CU a la vez en el RDNACU las 11 estaran INFRAALIMENTADAS en un % alto, y cuya única solución es desactivar las CU sobrante o usarlas cuando el ancho de banda lo permita.