¿Por qué Photoshop tarda tanto en renderizar una imagen con un filtro aplicado?

Realmente no tengo un problema con esto, pero estoy realmente interesado en cuál podría ser la respuesta ...

Digamos que voy a Photoshop y tengo una imagen, voy a Filtro y luego a Galería de filtros.

Al hacer clic en los filtros, se tarda unos 0,2 segundos en cargar algunos de ellos por completo. Esto se suma si quiero aplicar un filtro a un video completo.

Sin embargo, puedo renderizar una escena 3D en OpenGL en tiempo real con algunos efectos de procesamiento posterior para elegir, y cuando los hojeo, todo se renderiza instantáneamente (0.0079 s para ser precisos, solo 0.0001 s más que un cuadro sin Un efecto).

Entonces me preguntaba... ¿Photoshop no usa la GPU para aplicar estos efectos de filtro? ¿Los filtros tienen que compilarse cada vez que los selecciona? ¿Es solo que CS6 ahora se considera antiguo y mal optimizado?

Mi última teoría es que algunos efectos no pueden usar la GPU porque usan cierto algoritmo (particularmente el efecto de espátula) que específicamente necesita mirar los píxeles en orden, eso no funcionaría en paralelo.

Respuestas (1)

La velocidad es una cuestión de optimización, pero la optimización tiene el costo de la velocidad de implementación. Algunos de los filtros serían muy duros para la GPU, ya que no se pueden paralelizar. Además, Photoshop utiliza regularmente imágenes que son mucho más grandes de lo que la mayoría de las tarjetas permiten que sean las texturas.

Sí, es posible hacer renderizaciones en tiempo real que hagan todo tipo de cosas en la GPU. Sin embargo, debido a las limitaciones de flexibilidad, las películas todavía se hacen en la CPU con renderizaciones de fotogramas de un día.

Ahora Photoshop está destinado a la producción impresa y, en segundo lugar, a los medios fijos. Lo que hace por esto es suficiente. Claro que podrían gastar unos cuantos millones para rehacer todo su código base, pero ya sabes lo que es suficiente para su público objetivo. Además, la aplicación destinada a video AE está mucho más optimizada.

Pero si tiene un editor super opengl que hace todo en microsegundos, utilícelo en su lugar. ¿O es que necesitas cierta fexibilidad que no ofrece? Las funciones como Deshacer en realidad toman algún tiempo para hacer... Incluso si PS lo hiciera en la GPU, todavía necesita leer los búferes, etc.

En realidad sigo escuchando esto de la velocidad, pero no lo veo. La tendencia comenzó en algún momento de la década de 2000, pero aún 16 años después, estas aplicaciones súper aceleradas no se encuentran en todas las computadoras multimedia por alguna razón. Son muy lentos para llegar al mercado, existen, lo sé, pero todavía no están realmente aquí.