I might even make more posts, some of which may even be useful as documentation

clicky
Moderator: Moderators
Gee, I've only asked for that maybe 4-5 times nowSo what would happen if we had a separate type of los that ignores terrain?
I think we should just assume aircraft fly high enough to ignore terrain checks unless landed or told otherwise through some sort of unit tag. (I know NOTA has some low flying units they may want terrain LOS checks on, plus who knows what else.)lurker wrote:Aircraft tend to not be that high, compared to cliffs. And they can also land.
Yeah, can you document how to do this performance profiling? It'd be an interesting way to test possible performance improvements.lurker wrote:What was used to make this?
FatController just tested this in BA by changing the AirLOSMipMap to 4 from the current 2 and LOSMipMap to 2 from 1 and had 15% lower CPU usage with 1200 patrolling Vampire stealth fighters after switching teams so they didn't render. I'm assuming that's an extreme edge case, but even a 5% to 10% bump would be pretty nice for no appreciable sacrifice in quality.quantum wrote:Reducing LOS miplevels has had a huge effect on chicken mode in CA and no visible drawback. It's possibly an easy solution to this problem.
... And that would mean _all_ squares within a plane's LOS would _always_ need to be visited with the current tabular representation, thus making the problem even more acute.Argh wrote: Aircraft shouldn't bother checking terrain
Thanks. Have a link to this algorithm for square LOS that works in O(map_squares)?imbaczek wrote:Most interesting post. Good visualizations there.
What's the complexity of LOS today in big-O notation? Is it O(units*map_squares)? There is an algorithm for square LOS which works in O(map_squares); I'm not sure if it can be repurposed for circular LOS though, also it ignores height differences. For view-blocking stuff, there's recursive shadowcasting available in several roguelike(!) libs.