Project

General

Profile

« Previous | Next » 

Revision 0a76a1cf

Added by skyjake over 10 years ago

Refactor|Optimize|libdeng2|libgui: Enhanced BitField behavior

de::BitField is heavily used for managing the OpenGL state in
de::GLState. However, it was storing the elements metadata separately
in each BitField instance even though the metadata is the same for
all the BitFields used in GLState, and every time a BitField was
copied it was necessary to make a copy for the metadata and destroy
the old copy. This produced a measurable overhead when doing lots
of GLState::apply() calls.

Now BitField stores the metadata externally and it can be shared
efficiently by multiple instances.

Files

  • added
  • modified
  • copied
  • renamed
  • deleted

View differences