Jump to content
Hash, Inc. - Animation:Master

How to speed up rendering...


Recommended Posts

Hey Hashers!

 

I'm sure this has been posted somewhere, so I apologize if that's the case.

 

Does anyone have a step by step on how to utilize multicore rendering? A way to render multiple frames at once? I can't seem to figure it out.

 

I work on both Macs and PCs. Would there be a different way for each or are they the same?

 

Thanks in advance!

 

Shawn

Link to comment
Share on other sites

  • Replies 31
  • Created
  • Last Reply

Top Posters In This Topic

Hey Hashers!

 

I'm sure this has been posted somewhere, so I apologize if that's the case.

 

Does anyone have a step by step on how to utilize multicore rendering? A way to render multiple frames at once? I can't seem to figure it out.

 

I work on both Macs and PCs. Would there be a different way for each or are they the same?

 

Thanks in advance!

 

Shawn

 

Do you own A:M v16 or a smaller version?

 

*Fuchur*

Link to comment
Share on other sites

Hey Hashers!

 

I'm sure this has been posted somewhere, so I apologize if that's the case.

 

Does anyone have a step by step on how to utilize multicore rendering? A way to render multiple frames at once? I can't seem to figure it out.

 

I work on both Macs and PCs. Would there be a different way for each or are they the same?

 

Thanks in advance!

 

Shawn

 

Do you own A:M v16 or a smaller version?

 

If you own v16:

A:M Netrenderer

 

If you own

Windows: Just start A:M several times and set up the renderings manually.

Mac: Copy your A:M-App-Folder several times and start it from each folder. Than set up the renderings manually.

 

*Fuchur*

Link to comment
Share on other sites

Hi Shawn! Here's my experience, I'm sure any misinfo will be corrected.

 

Your new Version 16 comes WITH a new utility called NetRender. I have been playing with it at work on my Win XP system, but last night at home on my Win7 machine I saw it on the desktop where the installer had left it and decided to give it a whirl. I was quite happy to see that there was a WONDERFUL installation process (with nice illustrations, by the way) that quickly and easily did all the 'footwork' of finding the IP address of my machine and the numbers for both processors... I don't know if it was a Win7 thing or what- but that installation was brain-dead easy... the way I like it.

 

I went into HashV16 and setup a test project to render, saved and quit. Then, went to NetRender to render it out. When you 1st open the app you need to wait while it locates and connects with both your processors. You will see them appear in the bottom window, hopefully with an 'on-line' status. Then you start a 'pool'(pooling allows for more versatile/multiple project setups) and place your project into it to render... double-check all the render settings- and drag and drop your processors to the middle window to activate the render process. The statistics and feedback it gives you is way more than the Hash renderer gives you...

 

I did have my render 'stall-out' at the start, and found the detective work was easy to figure out why. I found a menu at top that says 'show errors' and saw in the error readout that my path to save my finished files was incomplete. I reset it to a proper folder, and right-clicked on the pool to remove the errors and re-enable the processors- and tried again... it worked!

 

NOW--- the question on everyones mind is... CAN I GET IT TO WORK WITH MORE THAN 2 PROCESSORS??? As far as I see, currently...no. UNLESS you have multiple machines on a network and a legal license(subscription or disc) for each machine. Holmes documented success with that in the NetRender forum... maybe this is the way it is meant to work... I have heard talk of an 'unlimited processor' subscription at an increased cost- but nothing has materialized at this early date in V16's life. Maybe it is as simple as buying the V16 disc for $300 and you (and your IT guy) are good to go on a huge render farm... no?

 

On the other hand... you can still get up to 3 instances of A:M running on a typical quad-core machine (leaving the 4th for the OS)

 

Also of note... there is talk of a 'futuristic' plan (already being utilized in Blender-Land) to use a simple browser window (FF, IE) to 'lend' your idle processors to people you trust... allowing a much larger pool of processing power culled and delivered from around the world by peoples idle processors... here is a link to that discussion with some great input by the guy who wrote the Blender app (and is a former A:M guy 'Adam Spline'... we should be bribing him to code one for us!)

 

