The time limit isn't working when rendering multiple tiles. #92106

Open
opened 2021-10-11 09:47:44 +02:00 by tasos · 24 comments

System Information
Operating system: Windows-10-10.0.19041-SP0 64 Bits
Graphics card: NVIDIA GeForce RTX 2060/PCIe/SSE2 NVIDIA Corporation 4.5.0 NVIDIA 471.11

Blender Version
Broken: version: 3.0.0 Alpha, branch: master, commit date: 2021-10-09 19:40, hash: 79425ed326
Worked:

Short description of error
The time limit isn't working when rendering.
Here are my settings image.png

Exact steps for others to reproduce the error
Enable time limit and render an image

**System Information** Operating system: Windows-10-10.0.19041-SP0 64 Bits Graphics card: NVIDIA GeForce RTX 2060/PCIe/SSE2 NVIDIA Corporation 4.5.0 NVIDIA 471.11 **Blender Version** Broken: version: 3.0.0 Alpha, branch: master, commit date: 2021-10-09 19:40, hash: `79425ed326` Worked: **Short description of error** The time limit isn't working when rendering. Here are my settings ![image.png](https://archive.blender.org/developer/F10962034/image.png) **Exact steps for others to reproduce the error** Enable time limit and render an image
Author

Added subscriber: @TasosK

Added subscriber: @TasosK

#95786 was marked as duplicate of this issue

#95786 was marked as duplicate of this issue
Member

Added subscriber: @PratikPB2123

Added subscriber: @PratikPB2123

Added subscriber: @deadpin

Added subscriber: @deadpin

Changed status from 'Needs Triage' to: 'Needs User Info'

Changed status from 'Needs Triage' to: 'Needs User Info'

Rendering will stop if:

  • it run out of samples
  • it hits the noise threshold
  • it runs out of time

Whichever comes first.

Is that the case for your scene? Did it run out of samples or hit the noise threshold before the time limit?

Rendering will stop if: - it run out of samples - it hits the noise threshold - it runs out of time Whichever comes first. Is that the case for your scene? Did it run out of samples or hit the noise threshold before the time limit?
Author

I set the time limit to 10 minutes.
10 minutes passed and the render keeps on going, instead of stopping.

I set the time limit to 10 minutes. 10 minutes passed and the render keeps on going, instead of stopping.

Ah, that wasn't clear from your report - does it ever finish? You'll have to attach an example .blend file or provide some additional details. The time limit seems to work for me here. I tried 30 seconds and it stops after ~34 seconds here (it won't be exact).

Ah, that wasn't clear from your report - does it ever finish? You'll have to attach an example .blend file or provide some additional details. The time limit seems to work for me here. I tried 30 seconds and it stops after ~34 seconds here (it won't be exact).
Author

I can't upload the .blend file.
Instead of stopping rendering at 10 minutes it stops roughly at 14 minutes.
Also the aspect ratio of the image is 21:9, the resolution is 2560:1080, and it needs 2 tiles to render the image. Do you think this is the problem ?

I can't upload the .blend file. Instead of stopping rendering at 10 minutes it stops roughly at 14 minutes. Also the aspect ratio of the image is 21:9, the resolution is 2560:1080, and it needs 2 tiles to render the image. Do you think this is the problem ?

Changed status from 'Needs User Info' to: 'Confirmed'

Changed status from 'Needs User Info' to: 'Confirmed'

Ah, yes, that's it. Tiles are currently problematic when using the time limit as there's still design work to do there.

Ah, yes, that's it. Tiles are currently problematic when using the time limit as there's still design work to do there.
Jesse Yurkovich changed title from The time limit isn't working when rendering. to The time limit isn't working when rendering multiple tiles. 2021-10-11 12:08:39 +02:00
Author

Okay then. How can I set it to 1 tile only ? I rendring with cpu btw

Okay then. How can I set it to 1 tile only ? I rendring with cpu btw

If you really want to use the time limit then to force 1 tile do the following: Render properties -> Performance -> Memory -> Uncheck "Auto Tiles"

If you really want to use the time limit then to force 1 tile do the following: Render properties -> Performance -> Memory -> Uncheck "Auto Tiles"
Author

Thanks!

Thanks!
Member

Added subscriber: @leesonw

Added subscriber: @leesonw
Member

I tried this on the latest commit as it seemed to work. I tried setting the time limit to 30 sec and it stopped at 48. Then I tried 20 and it stopped at 29, the timer does seem to count down from 20 but I am guessing the limit is approximate as I believe it must render 1 whole set of pixels. Can you check if it still does not work for you?

I tried this on the latest commit as it seemed to work. I tried setting the time limit to 30 sec and it stopped at 48. Then I tried 20 and it stopped at 29, the timer does seem to count down from 20 but I am guessing the limit is approximate as I believe it must render 1 whole set of pixels. Can you check if it still does not work for you?

Yeah, it still doesn't "work", because it hasn't been decided what "work" really means when a time limit is used in the presence of tiles :) The time limit should be for the entire render, but a more appropriate example actually shows that it's instead working per tile today.

Take the following .blend. It sets a 20 second time limit and renders with a particular configuration to produce 6 tiles

  • 4 large tiles of 512x512 size with mostly quick to calculate content
  • 2 small tiles of 512x256 size with more difficult, slower to calculate, content
    #92106-tile-timelimit.blend

My CPU render time is very close to 120 seconds (a full 20 seconds per tile) even though that's not what I expected(?) and for which generates quite different sample counts for each tile etc.

I think this just needs to be a Design task until we can figure out what to do about the situation. There's multiple ways this can go ranging from "Disable time limit when tiles are in use" to "Attempt various ways of better dividing the time up for each tile based on area and content... somehow"

Yeah, it still doesn't "work", because it hasn't been decided what "work" really means when a time limit is used in the presence of tiles :) The time limit should be for the entire render, but a more appropriate example actually shows that it's instead working per tile today. Take the following .blend. It sets a 20 second time limit and renders with a particular configuration to produce 6 tiles - 4 large tiles of 512x512 size with mostly quick to calculate content - 2 small tiles of 512x256 size with more difficult, slower to calculate, content [#92106-tile-timelimit.blend](https://archive.blender.org/developer/F11116565/T92106-tile-timelimit.blend) My CPU render time is very close to 120 seconds (a full 20 seconds per tile) even though that's not what I expected(?) and for which generates quite different sample counts for each tile etc. I think this just needs to be a Design task until we can figure out what to do about the situation. There's multiple ways this can go ranging from "Disable time limit when tiles are in use" to "Attempt various ways of better dividing the time up for each tile based on area and content... somehow"
Member

