L3DT users' community
Large 3D terrain generator

Performance

Any and all chit-chat regarding L3DT.

Performance

Postby Redrobes » Fri Dec 15, 2006 7:20 pm

Hi, I'm a bit of a newbie to this forum but I have my pro version now and I have been using it a little though I mean to create some bigger stuff very soon.

I'm creating a paged area which is large but not really huge and its taking a long time. I tried out the demo and it was very fast at making the smaller scenes and I fully expected it to take a lot longer when I ratcheted it up a bit. I have two questions.

a) How long does it typically take to generate the full size 128K sqr map ?

b) Is there going to be some upgrade point in the future to take advantage of dual core cpu's as my machine is 50% idle ?

Thanks,
User avatar
Redrobes
New member
 
Posts: 5
Joined: Sat Dec 02, 2006 6:38 pm
Location: UK

Postby Aaron » Sun Dec 17, 2006 11:04 pm

Hi Redrobes,

A multicore version should be available for testing next year. I've multithreaded some of the calculations, but some are still to do, and much testing is required to ensure all the code is threadsafe.

If anyone wants to try multithreading (in Pro), go to 'Settings->Local settings->Calc->threadman->MaxThreadCount' (or something like that), and set the value to 2 (1 is default). This will work for:
* Normals generation
* Light map generation (but not shadow mapping yet)
* Texture generation (maybe only per-pixel land types; not sure)
I may also have done the attributes map and alpha map generation, but again, I'm not sure right now. More calculations will follow as time allows.

As for speed; off the top of my head I can't say how long a 128k x 128k heightfield would take to generate. The value would depend strongly on your erosion settings, but I would guess of the order of an hour or two. Disk-paging also takes its toll on multi-pass calculations (inflation, erosion, filtering), making them up to ~3 times slower. Single-pass calculations like normals, light map, textures, etc have minimal slowdown.

Cheers,
Aaron.
User avatar
Aaron
Site Admin
 
Posts: 3696
Joined: Sun Nov 20, 2005 2:41 pm
Location: Melbourne, Australia

Postby Redrobes » Mon Dec 18, 2006 1:52 am

Thanks Aaron,

I have the fairly large map done now. Its about 60K and it took about 10hrs to calculate. I need to play with it a bit more to figure it all out better but its very nice to have it do all that work and not have any crashes or issues. There was a few notes in an event log window that popped up about not getting some pixels in a WMF file or something - I didnt write it down... but it didn't seem to matter to the final map.

I tried to look at it with the viewer but it just does not want to play with this larger map. I know you said that you didn't write all of it and that your working on a new one so that would be good. I only need to see it in 2D so I was able to look at the texture bmps created in the TX dir which is cool.

I will be up for testing any dual core stuff and I will set that config param and watch the effect. Thanks for the tip.
User avatar
Redrobes
New member
 
Posts: 5
Joined: Sat Dec 02, 2006 6:38 pm
Location: UK

Postby Aaron » Mon Dec 18, 2006 4:20 am

Hi Redrobes,

To view the tiles in 2D you can also use L3DT's interface, which may be neater than using file explorer. To show tile borders, select 'view->display effects->show tile borders'. In previous versions both the detail and speed of the display in L3DT was a bit wonky on large maps, but with the new mipmapped renderer added a few weeks back you get about the same render time across any map size and at any zoom.

I will set that config param and watch the effect.


You'll know it when you see it; there will be two (or more) blocks being processed in parallel in the display.

I say "or more" because you can in fact specify any number of cores, not just one or two. Thus those lucky souls with a 4-core machine can use them all. However, I would not recommended anyone specify more cores than you actually have; it shouldn't break anything, but it won't run terribly well. Anyway, once I'm satisfied it's all working properly, I'll make L3DT auto-detect the core count and enable multi-threading by default.

I'm yet to really clock the effect of the 2nd core, but a preliminary test got about a 1.5x speedup at best. This might be because only one thread is allowed to load/allocate/clear tiles at any time (to prevent nasty cache problems,) and thus they do have to wait for one another every so often. More optimisations may be possible in some instances, but I expect that will have to wait for the new year.

There was a few notes in an event log window that popped up about not getting some pixels in a WMF file or something


Ah, I've seen this too once or twice. Either I have an I/O bug in my WMF reader and/or writer, or I've just got an overly-sensitive test running on the WMF loader that is triggered by unusual but acceptable pixel values. I'll look into this next year too.

Cheers,
Aaron.
User avatar
Aaron
Site Admin
 
Posts: 3696
Joined: Sun Nov 20, 2005 2:41 pm
Location: Melbourne, Australia

Postby Redrobes » Mon Dec 18, 2006 9:14 pm

Hi Aaron,

When you say select 'view->display effects->show tile borders' do you mean 'Draw mosaic tiles' ? I'm on 2.4b rev 2 and I could not find the show tile borders on that menu.

