Planetside Software Forums

General => Terragen Discussion => Topic started by: PorcupineFloyd on October 11, 2008, 02:37:48 PM

Title: Multithreaded populator?
Post by: PorcupineFloyd on October 11, 2008, 02:37:48 PM
Will it be possible in the future to make populator use more than one core?
Or a simple workaround to have multiple populators working at once (on different cores)?
Title: Re: Multithreaded populator?
Post by: Mohawk20 on October 11, 2008, 04:10:46 PM
Just how big is your population??

It really should not be necessary to need multicore support, only for the populator!
Title: Re: Multithreaded populator?
Post by: PorcupineFloyd on October 11, 2008, 04:51:23 PM
I have something like 30.000 x 30.000 with distances between models set to "5" and it takes lots of time to populate such an area. I was wondering if it would be possible to simply cut the area into 4 parts and populate each one on separate core.
Title: Re: Multithreaded populator?
Post by: Mohawk20 on October 11, 2008, 05:22:08 PM
I have currently 5 populations on a 10.000 x 10.000 space, with a spacing of 20, and it really is full. But the instances load in a few seconds.

Maybe it's not so much the amount of cores, but the speed of a single core?

In cases like yours it would come in handy, but those cases are so rare it would not be cause for multicore populating I fear.
Title: Re: Multithreaded populator?
Post by: PorcupineFloyd on October 11, 2008, 05:44:02 PM
Yes, instances load in few seconds but they generate in even up to few minutes.
Title: Re: Multithreaded populator?
Post by: Oshyan on October 12, 2008, 02:32:51 AM
Sometimes populating does take quite a long time (I have one scene where it can take upwards of 10 minutes). Multithreading the populators will probably be useful and is something we will look at in the future.

- Oshyan
Title: Re: Multithreaded populator?
Post by: PorcupineFloyd on October 12, 2008, 04:06:02 AM
I'm asking because I've found also in other 3D software that sometimes only main rendering is coded to make use of multiple cores. For example in Vue, populating ecosystems and even calculating radiosity is done on one core. I was wondering if it's because of minor speed increase or complexity of code - that's why not everything has multiple core support.
Title: Re: Multithreaded populator?
Post by: Oshyan on October 13, 2008, 12:32:27 AM
Well, it's always more complicated to code multithreaded systems. I think generally speaking why an app like Vue wouldn't be more fully multithreaded is just that it is still relevantly recently that multithreading has been useful in the mainstream, and Vue was not really a professional-level application until Vue 6 a few years ago, at which point multithreading became more important. Still that being said it may just be that they don't see a big enough performance gain being possible for certain functions. I do think it would be useful in TG2's case though.

- Oshyan