Cycles Viewport Rendering with RX 480 (4GB) slow and weird 3D cursor behavior?


I have a fairly complex scene (3.3M verts) so I decided to switch to Cycles GPU rendering (by changing the OpenCL device in User Pref). However the performance, to my surprise, actually seemed degraded compared to my Ryzen 1700. The viewport performance is slower and more laggy, meaning that not only does it take longer to respond when moving the view, but even the actual rendering (the 32 path tracing samples) is slower.

In addition, the 3D cursor seems to change so that it’s position is the same in camera coordinates instead of world or object coordinates (which is the behavior of the viewport using CPU).

Is this to be expected? Should I not expect a speed-up from Ryzen 1700 -> RX 480 4GB? I’m wondering if perhaps I have something misconfigured.

Does the scene fit in those 4GB (-space took by system and apps)?
It could be constantly shuffling around.

Also, what’s your tile size? For GPU without CPU I would try bigger, 128 or 256 tile size.

1 Like

Tiles are Hilbert Spiral, 64 x 64.

How do I check if the scene fits inside 4GB?

This is what task manager displays when I switch from CPU to OpenCL rendering.

I guess the performance is to be expected. Here’s Blender opendata, and it seems like the Ryzen 1800X performs similar to the RX 480 (if not a little better). I’ve overclocked my 1700, so it should match the 1800X’s performance.

Still confused about the cursor behavior though.

The RX 480 is about as fast as your CPU. Make sure your on the latest Driver.

Also if the GPU needs to use Mainmemory ( Which it can seamlessly compared to Nvidia ).
it gets a tad slower as the Data needs to be streamed over the PCI-X Bus.

Also make sure you use BIG Tiles. 256x256 is a minimum and ideal for Nvidia cards only. AMD Cards prefer bigger Tiles depending on the Complexity. You can start with 256x256 - i might even say 512x512 or quarter Resolution. You can also use 1 Tile but do NOT use progressive Refine if you want speed. The Card works basically independently until it has to shuffle data back where it gets interrupted. AMD Cards are pretty much compute Beasts but they need enough work to do to be utilized properly ( Too small tilesize the card may show 100% load but actually spends most of the time waiting for data ). Copying back and forth such as progressive uses is very ineffective for computational Stuff.

To summarize:
-Update your GPU Driver first from the amd website.
-Use BIGGER Tiles -> 256x256 as Minimum or set the Tilesize = Final Resolution or half of it.