Project

General

Profile

« Previous | Next » 

Revision 9598a000

Added by danij over 11 years ago

Optimize|Client|World|WallEdge: WallEdge performance optimizations

Profiling revealed that WallEdge was somewhat under performing, with
instantiation and the subsequent cleanup of this class accounting for
around 8% of the time spent rendering a frame.

Determination of the neighboring edge intercepts and calculation of
the smoothed edge normal is now deferred and performed independently.

The sorted edge event list is also now only prepared when absolutely
necessary. The bottom and top events are now accessible independently
without needing to prepare the whole list (these are always present
and their sorted position never changes).

Also, as intercept events are not always necessary, memory allocation
for this data is performed as necessary reducing the footprint of an
instance of this class slightly.

Files

  • added
  • modified
  • copied
  • renamed
  • deleted

View differences