Cycles rendering is sometimes much slower than with 2.63a #32782

Closed
opened 2012-10-05 17:07:31 +02:00 by Kris Slazinski · 9 comments

%%%Hi, maybe it is not a bug, I don't know. Maybe it's due some changes in the Cycles render engine, but render times are sometimes much longer yhan on 2.63a. It's when you set render Tiles to 1x1. It supossed to be comparable to 2.63a render times, as it had no render tiles option, but on my system the render times are 2 times longer.

I've checked this on a MacBook Pro 13" Mid 2010. It has dual core processor and an nvidia GeForce 320M graphic card. I've had this results with the CPU rendering. I think it's something to do with processor cores. I have a dual core processor and I think that with 1x1 tiles Blender uses only one core.

Why not to use tiles render? While for animation purposes, when you render every frame with the same samples amount, the new tiles rendering option is really great, in some cases 1x1 (or none) tiles are bad option. Imagine you render an architectural visualization. You set your samples really high and hit render. With every sample you whole image gets cleaner. You don't have to wait till the last sample. You can stop rendering when you think it looks OK. So this "no tiles" (1x1 tiles) rendering is very handy, but with 2.64 you have to wait much longer for the results. In my case 2 times longer. If it really depends on the cores, users of the 4core processors will get 4 times worse results than with previous version.

Maybe this could be the solution - apart from changing tiles value, you could have an option to disable tiles rendering completely. You know, the "turn off" button. And when the tiles are turned off, every core works on the rendering.%%%

%%%Hi, maybe it is not a bug, I don't know. Maybe it's due some changes in the Cycles render engine, but render times are sometimes much longer yhan on 2.63a. It's when you set render Tiles to 1x1. It supossed to be comparable to 2.63a render times, as it had no render tiles option, but on my system the render times are 2 times longer. I've checked this on a MacBook Pro 13" Mid 2010. It has dual core processor and an nvidia GeForce 320M graphic card. I've had this results with the CPU rendering. I think it's something to do with processor cores. I have a dual core processor and I think that with 1x1 tiles Blender uses only one core. Why not to use tiles render? While for animation purposes, when you render every frame with the same samples amount, the new tiles rendering option is really great, in some cases 1x1 (or none) tiles are bad option. Imagine you render an architectural visualization. You set your samples really high and hit render. With every sample you whole image gets cleaner. You don't have to wait till the last sample. You can stop rendering when you think it looks OK. So this "no tiles" (1x1 tiles) rendering is very handy, but with 2.64 you have to wait much longer for the results. In my case 2 times longer. If it really depends on the cores, users of the 4core processors will get 4 times worse results than with previous version. Maybe this could be the solution - apart from changing tiles value, you could have an option to disable tiles rendering completely. You know, the "turn off" button. And when the tiles are turned off, every core works on the rendering.%%%
Author

Changed status to: 'Open'

Changed status to: 'Open'

%%%+1 although my render-times are better and sometimes much better, with tile rendering.

Maybe it's a bug making this regression for mallow.

+1 because non tile renderer was very useful for setting up one frame for rendering, at night, with master sample set to 0.
I think it would be nice to see it back as an option :)%%%

%%%+1 although my render-times are better and sometimes much better, with tile rendering. Maybe it's a bug making this regression for mallow. +1 because non tile renderer was very useful for setting up one frame for rendering, at night, with master sample set to 0. I think it would be nice to see it back as an option :)%%%

%%%P.S.

Tile 1x1 is of course slower for me too.
Tile rendering speed-ups only when I use more tiles.%%%

%%%P.S. Tile 1x1 is of course slower for me too. Tile rendering speed-ups only when I use more tiles.%%%

%%%Currently CPU threading is happening on tile level. It's much better for general purposes but indeed slower than non-tiled rendering in previous releases. We're aware of this issue and currently wouldn't consider this is a bug -- just something which could be handy to implement in current cycles basis.%%%

%%%Currently CPU threading is happening on tile level. It's much better for general purposes but indeed slower than non-tiled rendering in previous releases. We're aware of this issue and currently wouldn't consider this is a bug -- just something which could be handy to implement in current cycles basis.%%%

Changed status from 'Open' to: 'Archived'

Changed status from 'Open' to: 'Archived'
Author

%%%There are situations when non-tiled rendering is a far better way than tiles. Like the example mentioned by Przemyslaw Golab. In 2.64 it is slower rendering. 2 times slower with dual cores, 4 times slower with 4 cores, etc. A bug or a bad design, doesn't matter. It is a step (or a few) back. Please, reconsider closing this thread. If rendering was slower by a few percent, OK. But 2x, 4x or even 8x times slower?%%%

%%%There are situations when non-tiled rendering is a far better way than tiles. Like the example mentioned by Przemyslaw Golab. In 2.64 it is slower rendering. 2 times slower with dual cores, 4 times slower with 4 cores, etc. A bug or a bad design, doesn't matter. It is a step (or a few) back. Please, reconsider closing this thread. If rendering was slower by a few percent, OK. But 2x, 4x or even 8x times slower?%%%

