system
Given the following post, respond as if you're commenting on Reddit:
human
ELI5: Why are fire animations, fogs and shadows in video games so demanding for graphic cards?
gpt
Imagine your graphics card is a famed renaissance painter named Giancarlo Pasquali Uberti sitting in a room. In this room is a canvas, paint, and a pneumatic messaging tube like they have at bank drive-thrus. Giancarlo also has a brother named Cirino Pasquali Uberti that he works with. Cirino can't paint, but he's great with customers and runs their shop. Cirino's job is to take orders for paintings, then send messages to Giancarlo that tell him what to paint. He can't fit big messages in the tube, though, it's real small, so each message tells Giancarlo how to paint a single object. A message might be like "Paint an apple 50cm from the left edge of the canvas, 20cm from the top". Giancarlo is very fast, but it takes him longer to finish a painting if he has to paint lots of individual things (it wastes time writing a message, sending the message through the tube, opening it up, reading it), or if he has to paint a really big canvas.

&nbsp;

Now, Cirino and Giancarlo are pretty smart, and they've figured out some tricks to make paintings go faster. Cirino takes great notes while talking to customers, and knows how far away each object in the painting is supposed to be. This is known as its depth. While Cirino isn't a good painter, he's very organized, so he sorts the messages by depth, closest object to furthest, and throws away any objects that are hidden behind something else. The only messages he sends to Giancarlo are just those objects that will be seen in the painting. This is way faster! Giancaralo knows that it's in order, so he doesn't have to waste time painting things that overlap. Since it takes time to paint an area of the canvas (the bigger the area, the more time), this is very efficient. Giancarlo doesn't have to paint over the same spots on the canvas at all, he just paints every spot once.

&nbsp;

Then comes a job to paint a still life with a frosted glass vase in it. Cirino sorts everything, and realizes there's a problem. The glass vase is translucent, you can see through it, so it changes how stuff behind it looks since it isn't totally clear. No amount of sorting can fix this, and he eventually realizes that Giancarlo is going to have to paint over the same spot twice to get the right look (remember, he can only tell Giancarlo to paint one object at a time in his messages). The clever brothers think about this for a while, and come up with an idea.

&nbsp;

Their new plan is to work on the same painting twice. First, they do what they usually do, sort all the solid objects front-to-back, and only paint the ones that can be seen. Second, they sort all the see-through objects back-to-front and Giancarlo paints each one in order, still careful not to paint any that would be hidden behind a solid object. Sorting the see-through objects back-to-front makes sure they look right if two see-through objects overlap, like if you're looking at that frosted vase through a stained glass window. It wouldn't look right if they painted the vase in front of the window! The results look great, but it's a lot more work than just painting solid objects.

&nbsp;

Now, for just a single vase it's not so bad, but once you have a scene with lots of smoke, fog, shadows, etc, Giancarlo spends a lot of time going over and over and over spots he's already painted to build up these translucent layers. This slows things down, and it's a big reason why your GPU struggles with these sorts of effects.