http://www.hash.com/forums/index.php?showtopic=39743

 

ALL OF THIS is more and more pertinent every day... I was just awarded a nice job that is a 'render-dogger' and needs to be done by mid week NEXT week... I havent even started it yet and I am sweating the render-time details...Version 16 has made some great improvements in render times and features such as texture baking, 64bit support and FastAO are helping BIGTIME, but the world has gone HD. MEANWHILE I am sitting next to a render farm(60+CPUs) that is used by my Maya colleagues who have finally deemed me worthy of using it due to some of the KILLER stuff I am able to do with my little A:M.

 

I will try to provide a step by step for setting up a render in NetRender...

Link to comment
Share on other sites

  • Hash Fellow

One caveat is that you need enough RAM for each RenderSlave to do its thing as they don't share loaded assets between themselves. For Most A:M scenes this is not an issue but I have run into some TWO scenes that needed all 4 GB on my PC just for one slave.

 

 

On the other hand... you can still get up to 3 instances of A:M running on a typical quad-core machine (leaving the 4th for the OS)

 

I've been toying with this and find that I can use that last core if I go to the Windows Task Manager and set one RenderSlave's "Priority" to "Below Normal". That gives some breathing room for anything else the OS needs to do in the meantime, which won't be much if I'm otherwise away from the computer.

 

For some reason my all-four-core renders were faster than my three core renders. I don't know why.

RenderServer_4_cores.JPG

RenderServer_3_cores.JPG

 

 

MEANWHILE I am sitting next to a render farm(60+CPUs) that is used by my Maya colleagues who have finally deemed me worthy of using it due to some of the KILLER stuff I am able to do with my little A:M.

 

Very cool! You need to post us a screencapture of that 60-CPU list in Render Server when you get that set up.

Link to comment
Share on other sites

Very cool! You need to post us a screencapture of that 60-CPU list in Render Server when you get that set up.

 

 

SO--- If i was to buy the V16 CDRom and install NetRender on a bunch of those Render Farm CPU's and had one of our whizz-kid IT guys hook-up all the network gozindas and gozoudas... would I be able to start rendering on more than X processors? Or is there a limit? I wish we had clarification on this. I could SURE use more render power.

Link to comment
Share on other sites

If you are using just one PC ... check how many cores it have.. you can relate one instance of A:M for each core.. in WINDOWS OS open TASK MANAGER and go to PROCESSES.. left click in MASTER(64).exe and choose SET AFFINITY. You must set diferent core for each instance.

Link to comment
Share on other sites

  • Developer

The technical part to use up to 32 renderclients at one machine (if You have enough cores and memory) and more clients if You have more machines in access, is done from my side and works in V16 , the licensing thing isn't my part .

As robert said , jason is here the contact person .

Link to comment
Share on other sites

One caveat is that you need enough RAM for each RenderSlave to do its thing as they don't share loaded assets between themselves. For Most A:M scenes this is not an issue but I have run into some TWO scenes that needed all 4 GB on my PC just for one slave.

 

 

On the other hand... you can still get up to 3 instances of A:M running on a typical quad-core machine (leaving the 4th for the OS)

 

I've been toying with this and find that I can use that last core if I go to the Windows Task Manager and set one RenderSlave's "Priority" to "Below Normal". That gives some breathing room for anything else the OS needs to do in the meantime, which won't be much if I'm otherwise away from the computer.

 

For some reason my all-four-core renders were faster than my three core renders. I don't know why.

RenderServer_4_cores.JPG

RenderServer_3_cores.JPG

 

 

MEANWHILE I am sitting next to a render farm(60+CPUs) that is used by my Maya colleagues who have finally deemed me worthy of using it due to some of the KILLER stuff I am able to do with my little A:M.

 

Very cool! You need to post us a screencapture of that 60-CPU list in Render Server when you get that set up.

 