%%%If you render on a GPU then you should as less tiles as possible. Ideally it is 1x1 at moment. Anything else is a trade of performance vs memory.

But if you use the CPU, then you should use many tiles. If you use only one tile on CPU (1x1) then only one core of the CPU will have something to do, because there is only one thread. I usually use 64x64 tiles on the CPU, even so the result will have less tiles (every tile has a minimum size).

The best way would be to use multiple threads and only one tile as the default on the CPU and only to use tiling if the user requests it. At the moment the user has to use different optimal settings depending on if he uses CPU or GPU for rendering.%%%

%%%If you render on a GPU then you should as less tiles as possible. Ideally it is 1x1 at moment. Anything else is a trade of performance vs memory. But if you use the CPU, then you should use many tiles. If you use only one tile on CPU (1x1) then only one core of the CPU will have something to do, because there is only one thread. I usually use 64x64 tiles on the CPU, even so the result will have less tiles (every tile has a minimum size). The best way would be to use multiple threads and only one tile as the default on the CPU and only to use tiling if the user requests it. At the moment the user has to use different optimal settings depending on if he uses CPU or GPU for rendering.%%%
Author

%%%And it would be best to let the user decide. Now - tile rendering is a speed up. Great for animations, for situations where you know exactly with how many samples you want to render your image. For still images it is a better way to set high samples value and stop the render whenever you want. this method was great on 2.63a, now it takes 2x, 4x or more render time.

Guys, tile rendering is a great feature, but if it's an option.%%%

%%%And it would be best to let the user decide. Now - tile rendering is a speed up. Great for animations, for situations where you know exactly with how many samples you want to render your image. For still images it is a better way to set high samples value and stop the render whenever you want. this method was great on 2.63a, now it takes 2x, 4x or more render time. Guys, tile rendering is a great feature, but if it's an option.%%%

%%%Hi, in my experience GPU rendering in 2.64 is much slower than 2.63a, no matter which tile setting I use.
And rendered mode in the viewport is slower than 2.63a too.

I set up a simple test scene with three Suzanne (subsurf level 2 and default glass shader), a ground plane with two walls (diffuse shader), and two emitting planes as lamps (see attached .blend file).

In Blender 2.63a the render time with 200 samples on my GPU (NVidia GT525M) is 2:47 (min:sec), while in 2.64, with the default 8x8 tiles, it renders in 3:55, over 40% slower!

I tried many other tile settings (1x1, 2x2, 2x4, 4x4, 12x8, 16x16, 32x32), with no luck: the suggested 1x1setting gave an even worse render time (4:00), and the best I could achieve is about 3:30 with 2x4, 2x2 and 4x4 tiles, still over 25% slower than 2.63a.

The Blender GPU benchmark (http://benchmark.cd3dtech.com/), with 5000 samples, takes 25:19 in 2.63a and 32:41 in 2.64 with 1x1 tiles, about 30% slower.

My system is as follows:

  CPU: Intel Core i7 2670QM@2.20 GHz
  RAM: 8192 MB
  GFX: nVidia Geforce GT525M 1024MB
  OS: Windows 7 Pro SP1, 64bit
  Drivers: NVidia WHQL drivers v306.23
  Blender: 2.64 r51026 64bit

%%%

%%%Hi, in my experience GPU rendering in 2.64 is much slower than 2.63a, no matter which tile setting I use. And rendered mode in the viewport is slower than 2.63a too. I set up a simple test scene with three Suzanne (subsurf level 2 and default glass shader), a ground plane with two walls (diffuse shader), and two emitting planes as lamps (see attached .blend file). In Blender 2.63a the render time with 200 samples on my GPU (NVidia GT525M) is 2:47 (min:sec), while in 2.64, with the default 8x8 tiles, it renders in 3:55, over 40% slower! I tried many other tile settings (1x1, 2x2, 2x4, 4x4, 12x8, 16x16, 32x32), with no luck: the suggested 1x1setting gave an even worse render time (4:00), and the best I could achieve is about 3:30 with 2x4, 2x2 and 4x4 tiles, still over 25% slower than 2.63a. The Blender GPU benchmark (http://benchmark.cd3dtech.com/), with 5000 samples, takes 25:19 in 2.63a and 32:41 in 2.64 with 1x1 tiles, about 30% slower. My system is as follows: ``` CPU: Intel Core i7 2670QM@2.20 GHz RAM: 8192 MB GFX: nVidia Geforce GT525M 1024MB OS: Windows 7 Pro SP1, 64bit Drivers: NVidia WHQL drivers v306.23 Blender: 2.64 r51026 64bit ``` %%%
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 project
No Assignees
5 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#32782
No description provided.