Makes sense. I would guess that time needs to be divided up between all the pixels and the distributed according to the number of pixels in the tile. Logically I'd expect to have the time be the total render time not a per-tile time.

Makes sense. I would guess that time needs to be divided up between all the pixels and the distributed according to the number of pixels in the tile. Logically I'd expect to have the time be the total render time not a per-tile time.

Added subscriber: @juang3d

Added subscriber: @juang3d

It would be easier if the tiles would work in a progressive + additive multi pass way, so each time can be 10 seconds for example, and then count the total render time, when the render time reaches a point where it’s near a limit there maybe be a deviation of some seconds so the last tile reaches the same amount of samples as the other ones

It would be easier if the tiles would work in a progressive + additive multi pass way, so each time can be 10 seconds for example, and then count the total render time, when the render time reaches a point where it’s near a limit there maybe be a deviation of some seconds so the last tile reaches the same amount of samples as the other ones
Contributor

Added subscriber: @Raimund58

Added subscriber: @Raimund58
Member

Added subscriber: @ponomarovmax

Added subscriber: @ponomarovmax

Added subscriber: @blenderrocket

Added subscriber: @blenderrocket

Another problem to consider directly related to this, is that smaller/border tiles receive much more samples as currently they are given the same time limit as larger/full size tiles. This results in some very visible artefacts at the tile borders due to the different noise levels:

Schermafbeelding 2022-08-28 om 16.42.50.png

Another problem to consider directly related to this, is that smaller/border tiles receive much more samples as currently they are given the same time limit as larger/full size tiles. This results in some very visible artefacts at the tile borders due to the different noise levels: ![Schermafbeelding 2022-08-28 om 16.42.50.png](https://archive.blender.org/developer/F13426604/Schermafbeelding_2022-08-28_om_16.42.50.png)
Brecht Van Lommel added this to the Render & Cycles project 2023-02-07 19:08:35 +01:00
Philipp Oeser removed the
Interest
Render & Cycles
label 2023-02-09 14:02:58 +01:00
Sign in to join this conversation.
No Label
Interest
Alembic
Interest
Animation & Rigging
Interest
Asset Browser
Interest
Asset Browser Project Overview
Interest
Audio
Interest
Automated Testing
Interest
Blender Asset Bundle
Interest
BlendFile
Interest
Collada
Interest
Compatibility
Interest
Compositing
Interest
Core
Interest
Cycles
Interest
Dependency Graph
Interest
Development Management
Interest
EEVEE
Interest
EEVEE & Viewport
Interest
Freestyle
Interest
Geometry Nodes
Interest
Grease Pencil
Interest
ID Management
Interest
Images & Movies
Interest
Import Export
Interest
Line Art
Interest
Masking
Interest
Metal
Interest
Modeling
Interest
Modifiers
Interest
Motion Tracking
Interest
Nodes & Physics
Interest
OpenGL
Interest
Overlay
Interest
Overrides
Interest
Performance
Interest
Physics
Interest
Pipeline, Assets & IO
Interest
Platforms, Builds & Tests
Interest
Python API
Interest
Render & Cycles
Interest
Render Pipeline
Interest
Sculpt, Paint & Texture
Interest
Text Editor
Interest
Translations
Interest
Triaging
Interest
Undo
Interest
USD
Interest
User Interface
Interest
UV Editing
Interest
VFX & Video
Interest
Video Sequencer
Interest
Virtual Reality
Interest
Vulkan
Interest
Wayland
Interest
Workbench
Interest: X11
Legacy
Blender 2.8 Project
Legacy
Milestone 1: Basic, Local Asset Browser
Legacy
OpenGL Error
Meta
Good First Issue
Meta
Papercut
Meta
Retrospective
Meta
Security
Module
Animation & Rigging
Module
Core
Module
Development Management
Module
EEVEE & Viewport
Module
Grease Pencil
Module
Modeling
Module
Nodes & Physics
Module
Pipeline, Assets & IO
Module
Platforms, Builds & Tests
Module
Python API
Module
Render & Cycles
Module
Sculpt, Paint & Texture
Module
Triaging
Module
User Interface
Module
VFX & Video
Platform
FreeBSD
Platform
Linux
Platform
macOS
Platform
Windows
Priority
High
Priority
Low
Priority
Normal
Priority
Unbreak Now!
Status
Archived
Status
Confirmed
Status
Duplicate
Status
Needs Info from Developers
Status
Needs Information from User
Status
Needs Triage
Status
Resolved
Type
Bug
Type
Design
Type
Known Issue
Type
Patch
Type
Report
Type
To Do
No Milestone
No Assignees
8 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: blender/blender#92106
No description provided.