Robert, do you have a special license? My understanding is that only TWO render servers are allowed?

Link to comment
Share on other sites

  • Hash Fellow
Robert, do you have a special license? My understanding is that only TWO render servers are allowed?

 

I don't think it's special. Now that V16 is released I think the limit is 4.

Link to comment
Share on other sites

Yes, I've discovered you CAN use 4 on a quad core computer. Open up more by finding the Render Messenger icon in your hash installation folder (C:Program Files/ Hash Inc/ V16/RenderMessenger.exe) and clicking on it 'should' activate another processor for your cause...

 

Rob says Netrender renders FASTER with all 4 going... there is a Task manager trick too... to save some OS power... lower the priority on the 4th core...?

Link to comment
Share on other sites

I modified the AppleScript (currently would only start 2 message servers.) Even though I set it up to start 8 messengers (I have 8 cores physical - 16 virtual) I got a message after 4. If we can get a modified license so so that we can run 8 (or 16) I would go for that.

Link to comment
Share on other sites

  • Hash Fellow
Has this information been posted anywhere?

 

 

NetRender is probably one of the less documented things about A:M. Originally it was an officially unsupported, extra cost product that very few users bought. Then it was withdrawn for a while and only recently came back.

 

Since it's been added on to the same program we were buying before for no extra cost, it's best to regard it as a new, still-to-be-explored, possibly short of divine perfection feature.

 

I have a shot that will not render with it at all. Don't know why... I'll have to figure it out.

Link to comment
Share on other sites

Here is a screen shot of "About Render Server" It shows that I can have up to four slaves. What has me baffled are the three IP addresses listed. I think the last two are related to my machine but the first one -- Whois or Lookup does not show anything meaningful.

 

Screen_shot_2011_05_25_at_1.14.27_PM.jpg

Link to comment
Share on other sites

Here is a screen shot of "About Render Server" It shows that I can have up to four slaves. What has me baffled are the three IP addresses listed. I think the last two are related to my machine but the first one -- Whois or Lookup does not show anything meaningful.

 

Screen_shot_2011_05_25_at_1.14.27_PM.jpg

Sorry have to confess I've not actually used NetRender, as of yet. I've just been using MultipleMaster as its quick to get going. But I've looked at NetRender and mine also is only licensed for 4 slaves which is normal. As is I think different and/or multiple IP addresses at times. On mine, these change depending on what my computer is connected to at the time. If its connected to the internet via Airport or Ethernet or both together, then as expected I get 192.168. IP numbers if not connected to the internet then it starts 127. etc. I don't have other user accounts on the computer nor am I on a network or have a Windows patron on my system, but I'm wondering if these too wouldn't generate additional IP addresses maybe.

I don't know how NetRender uses these IP addresses but I think this is normal behaviour for NetRender.

Link to comment
Share on other sites

I haven't used NetRender since before the 16 release. Back when I was trying out NetRender (for Bus Stop), I moved between multiple networks. I had problems starting it back up, even if I stopped all of the slaves, because my Laptop's IP address would change between home vs contract #1 vs contract #2. I have an extra IP address (thanks to VirtualBox, which installs a virtual network controller) that is usually unused, and I ended up pointing the server to a static IP address. Then I could easily stop the slaves, hibernate the computer, make it wake up at the new location, and restart the slaves and it worked pretty well.

 

Bubba, you can find out a little more about your IP addresses (and which interfaces they are installed on) using "ifconfig -a". I don't know where ifconfig is on a Mac, but on most versions of Linux it is in /sbin/ifconfig.

Link to comment
Share on other sites

Mouseman, that command works just fine in Terminal.

 

o0: flags=8049 mtu 16384

inet 127.0.0.1 netmask 0xff000000

inet6 ::1 prefixlen 128

inet6 fe80::1%lo0 prefixlen 64 scopeid 0x1

gif0: flags=8010 mtu 1280

