Mac/Win Performance Tests

Started by ajoe, September 08, 2008, 09:22:35 AM

Previous topic - Next topic

ajoe

I have not been very satisfied with render times on my Mac using TG2 Deep, so I decided to do a test and see how performance compared using Windows installed on the same machine:

Mac Pro 2 x 3.2 GHz Quad-Core Intel Xeon, 8GB RAM
Mac OS: 10.5.4
Win OS: Vista 64-bit

I created a single Test.tgd file with only an initial terrain generated. Full render settings as follows:

1024 x 768
All other settings at default values, with Advanced settings as follows:
Min threads: 1
Max threads: 16
Size of subdiv cache in Mb: 2048
Preallocate subdiv cache: checked

Mac render time: 13:57
Win render time: 1:23


In both cases, the render was done immediately after booting the respective OS with no other apps running.

Can anyone explain the huge disparity in these results?

Thanks,

Joe

cyphyr

That is a HUGE discrepancy. I would recommend doing the test again (and maybe again after that) so you can get an average. Make sure there's no scheduled tasks running in the background and your not connected to the internet, just because you've rebooted don't mean that the system is not busy doing something in the background.
If anything I would have expected the results to be the other way round but as you on an intel chipset both operating systems (I believe) run natively.

I notice that your Size of subdiv cache is 2048MB, thats also HUGE, is there a reason why you went for such a large number?

There is a site that has benchmarks (a bit dated now) with a default scene here, might be worth a look.

Sorry I cant come up with an obvious answer.

Good luck

Richard


www.richardfraservfx.com
https://www.facebook.com/RichardFraserVFX/
/|\

Ryzen 9 5950X OC@4Ghz, 64Gb (TG4 benchmark 4:13)

old_blaggard

It has been noted before that for some reason the Xeon Mac Pros seem to be really nefficient at rendering TG.  I believe the best results were achieved with Max theads set to 2.
http://www.terragen.org - A great Terragen resource with models, contests, galleries, and forums.

ajoe

Quote from: cyphyr on September 08, 2008, 10:26:49 AM
I notice that your Size of subdiv cache is 2048MB, thats also HUGE, is there a reason why you went for such a large number

Because set at the default, it produces the Warning: "Size of subdiv cache per thread is only 50 Mb (400/8), which could reduce performance...", so I figured to give it some gas. With 8G, giving it 25% of available RAM seemed conservative.

Quote from: cyphyr on September 08, 2008, 10:26:49 AM
There is a site that has benchmarks (a bit dated now) with a default scene here, might be worth a look.

Thanks, and I followed your advice. Here are the average results based on three renders for each setting:

Default settings as supplied in tg2bench_v20061227.tgd:

Mac = 2:46s
Win = 0:30s

With Size of subdiv cache in Mb set to 1200:

Mac = 2:47s
Win = 0:30s

With Preallocate subdiv cache checked:

Mac = 2:47s
Win = 0:30s

The interesting thing here is that the Mac renders seem to be in line with most of the data at the benchmark site, it is the Win times that are far superior to anything reported! Very curious.

Thanks again,

Joe

rcallicotte

@ajoe - Out of curiosity, are you using the /3Gb argument for your Windows run?
So this is Disney World.  Can we live here?

ajoe

Quote from: old_blaggard on September 08, 2008, 10:35:59 AM
It has been noted before that for some reason the Xeon Mac Pros seem to be really nefficient at rendering TG.  I believe the best results were achieved with Max theads set to 2.

Well, you seem to be correct!

I reduced Max threads to 2 and produced Mac renders (tg2bench_v20061227.tgd) in 1:42s.

So I went back to my original Test.tgd file and set Max threads to 2, and achieved a renders time of 4:05s, versus the 13:57s originally reported.

Still not in line with the incredible Win performance, but definitely better.

Thanks!

ajoe

Quote from: calico on September 08, 2008, 11:17:37 AM
@ajoe - Out of curiosity, are you using the /3Gb argument for your Windows run?

No. I am not familiar with that.

rcallicotte

So this is Disney World.  Can we live here?

RArcher

The /3GB switch is not used with 64 bit operating systems.  Vista 64 will automatically use whatever RAM is available up to around 4GB (which is the current limit until TG2 is rewritten into a native 64 bit application).

rcallicotte

Ooops.  I didn't see Vista.  Sorry.

But, this might explain the fast Windows times.
So this is Disney World.  Can we live here?

ajoe

Quote from: calico on September 08, 2008, 11:44:58 AM
Ooops.  I didn't see Vista.  Sorry.

But, this might explain the fast Windows times.

Yep, I was doing a little research after reading your post and found this about Vista:

http://msdn.microsoft.com/en-us/library/aa366778.aspx

old_blaggard

I really think that it's an inefficiency with the Mac side of things, not a RAM thing - TG2 will take advantage of the full 4 GB available under both Vista 64 and Mac OS X.  This problem also seems limited to the Xeon processors - Macs with Core 2 Duos under the hood seem to be perfectly on par with their Windows counterparts, and even slightly faster.  Perhaps it's a problem with the Mac kernel when running on the Xeon processors, in which case it may be fixed in the next version of OS X.
http://www.terragen.org - A great Terragen resource with models, contests, galleries, and forums.

jo

Hi,

This is really interesting. I only have dual core Macs to test on unfortunately. I had no idea things were so bad with the greater number of cores. Did you try it with 4 threads as well?

I did have an inkling things might be slower with what an 8 core Mac. OS X is considerably slower than Windows or Linux for memory allocations and thread synchronisation, and this is causing problems for quite a few developers.

We'll have to look into this during the beta testing period.

Regards,

Jo

jo

Hi Joe,

Quote from: ajoe on September 08, 2008, 11:15:33 AM
Because set at the default, it produces the Warning: "Size of subdiv cache per thread is only 50 Mb (400/8), which could reduce performance...", so I figured to give it some gas. With 8G, giving it 25% of available RAM seemed conservative.

With more complex scenes involving more populations and such you may find that subdiv cache size is too great. Although you have 8 GB RAM TG2 is a 32 bit application and it can only use up to 4 GB. There is some overhead in there for the OS, so the maximum may be closer to something like 3.2 GB. By using such a large subdiv cache, especially if it's preallocated, you may run out of memory for other stuff. I'm not sure what would be the ideal size if you were using 8 threads, 800 MB perhaps ( giving 100 MB per thread ), but if you're using 2 threads because of the performance issues the default 400 MB should be fine.

BTW, if you want to stick with 2 threads in the Mac version for time being, you can use the Processor core detection prefs in the Startup preferences panel to set that as an override. See here for more information.

Regards,

Jo

ajoe

Quote from: jo on September 08, 2008, 09:29:18 PM
Did you try it with 4 threads as well?

I did some more tests (Mac OS X) and here are the results:

Min threads was always set at 1 and subdiv cache at 1200 with Preallocate off.

Max 1 thread: 2:58
Max 2 threads: 1:41
Max 4 threads: 1:18
Max 6 threads: 2:46
Max 8 threads: 2:47
Max 12 threads: 2:49
Max 16 threads: 2:49

Thanks for the help.

Joe