this post was submitted on 02 Feb 2024
481 points (97.4% liked)

Technology

59137 readers
2312 users here now

This is a most excellent place for technology news and articles.


Our Rules


  1. Follow the lemmy.world rules.
  2. Only tech related content.
  3. Be excellent to each another!
  4. Mod approved content bots can post up to 10 articles per day.
  5. Threads asking for personal tech support may be deleted.
  6. Politics threads may be removed.
  7. No memes allowed as posts, OK to post as comments.
  8. Only approved bots from the list below, to ask if your bot can be added please contact us.
  9. Check for duplicates before posting, duplicates may be removed

Approved Bots


founded 1 year ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 5 points 9 months ago (1 children)

What resolution? I'm guessing 64x48?

[–] [email protected] 16 points 9 months ago (1 children)

The strain of going from a 32 x 22 image to a 256 x 176 one is evident in how much longer this secondary image took to render. From 879.75 seconds (nearly 15 minutes) to 61,529.88 seconds (over 17 hours). Luckily, some optimisations and time-saving tweaks meant this could be brought down to 8,089.52, or near-ish two and a half hours.

Those are really reasonable values. I guess my laptop would take that long to render a 4k image as well.

[–] [email protected] 3 points 9 months ago (1 children)

Really depends on the complexity of the frame being rendered for how fast your laptop can render it

[–] [email protected] 1 points 9 months ago (1 children)

Ray tracing speed primary depends on the number of pixels, not the complexity of the scene.

[–] [email protected] 2 points 9 months ago* (last edited 9 months ago) (1 children)

The complexity of your scene makes a huge difference. If your scene has fewer things for light to bounce off of, doing the ray tracing is much faster

(Source: I do blender renders with cycles)

[–] [email protected] 2 points 9 months ago (1 children)

So I'm not exactly sure how Blender implements this. There can be a few details that can make a huge difference. Just for starters, is Blender rendering 100% ray tracing here, or is it a hybrid model with a rasterizer. Rasterizers tend to scale with the number of objects, while ray tracing scales with the number of pixels. A hybrid will be, obviously, something in between.

Then there is how it calculates collisions. There is a way to very quickly detect collisions of AABB boxes (basically rectangles that surround your more complicated object), but it takes a little effort to implement this and get the data structures right. You can actually do Good Enough sometimes by matching every ray to every AABB, and then you do more complex collision checking against what's left, but there's a certain scale where that breaks down.

Blender is generally very well done from what little I know of it, but I'm not sure how it handles all these tradeoffs.

[–] [email protected] 1 points 9 months ago

So, as far as I know the cycles engine does ray tracing until it hits a noise threshold, then does ai denoising for the final cleanup. You can see where the more visually complex parts of your render are, because it will take a lot longer to render to a less noisy state. I don't know specifics of how it works under the hood, but given how complex parts of your image take longer to tender to an acceptable threshold than simpler parts it seems obvious to me that render time scales with complexity.