Create an account


Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Parallelization of Xonotic (and Darkplaces engine)

#1
I've been asking myself, whether or not it's possible to parallelize the code of xonotic, or if it already has been? How well are modern games adapted to multi-core architecture, anyways? At work I regularly use parallel linux software (4-16 cores) for calculations with openMPI and MPICH. Is it even possible (or let's say practical) to develop parallel code that's compatible to both linux and windows simultaneously without barriers? Would it be worth the effort? What could be realized using e.g. openMPI under linux? Just wondering...
"If your killer instincts are not clean and strong you will hesitate at the moment of truth. You will not kill. You will become dead marines and then you will be in a world of shit, because marines are not allowed to die without permission. Do you maggots understand?" - Gunnery Sergeant Hartman
Reply

#2
its not worth the effort, i dont think that there are specific tasks that would require heavy cpu use
Reply

#3
Since your answer is short, you're a Junior member, parallization rocks and I fragged you yesterday, I do not consider your answer appropriate. Further, there are tasks that require heavy CPU usuage and I can tell, since I play Xonotic on a rig with totally oversized GPU compared to CPU power (HD4650 on AthlonXP 2800+DTR). Therefore I get the same FPS no matter what graphic settings I enter ("ultra" settings excluded, as there are strange lags). Hence, Xonotic is obviously heavily relying on CPU, so parallization is worth considering. This is particularly true, due to the fact that power in terms of CPU frequency is not going to increase any further. Apart from that, there is no other important game that uses the darkplaces engine apart from Xonotic (as Nexuiz is a commercial project now and uses CryEngine), so if there's any parallization of the darkplaces engine, it's going to happen here. In conclusion: Parallization is the future of programming and you can't deny that (I'll frag you for that comment Wink)
"If your killer instincts are not clean and strong you will hesitate at the moment of truth. You will not kill. You will become dead marines and then you will be in a world of shit, because marines are not allowed to die without permission. Do you maggots understand?" - Gunnery Sergeant Hartman
Reply

#4
Some server features require heavy CPU use.
chooksta Wrote:640t ought to be enuf for antibody
- microsoft windows
Reply

#5
Hi Sarge, also a heavy user/ but mediumly competent parallel coder here in rl.

Why care about MPI and distributed memory parallelism ? Shared memory parallelism, like thread building blocks (intel TBB) or perhaps some pragma openMP task directives might be beneficial. If its not in the form of a an asynchronous task based form, it would mean absolutely nothing.

I haven't looked into the code/engine of darkplaces, but i somehow expect all the heavy array traversals or evaluations not to be worth #pragma for looping.

But my gut feeling is that this only would be worth on the server, not the client. The really heavy stuff is done on the gpu , correct me someone if i m wrong.
Reply

#6
Big words.


Are we talking of making Xonotic utilize more than one core? If so, I agree entirely. One of my friends has a crappy AMD Dual Core with a 9800GT and his rig runs the game smoother than my AMD Phenom II x6 1100t and Radeon HD 6870, with 8GB of RAM. To be completely honest, I find it a bit odd that no one has tried to further optimize the game in this way. Multithreaded Xon would be a big step forward.
[Image: jngsiggy.png]
Reply

#7
@Sarge999 yes, theory is nice, but they are not actually working on the engine much and I doubt they are going to do such large task, game is already a lot faster since nexuiz, they could optimize it more in th future
and who is junior?
Reply

#8
frostwyrm333, I clearly remember somebody from the core team saying that the next release *will be multithreaded*.
chooksta Wrote:640t ought to be enuf for antibody
- microsoft windows
Reply

#9
I thought divVergent said, correct me if I'm wrong, that Xonotic can already use more that one core.
Reply

#10
The sound is threaded, I guess that's all.
Reply

#11
Quote:Since your answer is short, you're a Junior member, parallization rocks and I fragged you yesterday...
Pwned.

But, even if I'm not that profound when it comes to this particular topic, I must admit that at least resource loading could benefit from multithreading, as (at least for me) the game never uses more than one core during loading of map and corresponding stuff. And I get loading times like 2-3 mins per one good map and it isn't nice at all.

Reply

#12
lord canistra

2-3 minutes loading up a map??

whats your cpu specs????

this may not help , but all i use is a nec versa p8100 (single core , 256 graph , 1.5 ram ) , and it loads the maps in about 10-20 seconds (roughly)
the graphics have been turned down , of which may explain it , but 2-3 min?
have you got ultra settings , with added gold sparkles which also reflect the surroundings and you have so much detail you can see your own reflection off your enemy's eye pupil????

wow Smile

as another thought , and idk to be honest , windows has that ready boost thingo with sd/usb drives , can some of the game nerd data get farmed out to one of them? , if ya dont have enuf ram? , quicker? (i dont need it , game runs fine , but if it helped a bit..)

t

:^
Reply

#13
(11-18-2011, 10:57 AM)frostwyrm333 Wrote: and who is junior?

http://pics.nexuizninjaz.com/images/h7nl...deyf2i.jpg
It's called "Custom User Title" and you can change it at User CP -> Edit Profile.
This is the default title and it changes if you get more posts. For me it says I'm a "Senior member", but I changed it. Smile
Reply

#14
Slide sets (yes papers would be nicer) from Valve and id about their parallelization approaches:
http://www.valvesoftware.com/publication...ticore.pdf
http://s09.idav.ucdavis.edu/talks/05-JP_...lenges.pdf
Reply

#15
Mirio - yes I noticed that, he said I am junior and he is too, funny

and hehe, its parallelization not parallization
Reply

#16
@chooksta
I guess my CPU (i7 920 @ 2.67 GHz) should be sufficient for loading times as quick as yours. Dunno what's the reason, but loading of the first map after game launch goes reeeaally slow.

Reply

#17
(11-19-2011, 02:37 PM)frostwyrm333 Wrote: and hehe, its parallelization not parallization
pwned Big Grin Don't be upset, I'm just joking Big Grin
"If your killer instincts are not clean and strong you will hesitate at the moment of truth. You will not kill. You will become dead marines and then you will be in a world of shit, because marines are not allowed to die without permission. Do you maggots understand?" - Gunnery Sergeant Hartman
Reply

#18
(11-19-2011, 04:24 PM)Lord Canistra Wrote: @chooksta
I guess my CPU (i7 920 @ 2.67 GHz) should be sufficient for loading times as quick as yours. Dunno what's the reason, but loading of the first map after game launch goes reeeaally slow.

Well if that doesn't sound like I/O I don't know what would.
Are you precaching data from an USB thumbdrive maybe? Tongue
Reply

#19
Almost. From USB hard drive. And I'm positive I didn't stick it into 1.0 USB port or whatever. There are several other games on it yet Xonotic is first game ever to have such long resource loading times.

Reply

#20
Parallelization won't help you when loading from USB2.0, however, you could try to compress the files on the hard drive to gain speed, since CPU decompression might be faster than loading uncompressed data from USB2.0.
"If your killer instincts are not clean and strong you will hesitate at the moment of truth. You will not kill. You will become dead marines and then you will be in a world of shit, because marines are not allowed to die without permission. Do you maggots understand?" - Gunnery Sergeant Hartman
Reply



Possibly Related Threads…
Thread Author Replies Views Last Post
  Trying to understand darkplaces source code wiefie 23 17,637 06-08-2024, 11:40 AM
Last Post: dagelf
  Xonotic 0.8.5/DarkPlaces "Issues" Baker 2 1,323 02-24-2023, 03:01 PM
Last Post: Baker
  [META] DarkPlaces fork Lyberta 24 17,136 02-21-2023, 07:12 PM
Last Post: ballerburg9005
  [META] Xonotic reboot/port in modern engine ballerburg9005 32 14,110 02-22-2022, 05:11 PM
Last Post: ballerburg9005
  [TUTORIAL] How to create a command - DarkPlaces engine C programming LegendGuard 1 2,615 03-31-2021, 03:43 PM
Last Post: LegendGuard
  What was easy for you in development? (Darkplaces and QuakeC programming) LegendGuard 2 3,077 08-08-2020, 05:25 PM
Last Post: LegendGuard
  Engine: thread handling kingtiger01 0 3,416 11-06-2015, 12:57 AM
Last Post: kingtiger01
  Engine: cpu extensions kingtiger01 0 3,012 11-06-2015, 12:39 AM
Last Post: kingtiger01
  Ongoing port to the Unvanquished engine? poVoq 9 14,521 11-05-2015, 11:09 PM
Last Post: Danfun64
  Module (music) support for Darkplaces (again) [test it] nilyt 8 9,108 04-21-2015, 08:24 PM
Last Post: BuddyFriendGuy

Forum Jump:


Users browsing this thread:
4 Guest(s)

Forum software by © MyBB original theme © iAndrew 2016, remixed by -z-