[Bf-cycles] Proposal to remove tile size option

Greg Zaal gregzzmail at gmail.com
Fri Jan 6 11:56:29 CET 2017

Just to throw my voice in as a user: This sounds good to me. Many users
don't know about the drastic performance changes that come from adjusting
the tile size, so when rendering with GPU they leave it as 64x64 which is
rather suboptimal.

Apart from obvious performance changes with GPU rendering, manually
adjustable tile sizes also allows the user to avoid getting stuck rendering
a particularly difficult tile at the end with only one CPU thread (or one
of multiple GPUs), with the other threads already finished their tiles and
now doing nothing - in this case they could make the tiles smaller so that
all threads can work on the problem area. If the proposed solution includes
allowing multiple threads to render different sample sets in the same tile,
that sounds like a perfect solution :)

To address James's concern - the tile size option is only useful because we
have to set it manually. If it were calculated automatically or didn't have
such an impact on performance, you wouldn't need it.

On Thu, 5 Jan 2017 at 13:19 Brecht Van Lommel <brechtvanlommel at pandora.be>

I think this is definitely the right direction to go in, we should try
to make it so the tile size has no significant influence on
performance, and let the device determine the appropriate number of
pixels to render at a time.

For GPUs that would be bigger tiles or multiple samples as you say,
for the CPU you might have multiple cores working on the same tile
eventually as well.

On Thu, Jan 5, 2017 at 11:32 AM, Thomas Dinges <blender at dingto.org> wrote:
> Hi Mai,
> Less UI options is always better in my opinion. From what I read online,
> optimal tile sizes are still one of the biggest error sources when it
> to performance. If we can hide this logic from the user and do it
> automatically, we should definitely do it.
> Best regards,
> Thomas
> Am 05.01.2017 um 11:20 schrieb Mai Lavelle:
> Hi everyone,
> I'd like to propose the removal of the tile size setting. This setting can
> be hard for artists to set correctly, as how it affects performance is not
> always clear. While working with the split kernel I've found that in some
> situations there is no good choice, the user simply can't know all the
> factors in play, and will likely end up setting the tile size to something
> ridiculously large to compensate. There's also the situation of switching
> devices or machines, the size chosen for a file on one system when opened
> another may no longer be the best choice.
> Being such an important factor in performance, along with the difficulty
> setting it properly, I think that tile size should be chosen automatically
> by the render engine. Or rather, I think device work load should not be a
> user level setting.
> Implementation should be mostly straight forward. Idea is to decouple tile
> size from work load by using a fixed tile size such as 32x32 (or maybe
> provide a limited set of options) for all renders and have the path
> logic acquire and render at once a number of tiles to saturate the device.
> This way artists don't need to worry about setting a good tile size, each
> device type will know how much work it needs and request that much work
> the tile manager without user intervention.
> Changes to path tracing code should be pretty simple, mainly need to pass
> array of sample ranges and their corresponding buffers to the kernel. For
> final renders the device could request multiple tile samples from the same
> tile to render at once. For preview one sample from multiple tiles would
> rendered.
> The main problem I can see at the moment is the save buffers option, which
> expects the user set tile size to match exactly what tile size the render
> engine updates buffers with. A possible solution is to have the save
> option query the render engine for which tile size it uses.
> Any input, either on implementation or reasons for or against doing this,
> would be much appreciated.
> Thanks,
> Mai
> _______________________________________________
> Bf-cycles mailing list
> Bf-cycles at blender.org
> https://lists.blender.org/mailman/listinfo/bf-cycles
> _______________________________________________
> Bf-cycles mailing list
> Bf-cycles at blender.org
> https://lists.blender.org/mailman/listinfo/bf-cycles
Bf-cycles mailing list
Bf-cycles at blender.org
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.blender.org/pipermail/bf-cycles/attachments/20170106/55fb229f/attachment.htm 

More information about the Bf-cycles mailing list