Max escribió:
...no?
No.
Max escribió:
...aumentando la RAM.....tal cual...pues creo que la latencia dismiinuirá.....por simples matemáticas.
Me encantaría ver el desarrollo "matemático" de lo que planteas.
Max, se valora la intensión de ayudar, pero para dar una repuesta hay que saber como funciona esto, lo que tu creas o como te parezca que deban ser las cosas no sirve lamentablemente, mas confunde que ayuda. Estas en un error porque no sabes como funciona esto y el insistir puede llevar a pensar al resto que tienes un punto, pero la verdad es que no tienes idea, disculpa que lo diga de esa forma, y no, no llevas razón, ni remotamente estas cerca de tener un punto valido.
Para empezar la latencia está asociada al tamaño del buffer, no hay mas, el mismo tamaño de buffer te dará la misma cantidad de latencia con 4 gigas de RAM o con 64, no variara en absolutamente nada porque depende de la cantidad de muestras, no de la velocidad o cantidad de la RAM. En ese buffer caven una cierta cantidad de muestras, y como el audio es información sincronizada que posee un periodo constante entre muestra y muestra, pues se puede saber exactamente cuanta latencia se generará con un buffer de determinado tamaño a determinada frecuencia, entre mas alta la frecuencia es menor el periodo por lo tanto mas muestras existirán en un segundo llenándose el buffer mas rápido existiendo una latencia menor al utilizar una frecuencia de muestreo mayor.
Luego, el rendimiento no hace que la latencia disminuya, lo que hace un mayor rendimiento es permitir seleccionar un tamaño de buffer mas pequeño sin perder muestras, si tu me dices que mas RAM puede aumentar el rendimiento y por ende hay menos latencia es un error ya que de lo que depende es de bajar el buffer finalmente, que si aumentas la RAM y te quedas con el mismo tamaño de buffer nada pasará, una cosa no implica la otra, por lo tanto el planteamiento está sumamente mal hecho, induce a error y a entender las cosas de una manera que no son.
Tercero, la RAM no es rendimiento, los algoritmos recurren a registros de memoria de tamaño insignificante, de lo que necesita un algoritmo mayoritariamente es de capacidad de proceso. Lo que mas utilizará RAM serán las muestras propiamente tales, cuya tasa de bits como explico mas atrás se puede calcular fácilmente, por ejemplo con 24 bits a una tasa de 44100 muestras por segundo tenemos un total de 1.058.400 bits por segundo, y la RAM hoy en día comienza de tamaños a partir del 1 Gb de capacidad, es decir incluso los procesos mas exigentes no requeriran grandes volúmenes de memoria como están pretendiendo pensar, y no es el exceso de RAM lo que los favorece, solo la cantidad necesaria, mas RAM no acelera el proceso, poca RAM lo puede retardar por la necesidad de utilizar el disco duro como memoria virtual, pero eso ya es otro problema, es dimensionar mal tu plataforma, si tu sistema operativo pide como mínimo 4 gigas y le metes 1, el problema es otro, pero el algoritmo funcionará a la misma velocidad, el retardo será debido a como digo que se utilizaran registros en el disco duro.
Lo que consume memoria es lo que se guardará para ser utilizado posteriormente, por ejemplo el cache de las paginas web, los samples, en fin, no es información que será procesada, solo mantenida en RAM hasta ser requerida, pero el proceso en si mismo necesita registros del orden de los kilobits, ya con eso el algoritmo operará con normalidad, y la data a ser procesada será la que requiera memoria, pero si la memoria es poca antes de darte latencia te dará un mensaje de error el software, no tiene nada que ver con la latencia, no están relacionados, mas RAM no da menor latencia, ni tampoco mayor rendimiento, el rendimiento se ve mermado cuando se utiliza el disco duro como memoria, y eso es un problema de dimensionamiento de la plataforma, no de latencias.