Working on Litmus-Maps

Discussion for Level editing, modeling, programming, or any of the other technical aspects of Quake
Post Reply
VolumetricSteve
Posts: 449
Joined: Sat Nov 06, 2010 2:33 am

Working on Litmus-Maps

Post by VolumetricSteve »

As I've been doing increasingly complex work on q3map2 lately, I'm building a set of acid-test type maps to verify the compiler is doing things the right way. I'll eventually have a reference collection of compiled maps for each test to provide a baseline for what successful builds look like.

The idea is that provided you have q3map2 and pak0, these maps should always compile - and always compile the same. I'm working on compile scripts just to simplify things, but for now I've been posting map data on git hub because I want to be able to glance at the map code easily if the compiler throws an error on an entity or a brush.

https://github.com/volumetricsteve/Litmus-Maps

So far I've just got the two, but I'm working on some bsp-phase tests at the moment. One I'm doing a test build on now caused X11 to segfault...so I dropped back to the command line and re-ran it and for the past 40 minutes or so the bsp phase has been writing data to my drive non-stop. This map is just one hollow cube that's almost at the bounds for what radiant allows with a single light inside with a deathmatch_player_start in the middle.

Edit: About an hour later, the system spit out: systemd-udevd[184]: fork of child failed: cannot allocate memory
I think I filled my drive...I think it would throw a different error if ram got overloaded, right?
AEon
Posts: 1816
Joined: Sun Apr 20, 2003 7:00 am

Re: Working on Litmus-Maps

Post by AEon »

You are trying to hit the limites of the updated compiler with your test maps? Because, today with the knowledge of detail brushes and caulk hulls a bsp compile should be less than a minute at the most, even for very detailed map. So your very long compiles seem to suggest you are really pushing things? Alas no idea how to help, but those compile times remind me of the bad old Q2 days, where a compile tool 24h on an Alpha under Linux, pretty much shredding the HDD. Also it seems to be suggesting a lack of main memory?
VolumetricSteve
Posts: 449
Joined: Sat Nov 06, 2010 2:33 am

Re: Working on Litmus-Maps

Post by VolumetricSteve »

Correct, I'm going out of my way to push the compiler, but this is purely to verify that the modified compiler can still compile a set of complex maps, thereby validating a 'good' build of the compiler. I'm entering some new territory I think because I remember back around 2005 I was chugging along on a Pentium 4 with what couldn't have had more than 2GB of ram and some of my more insane maps would simply fail to compile....Today, memory in the scope of what q3map2 needs is practically an afterthought and the ways cpus have advanced, things that once took weeks now take minutes. Except, of course, in these oddball fringe cases.

I'm interested though....you mentioned the q2map compiler would induce a lot of shredding on the hard drive, was that because of swap use or something else?

I'm not sure what BSP was doing, but today I tried it again on the Cray and it knocked out the -- MakeTreePortals -- section in about a minute and a half compared to my laptop which spent a good hour or so murdering my SSD and I eventually had to kill the job.

I wonder if Quake 3/ioQuake3 could even render the map if it's just one gigantic hollow cube....I suspect there'd be a z-buffer issue at least.
VolumetricSteve
Posts: 449
Joined: Sat Nov 06, 2010 2:33 am

Re: Working on Litmus-Maps

Post by VolumetricSteve »

Can someone try to compile this map?
https://github.com/volumetricsteve/Litm ... -small.map

Vis won't work, but I'd be curious to see what times people get on BSP and Light

I just got 40 seconds on BSP and 551 on Light

BSP:
q3map2 -threads 32 -fs_basepath /vsteve/q3 -meta -patchmeta -v lighttest-small.map
Light:
q3map2 -threads 32 -fs_basepath /vsteve/q3 -light -fast -samples 2 -patchshadows -bounce 8 -v lighttest-small.map
KittenIgnition
Posts: 252
Joined: Sun Nov 06, 2011 11:11 pm

Re: Working on Litmus-Maps

Post by KittenIgnition »

32 threads? Does it just take the max possible, like -bounce?

Also I've made and compiled maps that span the entire radiant grid, some of which were even terrain. BSP took a while and they were broken as all hell in game, but they compiled!

I didn't have the 3 weeks to spare to compile light on them though.
User avatar
CZghost
Posts: 1943
Joined: Wed Jun 22, 2011 1:45 pm
Location: Czechia
Contact:

Re: Working on Litmus-Maps

Post by CZghost »

I do not remember any CPU for PC's that have 32 cores (the threads number). You should know how many cores your CPU actualy have and that way you should configure the threads number. It is not system's bits selection (32bit or 64bit)...
[ Linktree | Twitch | YouTube | Instagram | Websites ]
When you feel the worst, turn to the sun and all the shadows will fall behind you.” - John Lennon
User avatar
Eraser
Posts: 19174
Joined: Fri Dec 01, 2000 8:00 am

Re: Working on Litmus-Maps

Post by Eraser »

