Bryce 7 on multi core machine

EricofSDEricofSD Posts: 0
edited December 1969 in Bryce Discussion

I have a dual socket multi core machine (12 actual cores - 24 threads) and Bryce only uses 3 or 4 of the 24 available threads. DS4 uses all the cores as does Poser and Terragen 2.

Someone suggested that there is a way to make Bryce see the other cores by making a virtual network and network rendering. I don't see how to do that.

Is there anything I can do to get Bryce to use all the cores? Or are we waiting for an update?

Thanks in advance.

Eric

«1

Comments

  • HoroHoro Posts: 10,069
    edited December 1969

    Bryce handles up to 8 processors, virtual or real ones. When in the development stage of 7.0/7.1, we had 16 supported cores for a moment. Each thread needs memory and Bryce, still being a 32 bit application with a 2 GB limit (which can be pushed up to about 3.2 GB by making it Large Address Aware), it was a question of how advanced computers the majority has. The compromise finally was 8 cores.

    There is a priority setting in the render options. Low Priority uses just 1 core, Normal Priority half and High Priority all - where all is 8.

    Network rendering also uses only 8 cores at max, provided the host is set to High Priority, all clients use all cores up to 8 as well. You can network render on one machine, but the overhead makes it slower than a direct render. I have on my Win 7 a virtual XP and 2000 installed and I can use three machine in one for network rendering. However, the virtual XP and 2000 only get one core, no more. So this scheme isn't of any help.

    Not all is lost, though. Provided your machine has the memory, you can open several instances of Bryce and render at High Priority on each instance. In your case, you could render 3 scenes at high priority and get all 24 cores busy. If you render animations, you can cut it in 3 and render each part in another instance of Bryce at full throttle. Then assemble the 3 parts with a movie application.

    A virtual core - a multithreaded virtual one - is not as powerful as a real core. It can take over between 10% and 20% of the work, while the real core takes 100% or nearly so. My best machine sports a i7, 4 core multithreaded and I've tested this. The next worse machine sports an i3, 4 core, not multi-threadable. It performs at over 60% of the i7, not just 50% or less (an i3 is less powerful than an i7).

  • EricofSDEricofSD Posts: 0
    edited December 1969

    Great info. Ok, i checked and the standard / default seems to be medium priority. I set it to high and you're right, it uses more cores. Used 12 of the 24 that resmon shows. 8 were at max. the other 4 were at low levels. So I assume that means it used 8 actual cores and 4 virtual cores.

    Thanks so much, this is a bit better but still not as fast as I'd like. I hope we will see an update. I'm sure others out there will be going to Beastie machines.

    My motherboard will take 8 core cpu's so when the price comes down a bit I plan on upgrading to two 8 cores that will have a high clock speed. Which is about the max for Poser and I suspect the max for DS. No need now.

    I did not try the xp virtual enviroment. I'm with you, it probably is not going to work well.

    When I go to network render there dialog box is blank and none of the buttons work. I assume that's because there are no other computers connected.

  • srieschsriesch Posts: 4,241
    edited December 1969

    EricofSD said:
    When I go to network render there dialog box is blank and none of the buttons work. I assume that's because there are no other computers connected.

    If you aren't rendering anything, this will happen, even if you have LIghtning set up and ready to render on another connected computer.

    To actually use Bryce Lightning and see something in that window:
    Run Bryce Lightning on a 2nd PC. In the 1st PC's Bryce, go to the menu bar and select file > Render Animation... : If you are rendering a single image and not animation, change the Output Module dropdown to BMP Sequence. Set the file location, check "Render on Network" and press the configure button. Press the Search button; it should add a green dot for your 2nd computer. Press the checkmarks to exit all the way out and start the render. Now the Network Render Manager window will be displayed, showing the status of the render in progress.


    At this point, you can press the checkmark to exit and get back to the Bryce main window, and then from there also select File > Network Render Manager to see the progress again.

  • HoroHoro Posts: 10,069
    edited December 1969

    And - you can start Lightning on the host computer as well, so it does not only distribute tiles (use Tile Optimization for stills, but not for animations) but participates in the number crunching.

  • Peter FulfordPeter Fulford Posts: 1,325
    edited December 1969

    How does Bryce respond to a single 6 core processor (six physical cores + six virtual)?

    Don't think I justify a dual Xeon workstation but am considering an i7-3930K based setup. Still a pretty penny so wouldn't want to end up with Bryce using only four cores or something daft.

  • srieschsriesch Posts: 4,241
    edited September 2012

    I don't know about virtual cores or the i7, but I can see Bryce using all 6 physical cores on my machine via CPU usage in Windows Task Manager.

    Post edited by sriesch on
  • HoroHoro Posts: 10,069
    edited December 1969

    As far as I can say, Bryce takes all the physical ones first before it resorts to the virtual ones. In your case, Peter, This would bee 6 real cores and 2 virtual cores in high priority. I base this assumption on my experience with a 4 core i7, multi-threaded. In normal mode, it takes all 4 physical cores, in high priority it adds the virtual ones.

  • boogazmboogazm Posts: 9
    edited December 1969

    I´ve just upgraded to a i7 3930k and has been puzzled by the way it handles Bryce renders. It doesn´t use all threads all the time, it´s varying between 6 up to all 12, but the load on them varies. The CPU usage during a render seems to depend on the complexity of the scene and the computations needed, but for my scenes it´s often been no more than 20-30% most of the time then it suddenly jumps up to over 60% for a short period then it goes down again!? I had expected a CPU usage much higher, 90-100% and a constant load on all threads during the whole render. But hearing that it´s limited to 8 threads makes sense, had figured out some software limitation, but it seems that Bryce (system) sometimes makes use of more than 8 threads at the same time. But what is a bit annoying is that it doesn´t even use 8 threads, not even the six cores at full load!?

  • Peter FulfordPeter Fulford Posts: 1,325
    edited December 1969

    That's interesting and worrying. I note that EricofSD has mentioned on his Renderosity thread that Bryce is a little random on processor use on his dual Xeon setup. One time it's 6 physical cores maxed with two virtuals at 20%; another time it's 6 physicals at 80% and 6 virtuals at 10%.

    Having loaded the current 7.1 only this week (don't ask), I was a bit surprised to seeing it use only 75% of all 4 physical cores (don't have any virtuals) on a complex scene set in high priority mode. On Bryce6 it definitely maxed out the cores.

    If the current Bryce doesn't make full use of the CPU, I don't feel too much urgency to upgrade (since, as time didn't allow digital video to get off the ground for me, I don't have another need). And considering that Intel has decided (probably due to its alliance with Apple) to make its primary PC desktop processor (Sandybridge E) incompatible with Thunderbolt, the hex core is much less appealing.

    All a bit of a git, really.

  • boogazmboogazm Posts: 9
    edited December 1969

    Made a 640x480 render test! On my old dual core/4 threads/2.2Ghz, the CPU load was just about 65% throughout the whole render of the scene, on the six core/12 threads/3.2Ghz it oscillated around 25%. But the new machine still cut render time down to less than a third of the old one!? So it´s not a complete waste of money but maybe you could achieve the same gain on the new 4 core/8 threads processors!?

    I´m confused about the CPU usage on both machines, it´s like Bryce uses less computing power when the render is less complex instead of doing the less demanding parts faster!? Could it be that Bryce gets lazy when there´s little to do, so the result is longer render times!???

  • HoroHoro Posts: 10,069
    edited December 1969

    I'm not sure how the work is distributed. There are scenes when the 8-way i7 is nearly maxed out - 98 to 100% and then it goes down and up again. There are changes of CPU usage within a scene. One would think that each ray fired will get another CPU, If the ray hits a solid object without transparency or reflection, it may have the result much earlier than if it bounces off many surfaces until it exhausts. That would account for the different loads. At least when network rendering, it can be observed that tiles need different times to finish.

  • boogazmboogazm Posts: 9
    edited December 1969

    Just to make things more confused I made the same 640X480 render on an Intel core i7-2677M laptop with 2 cores/4 threads, 1,8 GHz with turbo boost getting it up to a stable 2,4 GHZ during render! Almost the same specs as my old 2,2 GHz machine.but the laptop cut render times a lot, 77 minutes compared to 172 min for the old one. The CPU-usage was above 70%, only short dips down, never under 60% but hitting 99% lots of times! The six core machine, maxing it out at 3,5 GHz with turbo boost enabled, did the same render in 47 minutes, at a CPU usage of mostly around 25%! Bad result for the extra CPU power!!!

    When increasing the size of the rendered scene on the laptop, the CPU-usage increased too, which seems to fit the Brycean logic. A positive interpretation of all these numbers are that a more powerful CPU will give you more "headroom" for rendering big and complex scenes in Bryce, whereas the laptop would hit the ceiling when render size and complexity of scenes increase!? CPU-power in Bryce isn´t absolutely correlated to render times, it only opens up the potential for doing big things, or have I got it all wrong???

  • Peter FulfordPeter Fulford Posts: 1,325
    edited December 1969

    boogazm said:
    Bad result for the extra CPU power!!!

    So bad I'd check carefully that Bryce is actually rendering in high priority mode. Make sure it's properly set just before you press the render button.

  • LordHardDrivenLordHardDriven Posts: 937
    edited December 1969

    Lets cover a couple of points since some more people have joined the discussion that don't seem to be on the same page. If you leave the render priority set at normal you will only use half the cores available. However since Bryce only can handle a maximum of 8 cores it might mean just 4 cores rather then half of the number of cores physically on your motherboard. If you set the priority to low because you're doing something else it's just going to use one core. If you put it on high then it'll use all your cores up to a max of 8 cores.

    Now it has been observed by some that Bryce seems to be using more then 8 cores. Well that really shouldn't be possible. In testing they did manage to get Bryce to use more then 8 but the memory usage made it less desirable since Bryce is still stuck in the 32 bit realm and can only make use of a maximum of just under 4GB's and even then only by making Bryce Large Address Aware. So I'm wondering if those of you seeing more then 8 cores being used are actually seeing something else being done on your computer in the background, like a virus security scan for example? I mean does the way you view core usage allow you to actually see what a core is specifically being used for? Or are you just thinking, "Well I'm only running Bryce and this thing to monitor the cores so it must be Bryce?"

    What one needs to keep in mind though is that Bryce 7 Pro while a significant step forward for Bryce, is still behind the times. As stated already it's still in 32bit mode only. Now everybody and their brother was slow jumping on the 64 bit bandwagon I know I had a 64 bit based system as far as the hardware, that died of normal use and age before 64 bit apps and O/S's were even available. So if Bryce is still 32 bit then it's clearly behind the curve and not on the cutting edge, programming wise, that some like to think it is. Also as stated above Bryce was tested with more then 8 cores and worked but it was decided to not make it use more then 8 cores. Aside from the memory consumption though I figure a significant factor in that decision was that at that time very few people even had the ability to afford 8 cores. If you had it back then the only way possible was with a board able to run multiple multicore processors. So from a marketing prespective it wouldn't have made sense at the time to go more then 8 cores even if the memory issue wasn't a factor.

    The final thing people need to realize is that Bryce isn't a big money maker. I mean look at what's going on. They've been giving Bryce away for free for a good while and have even extended that give away for longer then originally intended. Now that's not because Daz is such a hugely profitable company they can afford to give away one of their main programs for free. It's because Bryce isn't a big money maker and by giving it away for free they're hoping to grow the market and interest for developing the next level of Bryce. By interest I don't mean how badly individuals want it. There are die hard Bryce fans that have been with Bryce from the beginning and they will always be interested in seeing Bryce improve, but they represent a fairly small niche market and so their interest wouldn't generate much money. No the interest I mean is large numbers of people using the program and being willing to buy an upgrade, enough for the money crunchers to examine and conclude that spending the money, time and resources to upgrade Bryce will be profitable.

  • HoroHoro Posts: 10,069
    edited December 1969

    When looking at the task manager and watching how many cores are busy is not a very reliable indication of what Bryce does. Bryce distributes the work according to the Priority setting. But in the opsystem, the priority can also be set for an application (in the task manager, processes tab, select the application and right click on it). And the opsys may also distribute some threads to other cores. Even when rendering at Low Priority, 8 cores may be working, though the added CPU usage shows only 12.5% (on an 8 way system). And then, there are a lot of processes running in the background. Comparing the time a render needs to finish with different priority settings may give a more usable answer.

  • boogazmboogazm Posts: 9
    edited December 1969

    _ PJF _ said:
    boogazm said:
    Bad result for the extra CPU power!!!

    So bad I'd check carefully that Bryce is actually rendering in high priority mode. Make sure it's properly set just before you press the render button.

    I always set priority to high, and seldom do anything else when Bryce is running. Got the old machines beside and a KVM-switch, not to bother the rendering one! Don´t want to slow it down further!

    I even used to turn off processes going on in the background, but only those I knew didn´t effect the system! So, ok, there´s processes going on in the background but don´t think those can be the explanation. And there´s no ongoing virus scan or windows defender checks of the hdd so I put the money on the OS, shuffling around processes!

    Made a screen dump early in the render, might be that the workload will be distributed to just 8 cores later on and the 4 threads remaining will evolve to be supports to the main ones, but don´t know right now!?

    Bryce_render_test_2.jpg
    948 x 495 - 167K
  • HoroHoro Posts: 10,069
    edited December 1969

    Testing should be done with a defined scene. Here's a 45 KB ZIP file: http://www.horo.ch/raytracing/tests/zip/bosta03.zip It is a Bryce 5 file, you have to set the File Type filter to br5 to open it. I just rendered it on my i3 4 core (the i7 is busy) in High Priority. The task manager went to 100% and a short moment down to 99%. The scene finished in less than a minute. If you render the file on your 12-way CPU, CPU usage should go up to 67% which is 8 of 12.

  • boogazmboogazm Posts: 9
    edited December 1969

    Did a render test with your file, high priority mode, it clocked in at 20 seconds. You were right about the CPU usage, about 66%, varied some, but it wasn´t just running on 8 out of 12 threads. But the render finished so quickly that the diagrams gets a bit inconclusive! Made a screen dump of the process:

    Ran another render over night, a couple of hours into the render the taskmanager showed a moderate but relative even load on 11 threads, the 12th thread showed a flat nothing???

    Bosta_Render_test.jpg
    944 x 471 - 166K
  • HoroHoro Posts: 10,069
    edited December 1969

    Great test. I have that file because I know CPU load goes full throttle. There are files, when it doesn't - something you have observed already. Do not be alarmed by how the computer distributes the work to the cores. In the picture above we see 8 cores quite high and 4 cores rather low utilized. Looking from Bryce, we would expect 8 cores maxed out and 4 completely idle. However, I have never seen that. Though my best machine is only a 8-way, I tested in Normal Priority when Bryce uses only half. Four cores are quite highly utilized, but not maxed, and the other 4 a bit. It resembles your screenshot, only with fewer cores.

  • boogazmboogazm Posts: 9
    edited December 1969

    Could it be differences of the OS´s or Bryce versions that make the differences in CPU-usage? My dual-core/4 threads also suffers from the same laziness, not maxing out but it runs on Vista 64bit? Going back in time, I remember Bryce running at full throttle!? Lots to gain in render times if it did today, even if there´s an 8 core limitation!?

  • HoroHoro Posts: 10,069
    edited December 1969

    I dunno. That example file was made at the time with Win 2000 (1 core), I've run it on XP (2 core) and also on Win 7 64-bit (4 core and 8-way) and all maxed out. I had one who run it on a Mac. So my ideas what's the issue are exhausted. The only thing is the setting in the task manager. I have it at Normal.

    Prio.gif
    406 x 447 - 23K
  • boogazmboogazm Posts: 9
    edited December 1969

    Setting High Priority in the task manager was one of the first actions I tried but that didn´t have any major effect at all! Think it only gives Bryce first call on CPU resources when you have other apps open at the same time!?

    Hopefully there´ll be a number 8 where these kind of shortcomings are gone, but as someone pointed out earlier, Bryce might not be a big moneymaker so we´ll have to wait and see!

    I´ll throw some heavy stuff at Bryce later on and see what happens!???

  • boogazmboogazm Posts: 9
    edited December 1969

    So far only DOF, like in your test file, get´s Bryce going for full, in my case 67% at most. All other files I´ve tested, no matter how complex or what ever quality settings I use, it seldom creeps up to 60%, mostly doing around 30-40 or so!

    Bryce is like a driver that goes 80 mph on a narrow, bumpy and curvy road and slows down to 30 when hitting the highway!!!???

  • HoroHoro Posts: 10,069
    edited December 1969

    boogazm said:
    Bryce is like a driver that goes 80 mph on a narrow, bumpy and curvy road and slows down to 30 when hitting the highway!!!???

    Shouldn't be. But there may be processes when Bryce doesn't use all cores. I know that there are cases when it uses less than assigned with High Priority. But I haven't found out yet which processes.
  • EricofAZEricofAZ Posts: 0
    edited December 1969

    Some new data. I ran Argus monitor. The first test, Bryce uses all 6 physical cores of CPU0 to the max and even goes to max turbo boost on the xeon i5 2630. It uses nothing of cpu1. So if you want Bryce to use 8 cores, you need an 8 core cpu.

    Second test after a couple of days ( and reboots). Bryce used nothing of CPU0 and all of CPU1. Go figure. This is odd. The only BIOS change I made was to set the cpu's to performance.

    Why did Bryce change from cpu0 to cpu1? Clearly, it only sees one CPU. Apparently not the same one every time.

    ...
    So, now some more comparisons between medium and priority and resmon vs argus....

    Regardless of medium or high priority render, Bryce used all 6 physical cores of cpu1 to max frequency (turbo boost) in argus, but in resmon, it showed about 10 percent usage of 8 cores in resmon (mix of virtual and actual) on cpu1.

    A while back I saw 6 cores in resmon slammed to the max.

    I have no idea what is going on.

    On low priority that is only supposed to use one core, I saw spike on both CPU's to max for all cores in argus. It would run one CPU to max, then back off and run the other to max. Resmon showed one core to 80 percent and 3 more to lower levels around 10 to 20 percent.

    Either the monitors are glitchy or Bryce is random in its cpu usage.

    ...

    Time test..
    I ran a benchmark render. Sorry I didn't time it accurately.

    With low priority it was around 10 minutes and hardly used the resmon. Argus was random but several of the cores on cpu1 ran up a bit.

    With medium priority it was half the time, about 4 minutes. Funny. Argus slammed cpu1 as expected. nothing on cpu0. But here's the interesting thing. On resmon, 6 cores ran about half way on usage for the main render, then on AA, 4 cores (and they were different cores, went to max. Argus just showed all 6 cores of cpu1 on both main render and AA at max.

    So there is a difference in how resmon reads cpu usage and how argues does.

    With high priority, on the main render, resmon showed 10 cores in use on cpu1 and none on cpu0. On anti aliasing, 8 cores at 90 percent and 2 at 20 percent. on cpu1 and nothing on cpu0.

    Just over 3 minutes for the full render.

    So it appears that Bryce might use more than 8 cores(virtual and actual) and it might use some virtual cores fully.

    Very random.

  • boogazmboogazm Posts: 9
    edited December 1969

    Interesting results, but confusng, as were mine render tests! FYI Maxwell Render also has two different priority settings but auto detects CPU usage so on LOW setting it uses all cores/threads to 100% if no other processes needs CPU power! That´s great, you don´t risk starting a render going on half CPU capacity just by mistake or forgetfulness!

  • Poser - UserPoser - User Posts: 69
    edited December 1969

    My old Bryce test for multi core processors:

    http://www.bryce-3d.narod.ru/bryce_test_multi_eng.html

  • HoroHoro Posts: 10,069
    edited December 1969

    Nice to see you back, Poser-user. I looked at your tests. They confirm that multi-threading only adds about 15%. The i7-920 is a 4 core multi-threadable CPU. On normal priority, Bryce uses the 4 cores, at high priority it adds multi-threading to the 4 cores. My old test is here http://www.horo.ch/raytracing/tests/rendertest.html
    With new machines, I tested again with the same file and here are the results: http://www.horo.ch/raytracing/tests/rendertest71.html

  • Poser - UserPoser - User Posts: 69
    edited December 1969

    ... multi-threading only adds about 15%.

    This is a very poor result. Where do you see the main reason for the small increase in rendering speed?

  • David BrinnenDavid Brinnen Posts: 3,136
    edited December 1969

    ... multi-threading only adds about 15%.

    This is a very poor result. Where do you see the main reason for the small increase in rendering speed?

    As I understand it hyper-threading was introduced to streamline the sharing of processor resources, the additional cores that come into play with hyper-threading are virtual cores, on normal priority Bryce has access to 4 real cores. On high, 4 real and 4 virtual. The virtual cores can only be whatever bits of processing power is left over from the real cores while whatever process is using the real cores is off twiddling its thumbs. Now since Bryce is a number-crunching monster, the real cores hardly get any respite, so in this case there isn't much down time, and hence not many slack clock cycles for the virtual cores to take advantage of. As I understand it. Remember I'm an artist not a hardware engineer.

Sign In or Register to comment.