¿Cómo afecta la prioridad en Windows 10?

Queremos comprobar el efecto que tiene la prioridad que asignemos a un proceso en su rendimiento.

Para ello, vamos a ver el tiempo que tarda en renderizarse un vídeo asignándole diversas prioridades al programa de compresión de vídeo, en este caso, Handbrake 1.3.1.

El archivo a comprimir es un archivo de 48 segundos en formato MP4 x264, 6,27Mb de tamaño y resolución 1080p 60fps. Lo vamos a comprimir a MP4 x264 1080p 30fps.

El ordenador utilizado es el siguiente:

Procesador: AMD Ryzen 7 3700X
Gráfica: MSI GeForce RTX 2060 VENTUS OC 6GiB
RAM: 16GiB
SSD: Crucial MX500
SO: Windows 10 Pro 64 bits Versión 1909.

Prioridad en un solo proceso

Vamos a renderizar el mismo video 5 veces en prioridad alta y baja, y tomaremos la media de los tiempos como referencia.

a) Prioridad Alta

Intento Tiempo
1
6 segundos
2
5 segundos
3
5 segundos
4
5 segundos
5
5 segundos
Media
5 segundos



Tiempo1: 2:47 minutos
Tiempo2: 3:09 minutos
Tiempo3: 2:53 minutos
Tiempo4: 3:03 minutos
Tiempo5: 3:11 minutos

Media: 3:01 minutos

b) Prioridad Baja

Intento Tiempo
1
5 segundos
2
5 segundos
3
5 segundos
4
5 segundos
5
5 segundos
Media
5 segundos
Tiempo1: 2:55 minutos
Tiempo2: 2:27 minutos
Tiempo3: 3:17 minutos
Tiempo4: 3:03 minutos
Tiempo5: 3:10 minutos

Media: 2:59 minutos


El tiempo medio obtenido en ambos intentos es el mismo. A priori podemos pensar que la prioridad no afecta en absoluto al rendimiento de un proceso, pero... ¿qué pasaría si el procesador estuviese sobrecargado y tuviese que repartir sus recursos entre los distintos programas?

Prioridad cuando compiten varios procesos

Vamos a utilizar un software de Benchmark (Blender Benchmark 2.82) al mismo tiempo que comprimimos vídeo para aumentar al máximo la carga del procesador. Bajo estas condiciones vamos a realizar la misma prueba).

a) Prioridad Alta

Intento Tiempo
1
8 segundos
2
8 segundos
3
8 segundos
4
8 segundos
5
8 segundos
Media
8 segundos

El Benchmark inicialmente estaba consumiendo el 99% del procesador

Al iniciar el renderizado en prioridad alta, el uso de del procesador se repartió equitativamente entre ambos procesos


b) Prioridad Baja

Al usar la prioridad baja, la carga del procesador se divide de forma muy distinta a la anterior.

El proceso deja de "pelear" con el Benchmark, apenas le presta recursos y estima un tiempo de renderizado de más de una hora.


En cuanto el Benchmark actual se completa y carga la nueva escena, el procesador aprovecha y renderiza prácticamente al instante el vídeo (siendo el tiempo empleado un total de 2:40 minutos)

Debido a las variables que interfieren en el cálculo del tiempo de renderizado de este apartado, no creo que esos datos sean relevantes a la hora de sacar conclusiones.

c) Prioridad Normal

Intento Tiempo
1
10 segundos
2
9 segundos
3
9 segundos
4
9 segundos
5
9 segundos
Media
9 segundos

Al utilizar la prioridad media, se obtiene un rendimiento casi idéntico al de la prioridad alta.


d) Prioridad Por debajo de lo normal

Intento Tiempo
1
39 segundos
2
19 segundos
3
20 segundos
4
27 segundos
5
26 segundos
Media
21 segundos

Con prioridad por debajo de lo normal, el procesador destina al proceso Handbrake entre un 40% y un 5% de los recursos. Iniciaba en el valor más alto e iba descendiendo conforme iba avanzando el renderizado



e) Prioridad Tiempo real

Al aplicar esta prioridad el ordenador se congelaba al renderizar el vídeo. Por ello, no puedo ver el uso del procesador que hacía el Handbrake durante este tiempo, pero el tiempo de renderizado eran 8 segundos (igual que en prioridad alta), por lo que supongo que estaría en torno al 50% de uso también.

Conclusiones

Cuando el procesador no está sobrecargado, el tiempo que tarda en renderizar un vídeo no depende de las prioridades del proceso. Hemos tardado una media de 3:01 minutos en renderizar un vídeo asigándole prioridad alta, mientras que en prioridad baja el tiempo ha sido de 2:59 minutos.

En cambio, cuando el procesador está en situación de estrés, la diferencia de rendimiento entre una prioridad y otra es muy notable: 
  1. Hemos tardado 8 segundos en renderizar un vídeo en un proceso con prioridad Alta, mientras que en prioridad Baja el tiempo estimado era de más de 1 hora.
  2. Utilizar la prioridad Media (9 segundos) y En tiempo real (8 segundos) nos da un rendimiento casi idéntico que al usar prioridad alta.
  3. El único punto medio se da en la prioridad Por debajo de lo normal, que tardaba entre 2 y 3 veces más en renderizar que Tiempo Real, Alta y Media


He puesto el tiempo de renderizado en Prioridad Baja como 50s para que se pueda leer el gráfico (en realidad el programa estimaba más de 3600s)


Como conclusión, si de verdad se quiere dar prioridad a un proceso con respecto a otro, lo mejor no es aumentarle a ese la prioridad, sino disminuírsela al otro (la prioridad Por debajo de lo normal sería lo más equilibrado, ya que Baja anula casi por completo al proceso)

Comentarios

  1. MSI GeForce RTX 2060 in UAE, Super Gaming X 8GB GDRR6 in UAE, G-SYNC Turing Architecture Graphics Card in UAE
    https://pcdubai.com/msi-geforce-rtx/
    MSI GeForce RTX 2060 in UAE, Safe Shopping Multiple Payment Options Express Delivery PC Dubai Moneyback Guarantee.
    1633157883039-11

    ResponderEliminar

Publicar un comentario

Entradas populares de este blog

RAID 0 y RAID 1 en Windows 11

Consumo eléctrico de monitores LED y CFFL

Pruebas de estrés a Procesador y Tarjeta Gráfica antiguos