You can run multiple threads on a single core. It's not limited to the number of cores you have. At some point though, increasing the number of threads will actually decrease performance.
User avatar
CZghost
Posts: 1943
Joined: Wed Jun 22, 2011 1:45 pm
Location: Czechia
Contact:

Re: Working on Litmus-Maps

Post by CZghost »

Simply, the many cores you have, that number you should set up in the threads. It's just a number that tells the CPU how many cores it should use. If the number is greater than actual number of cores, it could do some kind of multitasking the compiling program itself and due to the error randomize copies of the program in the memory, which might result in decreased performance. I did not tested it, though, so I can only speculate. That might require some kind of benchmark and proper amount of time, which I do not have...
[ Linktree | Twitch | YouTube | Instagram | Websites ]
When you feel the worst, turn to the sun and all the shadows will fall behind you.” - John Lennon
VolumetricSteve
Posts: 449
Joined: Sat Nov 06, 2010 2:33 am

Re: Working on Litmus-Maps

Post by VolumetricSteve »

I have 32 cores on the system I'm building on. Note : it's a dual Xeon E5-2698 v3 I believe they're 16 cores each.

Also for anyone trying to compile the map, you've obviously want to change the -threads to match your system. I'm trying to get a sense of how quickly the map compiles on systems that aren't as insane as this one.
User avatar
CZghost
Posts: 1943
Joined: Wed Jun 22, 2011 1:45 pm
Location: Czechia
Contact:

Re: Working on Litmus-Maps

Post by CZghost »

I never heard about Xeon CPU. Do not mismatch CPU to System Core. CPU is hardware responsible to all program operations in your physical computer. System Core is simply program that allows using the system installed on your hard drive. I have Intel Core 2 Duo CPU installed inside my case. It has 2 cores (as the name tells; I'm not so much wealthy) - it might me in most of cases Intel or AMD, I didn't notice any other manufacturer, though...
[ Linktree | Twitch | YouTube | Instagram | Websites ]
When you feel the worst, turn to the sun and all the shadows will fall behind you.” - John Lennon
Fjoggs
Posts: 2555
Joined: Fri May 03, 2002 7:00 am

Re: Working on Litmus-Maps

Post by Fjoggs »

Why not google the name instead of just saying random stuff?
The first link says it has 16 cores..

http://ark.intel.com/products/81060/Int ... e-2_30-GHz
User avatar
CZghost
Posts: 1943
Joined: Wed Jun 22, 2011 1:45 pm
Location: Czechia
Contact:

Re: Working on Litmus-Maps

Post by CZghost »

Okay. What PC do you use if it has two CPU's? I never seen motherboard in desktop, that can hold two CPU's. Maybe some tech new on the trade :)
[ Linktree | Twitch | YouTube | Instagram | Websites ]
When you feel the worst, turn to the sun and all the shadows will fall behind you.” - John Lennon
KittenIgnition
Posts: 252
Joined: Sun Nov 06, 2011 11:11 pm

Re: Working on Litmus-Maps

Post by KittenIgnition »

It's not a hidden fact that there exist dual-CPU boards, and have for years...
AndyW
Posts: 848
Joined: Wed Mar 11, 2015 3:23 pm

Re: Working on Litmus-Maps

Post by AndyW »

https://en.wikipedia.org/wiki/ABIT_BP6
I was going to buy this board in 2000 but had Money problems- so i didnt.
Today im happy about that... Id would just be wasted money.
EDIT: At this time i was thinking it would be cool to use 2-cpus. One for working and one for compiling. The problem was (if i remember correctly) that dual cpu´s at this time only worked right in windows NT.
Last edited by AndyW on Fri Jul 24, 2015 3:53 pm, edited 1 time in total.
Die Vitamine sind in der Dose gefangen!!!
obsidian
Posts: 10970
Joined: Mon Feb 04, 2002 8:00 am

Re: Working on Litmus-Maps

Post by obsidian »

(Psst... Just wait until he finds out about QUAD-CPU boards and parallel GPU racks... Brains splattered everywhere...)
[size=85][url=http://gtkradiant.com]GtkRadiant[/url] | [url=http://q3map2.robotrenegade.com]Q3Map2[/url] | [url=http://q3map2.robotrenegade.com/docs/shader_manual/]Shader Manual[/url][/size]
AndyW
Posts: 848
Joined: Wed Mar 11, 2015 3:23 pm

Re: Working on Litmus-Maps

Post by AndyW »

Anyway, i cannot see a working map file for radiant to test any stuff. I think its my newbeness... Should i just save the Code as a *.Map and compile?

EDIT: SORRY FOR THAT 2x POST, I JUST WANTED TO EDIT, DUNNO WHAT HAPPENED :/
Die Vitamine sind in der Dose gefangen!!!
VolumetricSteve
Posts: 449
Joined: Sat Nov 06, 2010 2:33 am

Re: Working on Litmus-Maps

Post by VolumetricSteve »

@AndyW

Huh...my god github is annoying. Maybe this will work....

https://github.com/volumetricsteve/Litm ... -small.map

You should be able to right click on that link and do "Save link as..."

@CZGhost
You're an interesting dude.
Post Reply