Comparte
Ir abajo
Admin
Admin
Mensajes : 60
Fecha de inscripción : 11/07/2018
http://www.clannorax.com

Mejoras de optimización y rendimiento en la 3.3

el Miér Sep 12, 2018 3:25 am
Os dejo aquí un texto de Adamanter (os aconsejo su podcast "Conversaciones en el espectro" que podéis encontrar en IVOOX) sacado del foro media vida sobre las mejoras que podemos esperar de rendimiento en la 3.3 de Star Citizen.

"El OCS y el NBC, cómo funcionan

El Object Container Streaming (OCS) y el Network Bind Culling (NBC) son dos tecnología de optimización de la gestión y transmisión de datos a través de la red cuyo fin último, junto con la tecnología de Variables Serializadas (SV), es minimizar la cantidad de datos que el cliente del juego tiene que manejar.

Ambas tecnologías, junto con las Variables Serializadas, funcionan de la siguiente forma:

1. El OCS:
Esta tecnología estructura la información de todos los objetos del juego de forma jerárquica para optimizar el tráfico de datos por la red.
Así, se divide el mapa del juego en contenedores embebidos de forma que todo en el mapa son contenedores que contienen otros contenedores.
Estos contenedores están jerarquizados de forma similar a un directorio de ordenador; ejemplo: Sistema solar / Planetas / Lunas y estaciones / emplazamientos sobre las lunas / habitaciones y hangares en los emplazamientos / naves espaciales en los hangares / cajas en el interior de las naves espaciales
Cada nivel en esta jerarquía tiene distintos tipos de información que varían en los detalles, de forma que sólo se accede a la información que hay en el contenedor que se "ve"; por ejemplo, al acercarnos a una estación en órbita de un planeta vamos a ver la estación pero no recibiremos información alguna de lo que hay dentro de la estación porque el interior es un contenedor diferente que no "se ve".

2. El NBC:
Esta tecnología determina de qué entidades recibimos datos o cuales han de eliminarse de la memoria del ordenador porque entran o salen del rango de visibilidad.
El NBC sabe el tamaño de los objetos (naves, estaciones, satélites, planetas, etc.) y también sabe a qué distancia esos objetos tienen un tamaño de 1 pixel en nuestras pantallas. Tan pronto como un objeto alcanza el tamaño de 1 pixel el NBC carga los datos de ese contendor (el primer nivel de datos) y viceversa, tan pronto como un contendor tiene un tamaño inferior a 1 pixel el NBC descarga de la memoria los datos de ese contenedor.

3. Funcionamiento:
Como se dijo en el apartado anterior el NBC determina de qué objeto cargamos o descargamos datos y el OCS se encarga de mandar (o retirar) sólo los datos que verdaderamente necesitamos dependiendo de nuestra distancia al objeto en cuestión.
Por ejemplo, si detectamos un objeto en el radar el OCS mandará sólo la información relativa a la posición del objeto, su velocidad, el tipo de objeto que es, y poco más, pero no cargará la malla, las texturas, etc. ya que no es visible.
Aquí es donde entran las Variables Serializadas que son las que permiten que cada vez que el OCS requiere una actualización al servidor sólo se carguen/descarguen los datos que han cambiado. Es decir, las Variables Serializadas reducen el tamaño de los paquetes de datos que se transmiten entre el servidor y el cliente.

4. Qué mejoras esperar:
El OCS y el NBC supondrán una mejora en el uso de la RAM al tener que gestionar exclusivamente la información que realmente necesitamos en lugar de tener cargada TODA la información de TODAS las entidades que nos rodean.
También debería notarse una ligera mejora del uso de la CPU al tener que procesar mucha menos información.
Las Variable Serializadas contribuyen a su vez mejorando la estabilidad de la red.

4. Lo que falta:
En el parche 3.3 vamos a tener la primera iteración del OCS y del NBC que afecta casi en exclusiva al cliente, por lo que sólo tendremos ganancia de rendimiento del lado del cliente, el servidor seguirá gestionando TODOS los datos de TODOS los contendores, es decir, no hay mejora del rendimiento del servidor.
Esto seguirá siendo así hasta que se cree la red de servidores (server meshing) que reparta la gestión de los contedores entre diferentes máquinas.
Esta es una tarea que requiere desarrollar más tecnología para lograr que los servidores se comuniquen entre sí y compartan información cuando se necesite de forma transparente y sin pérdida de datos.

Y esa es la información.
Como vengo diciendo desde hace muuuuuchos meses, este no va a ser un parche mágico y no vamos a tener 60 fps ni mucho menos (ojalá me equivoque), sin embargo, y también lo dije, la experiencia va a ser más fluída, tendremos fps más estables, y probablemente será el parche más "jugable" hasta la fecha.

Nota final:
Este es un resumen de la información sobre el OCS y el NBC que se dió en el AtV. Dado que no lo he visto y me baso en el resumen que se hizo en Spectrum: https://robertsspaceindustries.com/spectrum/community/SC/forum/3/thread/what-is-ocs-serialized-variables-how-do-they-work-, puede tener incorrecciones que corregiré en cuanto pueda.

Salu2 Smile"
--------------------------------------------------------------
Resumiendo, va a llegar una buena mejora del lado del cliente, pero falta la del server, así que irá mejor y será menos exigente con nuestros PCs el juego, pero aún le faltará para ser lo que queremos.

Link relacionado: reverse the verse
Volver arriba
Permisos de este foro:
No puedes responder a temas en este foro.