stf0: flags=0 mtu 1280

en0: flags=8863 mtu 1500

ether 00:23:df:de:e3:bd

inet6 fe80::223:dfff:fede:e3bd%en0 prefixlen 64 scopeid 0x4

inet 192.168.1.5 netmask 0xffffff00 broadcast 192.168.1.255

media: autoselect (100baseTX )

status: active

en1: flags=8863 mtu 1500

ether 00:23:df:de:af:26

media: autoselect ()

status: inactive

fw0: flags=8863 mtu 4078

lladdr 00:23:df:ff:fe:da:9f:86

media: autoselect

status: inactive

vmnet1: flags=8863 mtu 1500

ether 00:50:56:c0:00:01

inet 192.168.144.1 netmask 0xffffff00 broadcast 192.168.144.255

vmnet8: flags=8863 mtu 1500

ether 00:50:56:c0:00:08

inet 172.16.58.1 netmask 0xffffff00 broadcast 172.16.58.255

 

What all this means I don't know.

Link to comment
Share on other sites

Hi, bubba,

 

ifconfig lists the network "interfaces" on your system. There is a version of it for most operating systems, sometimes with a different name (e.g. ipconfig on windows) and different options. I've read that it's suggested that you not use ifconfig to make changes on the Mac, since it is very low-level, and there are other configuration pieces that wouldn't get updated when making these changes. I'm not a Mac person, so I can't really say much about it; just wanted to warn you to tread carefully with making any changes.

 

Here's a description of the interfaces, as far as I can tell from having used Windows and various Unix-like OSes:

 

o0: flags=8049 mtu 16384

inet 127.0.0.1 netmask 0xff000000

inet6 ::1 prefixlen 128

inet6 fe80::1%lo0 prefixlen 64 scopeid 0x1

This is the internal interface. The 127.0.0.1 IP address for device "o0" is usually referred to as "localhost". It's always there, but the render server doesn't bind to it.

 

gif0: flags=8010 mtu 1280

stf0: flags=0 mtu 1280

Not sure what these are.

 

en0: flags=8863 mtu 1500

ether 00:23:df:de:e3:bd

inet6 fe80::223:dfff:fede:e3bd%en0 prefixlen 64 scopeid 0x4

inet 192.168.1.5 netmask 0xffffff00 broadcast 192.168.1.255

media: autoselect (100baseTX )

status: active

This is your main IP address (192.168.1.5), probably automatically assigned by DHCP by your router. This can change if you have a laptop and, for example, take it to a coffee shop, or even if you reboot. Therefore it's a problem to use as the IP to connect to.

 

en1: flags=8863 mtu 1500

ether 00:23:df:de:af:26

media: autoselect ()

status: inactive

 

fw0: flags=8863 mtu 4078

lladdr 00:23:df:ff:fe:da:9f:86

media: autoselect

status: inactive

These are not configured, and I'm not 100% sure what they are. I might guess that en1 is the wireless if en0 is the wired network, or vice versa. "fw0" is supposed to be "ethernet over fire-wire", but I've never used it.

 

vmnet1: flags=8863 mtu 1500

ether 00:50:56:c0:00:01

inet 192.168.144.1 netmask 0xffffff00 broadcast 192.168.144.255

 

vmnet8: flags=8863 mtu 1500

ether 00:50:56:c0:00:08

inet 172.16.58.1 netmask 0xffffff00 broadcast 172.16.58.255

These interfaces come from VMWare. I believe the IP addresses will not change between boot-ups, or when moving from network to network. In practice, I've found these usable as stable IP addresses for render messengers on the same machine to connect to. In short, one of these addresses (192.168.144.1 or 172.16.58.1) would probably serve you well as an unchanging IP address for the render messengers to connect to.
Link to comment
Share on other sites

In general, the IP of your computer will not change if you reboot provided the router discovers your computer as the one which tried it before and your router isn't rebooted too. It should than recognize it and give it the same IP again, if possible (this depends on the router so) and there aren't some kind of ip-conflicts...

 

