Rendimiento FL Studio 9

DrSharl
#16 por DrSharl el 24/09/2009
Bien, esto se debe a las aqui habladas Layers y Units. El mixer del FL Studio, no sabe cuanto consume un plugin, no sabe si tiene multithread, practicamente no sabe nada y los señores de image line se les ocurrio la idea de que se lo digamos nosotros al mixer. Pues bien eso es lo que hay que hacer. Cuando hemos metido los 3 plugins, solo habian 3 layers y una unit, que son:

Una la del master y los 99 tracks demas, otra la de los 4 send (100, 101, 102 y 103) y otra la del track 0, que es el Selected.

Bien al meter los 30 plugins se nos queda una estructura de 3 layers igualmente, pero 10 Units!!!!!
Archivos adjuntos ( para descargar)
3 Layers 10 Units.jpg
Subir
OFERTASVer todas
  • -6%
    Elektron Digitakt II (B-Stock)
    939 €
    Ver oferta
  • -13%
    Roland Juno-D6
    839 €
    Ver oferta
  • -40%
    Roland SPD-20 Pro BK Octapad
    398 €
    Ver oferta
DrSharl
#17 por DrSharl el 24/09/2009
Segun ibamos moviendo las tracks, comenzaba a aumentar el numero de layers, es decir al mover la 10 a la 9 en vez de al master, en vez de haber 3 layers, habian 4 y en vez de 10 units, habian 9 y asi sucesivamente.
Archivos adjuntos ( para descargar)
Subida de Layers y bajada de Units.jpg
Subir
DrSharl
#18 por DrSharl el 24/09/2009
Asi hasta que llegamos a todos los ruteos que hemos hecho y nos salen 12 layers y una sola unit. Ahi, es cuando esta disparado el consumo de CPU.
Archivos adjuntos ( para descargar)
12 Layers.jpg
Subir
DrSharl
#19 por DrSharl el 24/09/2009
La explicacion a todo esto es muy sencilla, segun Gol claro. A menor numero de layers, mayor rendimiento. A mayor numero de Units, mayor rendimiento. A menor numero de units y mayor de layers, peor rendimiento. Lo mejor que podemos hacer en los casos en los que tengamos muchas layers y pocas units es Switch Smart Disable For All Plugins.

Esta imagen es antes de pulsarlo.
Archivos adjuntos ( para descargar)
Pulsar Smart.jpg
Subir
DrSharl
#20 por DrSharl el 24/09/2009
Y esta despues.
Archivos adjuntos ( para descargar)
Smart 2%.jpg
Subir
DrSharl
#21 por DrSharl el 24/09/2009
Como podeis observar, se le quita toda la carga. Voy a explicarlo.Cuando tu abres un plugin en una track, este genera una carga de CPU en esa Unit (que seria el nucleo). Si abres otra instancia de ese mismo plugin en otra track que desemboca en el mismo sitio que la track que tiene el mismo plugin, este reduce su carga, porque se aplica el multithread al estar el mismo plugin en una layer y dos units diferentes. Si en vez de que las 2 tracks fueran al master, por ejemplo, fueran una track a la otra, el consumo seria bastante mayor. Pero si metemos cualquier otra track, que no tenga plugins, o los tenga de bajo consumo, en una de las que ya tienen plugin, no consumiria mas.

Espero que haya quedado por lo menos, medio claro, porque este es un tema muy muy muy delicado.

Si teneis preguntas, hacerlas.
Subir
jhbenav
#22 por jhbenav el 24/09/2009
Tienes toda la razón, es muy confuso.
Subir
Real_Kcan
#23 por Real_Kcan el 25/09/2009
:? :? :? :? Mmm.... Mmm....
Subir
DrN
#24 por DrN el 25/09/2009
Que wai. Es retorcidillo si este hilo pero me esta molando. Dadle duro chavales que esta interesante. Buen trabajo!!
Subir
_RxO_
#25 por _RxO_ el 25/09/2009
Hilo añadido a favoritos.. :lol: :lol:

A ver si con mas tiempo me lo leo detenidamente para comprender.

Gracias
Subir
PutoOver
#26 por PutoOver el 25/09/2009
Lo que descubrimos Sharl y yo, en el consumo del mixer es:

Que cuando cargas un plugin que ya has cargado no consume CPU o muy poco. Sin embargo, su haces un ruteo en el mixer en serie, con canales que estan cargados el susodicho plugin, vuelve a consumir. Esto produce que el FL se sature cuando el marcador de consumo del FL llega a niveles altos, aunque tu CPU este desahogada.

Ejemplo:

Cargamos un plugin de alto consumo en el track 1. Cargamos el mismo plugin en el track 2, track 3, track 4, etc.. el consumo de CPU apenas subira aunque hayamos metido un plugin que te consuma un 30% (por ekemplo).

En el momento que ruteemos en SERIE el track 1 con el track 2 y sucesivamente, el uso de CPU (segun FL) se disparara, provocando underruns.
Subir
DrN
#27 por DrN el 25/09/2009
PutoOver escribió:
Lo que descubrimos Sharl y yo, en el consumo del mixer es:

Que cuando cargas un plugin que ya has cargado no consume CPU o muy poco. Sin embargo, su haces un ruteo en el mixer en serie, con canales que estan cargados el susodicho plugin, vuelve a consumir. Esto produce que el FL se sature cuando el marcador de consumo del FL llega a niveles altos, aunque tu CPU este desahogada.

Ejemplo:

Cargamos un plugin de alto consumo en el track 1. Cargamos el mismo plugin en el track 2, track 3, track 4, etc.. el consumo de CPU apenas subira aunque hayamos metido un plugin que te consuma un 30% (por ekemplo).

En el momento que ruteemos en SERIE el track 1 con el track 2 y sucesivamente, el uso de CPU (segun FL) se disparara, provocando underruns.


Me parece logico que sea asi. Asi sin meternos en estudios mas profundos porque yo personalmente no soy un ingeniero ni un programador para meterme en camisas de once varas de las que luego no sepa salir, :mrgreen: ,pero a simple lógica:
Si un plugin esta cargado por ejemplo en dos pistas diferentes, Fl, trabajando a tiempo real, puede hacer lo siguiente. Cargar ese plugin (subprograma) en memoria, una sola vez. Dado que se esta utilizando en dos canales por ejemplo, y la posibilidad de enviar una cantidad "X"de datos es muy superior al que el de flujo real de bits de audio, puede enviar alternadamente los datos de un track y de otro con sus correspondientes parametros, y a traves de un solo subprograma tener el plugin trabajando en dos pistas.
Ahora bien, ruteamos la pista uno a la pista dos. Los datos entran al subprograma (plugin) con sus correspondientes parametros y se procesan. (ya hemos realizado la misma operacion, con su correspondiente demora temporal que en el caso anterior). Ahora bien, en el caso de que solo utilice un mismo subprograma tambien para la pista dos, los datos que se habran almacenado en un buffer temporal, vuelven a entrar con los parametros ahora de la pista dos. Esto conlleva muchas operaciones por lo que es mas eficiente volver a cargar otro subprograma de nuevo igual en memoria. Por lo que ya estamos ocupando mas cpu, tanto en procesos como en uso de memoria.
Vamos que mi opinion, si tienes un plugin en varios tracks al mismo tiempo el motor de audio puede apañarselas para teniendolo solo una vez en memoria (ese conjunto de instrucciones y funciones ocupando solo una vez al memoria) conseguir que las señales procedentes de varios tracks, con sus parametros del efectos (imaginemos por ejemplo el ratio de un compresor) sean procesadas.
Si despues hacemos ruteos mas complejos al programa no le queda mas remedio que utilizar acumuladores o buffers para reintroducir los valores en el subprograma, o bien crear ese mismo subprograma en otro "lugar" de la memoria para que trabaje independiente. Esto logicamente consume mas recursos.

Como ya digo es mi forma de abstraer de manera muy basica el funcionemiento de los motores de audio (que por cierto, luego al parecer cada uno es un mundo), por supuesto que puede ser muy simplista y ahora puede llegar cualquier informaitco a darle la vuelta a todo lo que he dicho. Pero he leido en mas de una ocasion que a grandes rasgos el sistema en que un daw trabaja con los plugins vst y nativos debe enfocarse como el de un gran estudio que utiliza dispositivos hardware y sumadores, combinadores, buses... para lograr sacarle el maximo partido a todo. Esto esquematicamente. Luego la diferencia es que a tiempo real un mismo subprograma puesto que la velocidad de proceso es mucho mayor que la del audio le de tiempo a procesar 4 señales o mas segun la latencia a la que estemos trabajando. Los plugins nativos de cualquier daw seran los que mejor entiendan a cada sistema y puedan hacerlo de esa manera. A lo mejor por ello a veces sacrifican la calidad, con sus execpciones claro, y por eso los vst independientes suelen ser mejores.
Subir
DrN
#28 por DrN el 25/09/2009
Booaaaaa menudo rollo :D :D :D
Ni leais lo anterior. Ahora mirando mi comentario, tiene sentido, pero es una paja mental de aqui a mañana.
Mejor resumirlo que desde mi punto de vista es mejor plantearse el tema del daw como un conjunto de buses con sus correspondientes plugins, con sus inputs y outputs, cuanta mas complejidad le exijamos mas recursos nos va a pedir.
El tema de la memoria me refiero mas al numero de veces que tiene que leer o escribir en esta, es decir. a lo que el procesador pide o pone datos en memoria mas que la cantidad de megas que estemos ocupando en total. Por eso es tan importante el numero de acumuladores que se utilice, de buffers, etc., incluso mas que la cantidad de memoria ocupada por programas o datos. Cuando hacemos un proyecto complejo para que rinda mejor, cuanto mas tengamos estas cosas presentes creo que mejor nos saldrá.
Subir
DrN
#29 por DrN el 25/09/2009
Y cambiando el tema y una duda que arrastro desde hace tiempo. Me he leido ya varios tutoriales de estos rapidos para optimizar windows (XP, que ya no lo utilizo por cierto), y he visto ya un par de veces una contradicción. Se trata a la hora de configurar el rendimiento, en algunos señala que lo mejor es marcar la opcion de "ajustar para mejor rendimiento de programas" (no se si son las palabras exactas), y en otros de "ajustar para mejor rendimiento de servicios en segundo plano". No me queda muy claro todavia...
Subir
DrSharl
#30 por DrSharl el 25/09/2009
DrN, lo mejor, como ya he dicho mas arriba, es la opción para programas. La explicación, simple, si lo pones para segundo plano, lo que hace es que si tienes un FL y Winrar descomprimiendo en segundo plano, la cpu trata por igual y con la misma prioridad a ambos. Si lo configuras para programas, todas las tareas en segundo plano irán mas lentas porque el programa que este al frente tiene prioridad. Es decir, FL tendría preferencia sobre winrar y si necesitara tirar de CPU, lo haría y winrar iria mas lento.
Subir
Nuevo post

Regístrate o para poder postear en este hilo