#32 posted by gb on 2009/08/01 20:16:49
top shows every cpu you have as 100% I think. So if you have a quad, that would be 400% overall. I have 2 cpus and top goes over 100% sometimes for me.
 Cluster
#33 posted by inertia on 2009/08/01 21:02:23
Anyone want to make vis use MPI (Message Passing Interface)? I can run it on a 100+ node cluster if y'all want. This would also pave the way for people to cooperatively use vis over the internets -- are we communists yet?
What's the the speedup per additional processor?
 Clarification
#34 posted by inertia on 2009/08/01 21:03:48
I mean, more than just one data point (thanks Willem!). A run that with one processor takes an hour, is better than one that is already short & reasonable (e.g. Evil Exhumed).
#35 posted by JneeraZ on 2009/08/01 21:32:59
How complicated is it to make a distributed app like that? Seems like an undertaking...
 Another Lunchtime?
#36 posted by ijed on 2009/08/01 22:13:27
 Willem
#37 posted by inertia on 2009/08/01 23:33:28
Just put in the MPI hooks in the source, and compile against the MPI libs.
#38 posted by JneeraZ on 2009/08/01 23:46:14
I'm not familiar with how any of that works at the moment ... so if I add the hooks to VIS this will all work magically? Doesn't there need to be something running on a server somewhere?
 Alternate Approach
#39 posted by inertia on 2009/08/02 00:55:59
If you know how to split up the map into independent parts, you could apply the map reduce paradigm to the vis problem.
Re: MPI inclusion: magic doesn't exist.
 Inertia
#40 posted by ijed on 2009/08/02 01:32:54
So you're one of the ones (like me) who just thought that the little girl in Pan's Labyrinth was schizophrenic?
#41 posted by gb on 2009/08/02 04:09:38
I disagree about magic.
 On Magic
#42 posted by inertia on 2009/08/02 05:25:47
Yesterday I defined "faith" for a buddy:
Faith: Belief in irrational hypotheses.
#43 posted by JneeraZ on 2009/08/02 13:55:59
So I'm right then? It's a major undertaking?
 MPI
#44 posted by inertia on 2009/08/03 06:46:42
I don't know. It's worth exploring. As I said, if you can restructure it to use MPI, you can make the leap to making it work over the internet.
Or go the whole hog and figure out how to separate the map into mutually-independent parts for vis.
 Or
#45 posted by inertia on 2009/08/03 06:47:07
Black-Dog or Moaltz or Bambuz can port the thing to Haskell!
#46 posted by JneeraZ on 2009/08/03 11:17:49
It's something to think about but I wouldn't hold your breath. :)
#47 posted by JneeraZ on 2009/08/03 11:18:41
The source code is available if someone wants to get THAT ambitious, BTW:
http://www.quaketastic.com/upload/files/tools/windows/misc/WVis_Src.zip
#48 posted by metlslime on 2009/08/04 03:01:44
actually it would be nice to see a completely modern rethinking of vis and light. For example it should be possible to use your GPU to render lightmaps for you. As for vis, i'd like to see alternate implementations, maybe even tradeoffs such as 90% faster for 10% higher polycount.
The problem with this super long vis times is that the result is nobody vises their maps during development; they only do it once at the end, and if there's a problem, they're not willing to fix it and waste another 2 months for another vis.
I don't have any fully-developed ideas for vis, but i could imagine some sort of raycasting approach that sends rays out in a coarse grid, then subdivides that grid as needed. Or some sort of CSG method that starts with the half-space on the far side of a portal, then flows recursively through portals clipping that half-space as you recurse through each next portal. Or maybe a system where you use the standard algorithm but have a much smaller set of portals to work with, either though automatic selection of "important" portals (which would be awesome but i can't quite see how to do it), or through mapper-defined "portal brushes".
#49 posted by cha0s on 2009/08/04 06:57:00
Wait, this is the VIS for Quake(1), right? This thing was initially developed more than 13 years ago and it is still _this_ slow? I've never done anything for Q1, but a VIS compile of a (cleanly build) Q3 map typically took less than 2 minutes.
The Q3 VIS, as I understand it, recursively subdivides a map into a tree of convex shapes and then calculates which leafs can "see" each other. Does the Q1 VIS do any more than that, or why exactly does it take this long to compile a map? Maybe the algorithm of the Q1 VIS is just very naive (in which case one could probably adopt some code of the Q3 VIS)?
#50 posted by AEnoch on 2009/08/04 08:29:30
I recall reading back in the day something Tokay or Romero said I think, that id's tools allowed you to build the maps incrementally. Implying that you could create one section, vis it, test it, build another part, vis that then add it to the already vised part.
 Chaos:
#51 posted by metlslime on 2009/08/04 09:47:20
If you made a q3 map with 7000 structural brushes, it might take a while. Detail brushes help a lot.
 How About An Editor With On-the-fly Compile In Other Thread(s)?
#52 posted by bear on 2009/08/04 11:27:55
Should be lots of idle cpu-time while mapping although the problem is of course working with a changing data set and figuring out how to recompute as little as possible when the geometry changes...
 Necros, Ricky, William
#53 posted by negke on 2009/08/04 12:51:40
That's what I do basically. Kept a copy of the bjp state file and resumed the process with Wvis. Both tools can be used interchangably. We'll see how it turns out in the end, though. I hope that c_chains discrepancy doesn't have any severe consequences.
#54 posted by JneeraZ on 2009/08/04 15:53:28
metlslime
I think having level designers place hand created portal sheets would be interesting. Have a texture called "PORTAL" or something that gets ignored during QBSP and LIGHT but is used to define the portal planes during VIS? I dunno. I don't know nearly enough about the internals of VIS to do this but it IS interesting.
#55 posted by JneeraZ on 2009/08/04 18:24:12
Not to make anyone cry, but I just got a new machine at work. 24GB of RAM and 16 cores. Good god...
 But Does The New Eight Cores Make Any Difference?
#56 posted by bear on 2009/08/04 18:35:03
I guess you can always make everyone jealous by compiling three maps at the same time.
|