Re: [Algorithms] Terrain performance comparisons
Brought to you by:
vexxed72
From: Jonathan B. <jo...@nu...> - 2003-07-25 21:18:59
|
> A realistic game needs to > strictly limit the speed and mobility of the viewer in order to work > at all, by dividing the world into levels separated by discrete > loading events, or streaming sectors in the background, etc. No game > can afford to randomly show a different part of the whole game-world > in successive frames, unless that game-world is unacceptably small. > > Anyway, I suspect I'm railing against something you didn't exactly > say. I just want to make sure coherence (at a coarser level) gets its > due, because IMO it's just about the most important aspect of terrain > LOD. Right, and I agree with that. At least in the current computing paradigm, streamed loading is here to stay. I think there's a big stability difference, though, between the kinds of cases we're talking about. Something like Chunk LOD requires a certain kind of coherence that translates into a cap on the viewpoint speed. But as long as you stay within that cap, it's extremely stable. I can insert a function into your Chunk LOD demo that says Sleep(rand() % 50) and your demo doesn't give a crap, it still runs like a rock. (Aside from, of course, the jitteriness caused by the sleep). That kind of thing I have absolutely no problem with. Also, the speed cap is very very high. But if you put Sleep(rand() % 50) into something like full ROAM, you are really asking for trouble. And in general the speed cap is a whole lot lower, which isn't cool. So maybe "frame coherence" isn't a precise enough term to differentiate between these two cases. Maybe a different phrase, like "timestep sensitivity" or something. I think it's true to say "a lot of popularly espoused frame coherence optimizations are dangerously timestep-sensitive." So for something like terrain LOD, I would say, there are known timestep-insensitive ways of doing it, and if you choose something that has a timestep sensitivity, you really ought to have a good reason for that. In something like physics, we just don't know how to solve the problem in a way that isn't timestep-sensitive, and that really kind of sucks. It's a difficult issue because if you drill down far enough, everything has a timestep sensitivity. Somewhere though, there's a very wide very fuzzy line, and everything on one side of the line is stable, and everything on the other side is openly questionable, and everything in the middle is, well, I don't know. -Jonathan. |