Core Cramps?


#2

Assuming your using 2.5x, in Render Settings, under Performance, check to see how many threads Blender is using to render - the number of threads should ideally equal the number of cores on the system. For a couple of reasons, I’d kind of expect to see a quad-core running slower than a 2-core if you aren’t using all 4 cores, even if the quads cores are nominally faster… Try saying that out loud after a couple of drinks!

If everything is fine there, then you’d need to start looking at software configuration and possibly the systems hardware (RAM speed, etc).


#3

If your C2 is at 5 GHz overclocked then it could be a little faster as there is no linear relation between number of cores and computing power - no perfect scalability. The other thing is settings in Blender and too low number of tiles.


#4

Hmmm, … and the laptops are responding better than the desktops. Interesting.


#5

I don’t think any computers are responding at all.


#6

Okay Dac77, I am confused. What’s the message here?


#7

We probably are not understanding each other. I am saying that even if computer “speaks” it is just voice synthesis and it is not a true response.


#8

Of course, … I’ve always known you have a great sense of humour


#9

Please, just explain. English is not my native language, and my native language has a different structure than English. I understand that you had problems with speed, and were not sure which processor to use, then someone answered, then I answered, then you wrote something about response, then we went completely apart and now I am not sure if you are not making fun of me or my Blender knowledge. I am sorry for this offtop, but I try to make good relations with all users of Blender, as it is important to me that with software thrives.


#10

Oh no. Truly, we’re not understanding each other. I can see that now. I thought your last statement was a joke. My native language is nothing like English too, so that makes two of us. Yes, I am concerned about PC performance and speed especially as concerns rendering with blender. I built two desktops (clones) 2-3months ago for the sole purpose of rendering. I fear my assembly is choked and I’m wondering where I went wrong. Its a 2.66Ghz quad core system, with 2GB RAM, 3GB swap space (also called page file or virtual memory in Windows) and SATA drive. The motherboard is Gigabyte EP45-UD3P.

I run blender on Fedora Linux and the OS identifies all cores. Blender’s setting for CPU/performance is the default but the gray value says 4. Hence, it appears to be identifying the processor correctly … Or should I go ahead and declare it explicitly? The builds are not performing as expected when compared to other builds in my ‘lab’ (2.4Ghz core2, 2GB RAM, Gigabyte board X38-DQ6 etc.).

In my tests, I borrowed some laptops (2.xx Ghz core2’s with 3+GB RAM). They were more forthcoming with renders than the new Quad-core based machines. They generally appeared more stable on the job than their desktop counterparts which leaves me to wonder if desktops are really efficient for rendering. (I know about rack-mounted render nodes … lets not go there yet) So, I hope you can understand my concern and I am sorry if I didn’t explain myself very well initially.


#11

Well, I understood that the Core2 is extremely overclocked and is working at 5 GHz (can happen but most people get from these a little over 4 GHz). So as I understand now the Core2 duo is the laptop computer. And it should work slower than the desktop quad.
It can actually happen. There are many things in scene and Blender setting that can do that. Especially if render is fast anyway the overhead due to initializing data for more cores may be more than the speedup due to more threads. It can also happen that in scene some part is more computing heavy and it stays longer in render while the rest of the cores have nothing to do - so it is good to keep number of tiles double of that with dualcore. There can be also problem with processor energy saving functions as it takes a little time to make it run in full speed after “sleep”, and the processor may be also throttling due to overheating.
P.S.
You probably know that but to be safe it is important to remember that more cores equals more needed memory.
Sorry for misunderstanding. I am good rather in literary English while the technical and everyday language are still hard for me.


#12

either the scenes your rendering are big enough to take up more than 2gb- yet less than the 3+gb of the laptops memory and start swapping to virtual memory which is slow, or your not using more than 2 render tiles, note that only one processor core can work on a tile at a time.

edit: too late.


#13

Sorry, … the word ‘tile’ is not adding up. Can any of you (dac77, fktt) explain what it stands for … in simple terms?