If you take your laptop (by the way not very well suited for rendering anyway in general) to another network it can be a problem. Don't know exactly what happens then. However (at least at windows-pcs) you can assign an internally static IP-adress for your network anyway and the server should always be accessable there. I do that all the time with my homeserver and myl client-pcs (homeserver doesnt run all the time but is often shut down).

 

See you

*Fuchur*

Link to comment
Share on other sites

If you take your laptop (by the way not very well suited for rendering anyway in general) to another network it can be a problem. Don't know exactly what happens then. However (at least at windows-pcs) you can assign an internally static IP-adress for your network anyway and the server should always be accessable there. I do that all the time with my homeserver and myl client-pcs (homeserver doesnt run all the time but is often shut down).

I think in Bubba's case, VMWare has done the work of assigning an internally static IP address, and the easiest thing for him to do is to use one of those. Instructions for creating your own locally static IP address would be rather different for each system; I'd have no idea where to start for a Mac.

 

"Laptops not very well suited for rendering" probably depends a lot on the laptop. Regardless, that's what some people (including myself) have to work with, and want to make the most of it.

Link to comment
Share on other sites

To all thanks. I have assigned a static IP address to my Mac Pro because my Netgear router was assigning random IP addresses whenever I powered up cold or from sleep. It was causing havoc with Netrender. I figured out what was happening and reported it to Steffen with bug report 5902. He has fixed the problem so I guess that Netrender will check first for an IP address before setting up the Slave.dat file.

 

I have VMware on my system because I bought it on sale. I don't have a guest system running on it yet. Thanks for explaining where the two "extra" IP addresses came from. The 198.162.1.5 is my Mac Pro static address.

Link to comment
Share on other sites

I have VMware on my system because I bought it on sale. I don't have a guest system running on it yet. Thanks for explaining where the two "extra" IP addresses came from. The 198.162.1.5 is my Mac Pro static address.

You will want to be a little careful assigning an IP address in the range that your router might give out addresses. A problem can happen when a new device comes online, and the DHCP server (in the router) gives out 198.162.1.5 to that new device, and there is a conflict with your existing device.

 

There is usually a configuration value in the router to specify the range of DHCP addresses it will give out, frequently by default it is 1-50 or 1-100. One thing you can do is change the router to give out dynamic IP addresses beginning at 100, and reserve 2-99 for your static addresses (1 is usually the router itself).

Link to comment
Share on other sites

I have VMware on my system because I bought it on sale. I don't have a guest system running on it yet. Thanks for explaining where the two "extra" IP addresses came from. The 198.162.1.5 is my Mac Pro static address.

You will want to be a little careful assigning an IP address in the range that your router might give out addresses. A problem can happen when a new device comes online, and the DHCP server (in the router) gives out 198.162.1.5 to that new device, and there is a conflict with your existing device.

 

There is usually a configuration value in the router to specify the range of DHCP addresses it will give out, frequently by default it is 1-50 or 1-100. One thing you can do is change the router to give out dynamic IP addresses beginning at 100, and reserve 2-99 for your static addresses (1 is usually the router itself).

 

Yep, may cause problems. Easiest way to get around that: Assign a IP-address that is unlikely to be given out like 198.162.1.200. It is unlikely that you use 200 ip-addresses in the next time. Dont use 254 so. This one is although often given to a second router / etc. because it is at the end of the range. Your address is a little strange to me so. 192.168.1.5 / 192.168.0.5 would be much more common, so you may not run into trouble anyway.

 

See you

*Fuchur*

Link to comment
Share on other sites

Your address is a little strange to me so. 192.168.1.5 / 192.168.0.5 would be much more common

See you

*Fuchur*

 

 

Sorry you are correct 192.168.1.5. Fumble-fingers me.

 

I can't change the static IP address now because that is the address that NetRender is looking for. When 16a comes out I can go back to dynamic because a static address will not matter.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...