Commit graph

7 commits

Author SHA1 Message Date
Randy Heit
c51e49f02f For ZDBSP:
- Fixed the OrgSectorMap generation in FLevel::RemoveExtraSectors().
- Added a version of ClassifyLine compiled with SSE (but not SSE2) optimization
  for people with Pentium 3/Athlon XPs to use.
- Added ClassifyLine backpatching for the GCC Windows build. The first time a
  function calls ClassifyLine, it has to check which version to use and jump
  to the appropriate one. After that, it calls the desired one straight away.

SVN r227 (trunk)
2006-06-26 20:39:57 +00:00
Randy Heit
06d1bf0354 - Added a reject fixer to correct the reject when sectors are removed instead
of just throwing it away.

SVN r174 (trunk)
2006-06-06 22:38:27 +00:00
Randy Heit
6a1a0e007a - Added runtime detection of SSE2 so that ZDBSP can select either the regular
ClassifyLine routine or a version compiled with SSE2 optimizations. This
  pretty much removes any reason to do a separate SSE2 build, since most of
  the time is spent in ClassifyLine, so using SSE2 in just that one function
  helps the most.

SVN r172 (trunk)
2006-06-06 19:15:39 +00:00
Randy Heit
6d799f0a1c - Added a "vertex map" for ZDBSP's vertex selection. (Think BLOCKMAP for
vertices instead of lines.) On large maps, this can result in a very
  significant speed up. (In one particular map, ZDBSP had previously
  spent 40% of its time just scanning through all the vertices in the
  map. Now the time it spends finding vertices is immeasurable. Now 68%
  of its time on that map is spent inside ClassifyLine--because that
  routine is called more than 16 million times, which suggests that even
  a minor speedup in that routine should have a big impact--if I could
  just think of how that might happen.) On small maps, this won't make
  much of a difference, because the number of vertices to search was so
  small to begin with.

SVN r167 (trunk)
2006-06-06 02:45:48 +00:00
Randy Heit
30436092ed - Slight performance tweak to ClassifyLine, since a significant portion of
the runtime is spent in that function. I should probably write a faster
  vertex finding routine, since I currently just do a linear search through
  all the vertices. That ought to help speed up SplitSegs, the second most
  time-consuming routine. I also tried storing vertices as doubles instead
  of fixeds, but that made performance drop across the board, so that's a
  change that didn't make it in.

  Ironically, the GCC compiled version is noticeably faster than the VC
  version for x87 math, but VC produces a marginally faster SSE2 version.

SVN r163 (trunk)
2006-06-03 04:12:33 +00:00
Randy Heit
dd6f2eab90 - Fixed writing of v5 GL segs in ZDBSP.
- Fixed ZDBSP compilation under Linux, including support
  for 64-bit architectures.


SVN r162 (trunk)
2006-06-01 17:32:32 +00:00
Randy Heit
938f25e39b Added a Makefile for building ZDBSP with GCC and SSE configurations for VC.
SVN r156 (trunk)
2006-05-31 20:25:20 +00:00