Is this a factory default. Are you saying that Core2 processors are overclocked … or you thought that I had overclocked them. I usually leave the CPU settings at their default (scared of frying my chips). The test subjects include desktops with core2 processors.

The lab looks like this:

  1. Some desktops with Pentium D – (performance is disappointing)
  2. Some desktops with Core2 (2.4Ghz) – (performance is surprisingly lower than the laptops)
  3. Some Laptops with Core2 (2.0Ghz - 2.53Ghz) – (best performance in the lot)
  4. Some desktops with Quad (2.66Ghz) – (Performance is below expectation)

The render info reads something like this:

Fra:2722 Ve:1917865 Fa:2836479 La:1 Mem: 1427.53 (790M, Peak 3433.03M) Time: 03.29.01 | Scene, Part 2-64

of course, that varies with PC. I understand the first to be the current frame being rendered, next to be the vertex count, followed by faces. What is La? The memory part is a bit confusing. Should I be looking at the Peak value? if so, then I can see your point. The desktops are all using 2GB RAM while the laptops are averaging 3.5GB.


#14

I actually thought you overclocked them on your own as I always do. But now I understand it is not so.

The mistery is solved. You wrote the desktops are all 2 GB and the Blender peak memory use for the scene render is more than 3 GB plus normal scene data in memory and system gives probably close to 4GB. For this kind of geometry heavy scene it is essential to have at least 4 GB RAM. The system just swaps all that data on a hard drive and it kills performance. It is even possible that you get better performance by limiting number of threads to 2 on the quads. On quad or six core processors most graphic artists are using 8 or 12 GB of RAM, as it is much better for rendering to have a lot of even cheap memory than less of high performance - which is opposite to gaming.
Shortly - you need more RAM.


#15

In the render properties there should be settings(performance panel) to set the amount of tiles to render.

That’s the tiles were speaking of. :slight_smile:


#16

Will do. I’ll keep that in view.

I’ve seen it. Thanks. Mine is at the default (x=8, y=8). How do I determine the right setting?


#17

well, as already mentioned, the best(most optimal) amount of tiles can vary between shot/scene.

generally if you have a image, lets say that is framed as such that only a part of the image is something raytrace heavy like refractive glass then the tiles/cores on that section will take more time, so it’s probably best to have a high enough amount of tiles so that once the frame’s rendering gets to that region there are enough tiles for all the cores to be busy on the region rather than some of the cores not having any tiles left to work on in the region…

hope that makes sense… :argh:


#18

Your emoticon says it all fktt.

I see this area has been subject to much analysis:
http://forums.nekochan.net/viewtopic.php?f=11&t=12685&sid=266d0936e823da4105afd3dac6b75832&start=30
I even found a scene for benchmarking:
http://www.eofw.org/bench/

None of my findings address the question: what is the tile setting really doing? What is a tile? What does the x=8,y=8 values imply. Is this similar to ‘buckets’ in distributed rendering using mental-ray?.


#19

Tiles is a general term but some software uses buckets name. You have 8x8=64 tiles which gives mean value of 16 tiles per thread assuming 4 threads, and it is high enough.


#20

I usually render in HD 1080 or 720, both are aspect ratio 16:9,
so that’s also what I usually use for my buckets/tiles 16*9.
Depending on the need you can also divide or multiply the aspect ratio by two,
the important thing though, it assures each tile is a prefect square,
not sure how much that actually affects the cpu but it would the gpu and/or simd(?), I’m sure. :slight_smile:


#21

There are a number of reasons why it could be slower,

l1,l2, and l3 cache size - if the dual core can keep more stuff in cache then it doesn’t have to wait on slower memory. If the cache is the same but split among four processors then effectively each processor is getting half as much cache as previously.

Smaller amount of main ram - maybe it is having to hit swap more on our quad core computer.

Different build configuration - your build used on your dual core could be optimized.

As others say - number of tiles - tiles divide up the scene into number of pieces for each render, the more tiles the better the load can be distributed between the processors. A small number of tiles and towards the end of the render the other processors will be doing nothing.