Anyway, when I did this I saw the dashed grid appear. If I click on the magnifier and click on the map then the map zooms in. It takes about 1/2 a sec to appear so thats pretty good. But if I go in until it stops then I get tiles that are about 100 pixels across rendered as little squares (Nearest neighbor filtering) instead of 512 pixels. It looks like its doing the mip mapping resample but its stopping too early. I tried a smaller map of 1024x1024 in a 2x2 tile pattern and it gave the same results. Again this is no problem as I intend to put all of the texture into my zoom browser (see website). Actually, another bit of UI I don't quite figure is where you have the final light map and texture panel settings and if you create a 2x2 tile map of 1024x1024 then the UI shows the light map and texture size to be 16x16 (8192x8192) size. The texture size generated is 1024x1024 so I cant quite see what thats all about.

On this small map I tried to run the L3DTVi2 3D viewer and it gave the same failure as the the large map. So I recreated the small map again as a non tiled type and ran it and it showed it fine. So is it correct that it does not like tiled maps ? This looks a lot like what others are seeing as a post on the support pages. The cursor disappears, you get the sky box but no ground and its deathly slow until you have to process kill it.

I switched on the multi-threading. On the small maps it creates them so fast that I cant tell if its working or not yet. At some stage I have to have another go at a large one and it will probably be more apparent then and ill try to time how long it takes.

Still having fun, still exploring it... just gotta find that right combo of settings or process to get me to where I want to be.

Hope some of this feedback is useful and thanks for the help and tips.
User avatar
Redrobes
New member
 
Posts: 5
Joined: Sat Dec 02, 2006 6:38 pm
Location: UK

Postby Aaron » Mon Dec 18, 2006 10:47 pm

Hi Redrobes,

Redrobes wrote:When you say select 'view->display effects->show tile borders' do you mean 'Draw mosaic tiles' ? I'm on 2.4b rev 2 and I could not find the show tile borders on that menu.


Ah, that would be it. Sorry for the confusion.

Redrobes wrote:Anyway, when I did this I saw the dashed grid appear. If I click on the magnifier and click on the map then the map zooms in. It takes about 1/2 a sec to appear so thats pretty good. But if I go in until it stops then I get tiles that are about 100 pixels across rendered as little squares (Nearest neighbor filtering) instead of 512 pixels. It looks like its doing the mip mapping resample but its stopping too early.


Version 2.4b build 2 does no mipmapping. That was included a few weeks back, in v2.4b build 18 or so. It's in the dev build on the downloads page.

Redrobes wrote: I tried a smaller map of 1024x1024 in a 2x2 tile pattern and it gave the same results. Again this is no problem as I intend to put all of the texture into my zoom browser (see website). Actually, another bit of UI I don't quite figure is where you have the final light map and texture panel settings and if you create a 2x2 tile map of 1024x1024 then the UI shows the light map and texture size to be 16x16 (8192x8192) size. The texture size generated is 1024x1024 so I cant quite see what thats all about.


Hmmm...I'll look into it. Has anyone else noticed a problem with this?

Redrobes wrote:On this small map I tried to run the L3DTVi2 3D viewer and it gave the same failure as the the large map. So I recreated the small map again as a non tiled type and ran it and it showed it fine. So is it correct that it does not like tiled maps ?


No, I use tiled maps regularly. How much video memory do you have?

Cheers,
Aaron.
User avatar
Aaron
Site Admin
 
Posts: 3696
Joined: Sun Nov 20, 2005 2:41 pm
Location: Melbourne, Australia

Postby Redrobes » Tue Dec 19, 2006 12:31 am

Version 2.4b build 18... cool no problem.

Redrobes wrote:I tried a smaller map of 1024x1024 in a 2x2 tile pattern...

Let me try to get an image up here....
Image
Ok that seems to have worked ok. It looks like its using that last maps size on the texture.

Aaron wrote:How much video memory do you have?

I'm running an NVidia 7600 GS with 256Mb I believe. I'm a real nut on OpenGL so I'm pretty sure that the driver is working ok. Im running 64 bit windows in WoW64 emulation and I have 4Gb of RAM so I wouldn't expect it to be a lack of resources issue.

Actually theres something else I can tell you however. The text in the top left showing the flight mode and view distance says that there are 0 polygons. Its as though either a) it cant load the terrain or b) it cant get a good tessellation out of it. I wonder if that dev build 18 will fix it ?
User avatar
Redrobes
New member
 
Posts: 5
Joined: Sat Dec 02, 2006 6:38 pm
Location: UK

Postby Aaron » Tue Jan 02, 2007 2:51 am

Hi Redrobes,

I've fixed the problem with the wizards in the next build, which I'll release later this week. Thanks for pointing it out.

As for the fault with the renderer; can you zip-up and e-mail me the smallest map that causes this fault?

Best regards,
Aaron.
User avatar
Aaron
Site Admin
 
Posts: 3696
Joined: Sun Nov 20, 2005 2:41 pm
Location: Melbourne, Australia


Return to General discussion

Who is online

Users browsing this forum: No registered users and 33 guests