February 2017
|
2017-02-26
|
libcore
| :
| Faster time tracking; keep one time for each loop iteration
|
2017-02-26
|
Animation
|
libcore
| :
| Faster animation time checking
|
2017-02-12
|
Doom
|
FS
| :
| Release cached files whenever entering Home
|
2017-02-12
|
FS
|
libcore
| :
| Memory optimizations in the file system
|
2017-02-12
|
FS
|
libcore
|
Refactor
| :
| Proper script bindings File and Folder
|
2017-02-12
|
libcore
|
Widgets
| :
| Use PointerSet for rule dependency tracking
|
2017-02-11
|
libcore
| :
| Avoid large observer audiences
|
June 2016
|
2016-06-19
|
libappfw
| :
| Save memory in GuiWidget
|
2016-06-04
|
libcore
| :
| Faster high-performance timing
|
July 2015
|
2015-07-08
|
Doom
|
Performance
| :
| Optimized checking of DEDRegister size
|
May 2015
|
2015-05-15
|
Clang
|
Client
|
Fixed
|
Map
| :
| Crash in optimized build (undefined behavior)
|
October 2014
|
2014-10-03
|
liblegacy
|
Smoother
| :
| Smoother_Evaluate should not continuously log its internal state
|
April 2014
|
2014-04-23
|
SectorCluster
|
World
| :
| Avoid unnecessary Surface Decoration updates
|
2014-04-09
|
GL
|
libgui
| :
| Reserve less memory for GL vertex building
|
2014-04-09
|
libdeng2
|
Lockable
| :
| Use automatic storage with Lockable
|
March 2014
|
2014-03-17
|
libappfw
|
libdeng2
|
libgui
|
Performance
| :
| Performance and memory tuning
|
February 2014
|
2014-02-24
|
libdeng2
|
libgui
|
Refactor
| :
| Enhanced BitField behavior
|
December 2013
|
2013-12-07
|
Cleanup
|
ResourceSystem
| :
| Store temporary auto-generated SpriteDefs in a QHash; cleanup
|
October 2013
|
2013-10-06
|
Client
|
ContactBlockmap
|
World
| :
| Flag spread ContactBlockmap cells with a separate bit array
|
September 2013
|
2013-09-17
|
SliderWidget
|
ToggleWidget
| :
| Avoid per-frame PathTree queries
|
2013-09-15
|
Refactor
|
World
| :
| Preprocess sector cluster containment for dynamic plane mapping
|
2013-09-15
|
Client
|
Refactor
|
UI
| :
| Background text wrapping; avoid redundant updates
|
2013-09-15
|
Sector
|
World
| :
| Height of permanently mapped planes is not observed by clusters
|
2013-09-12
|
Client
|
Map Renderer
|
SurfaceDecorator
| :
| Batch surface redecoration by material
|
August 2013
|
2013-08-16
|
Map Loading
|
Sector
| :
| Utilize the BSP leaf blockmap when preparing sector reverb
|
2013-08-13
|
Builder
|
qmake
| :
| Avoid numerous python invocations when parsing
|
2013-08-09
|
libdeng2
|
Observers
| :
| Use regular mutex
|
2013-08-09
|
libdeng2
|
Observers
| :
| Ensure Loop does not copy the observer set
|
2013-08-05
|
Client
|
FontLineWrapping
| :
| Better findMaxWrap; made thread-safe
|
2013-08-05
|
Font
|
libgui
|
Refactor
| :
| Faster rich format subranges
|
2013-08-04
|
BiasIllum
|
Client
|
Shadow Bias
| :
| Perform bias source line-of-sight testing last
|
2013-08-04
|
Console
| :
| Annotating a list of terms for autocompletion popup
|
2013-08-04
|
BitField
|
libdeng2
| :
| Ensure containers are used in const mode
|
2013-08-04
|
BiasIllum
|
Client
|
Shadow Bias
| :
| Allocate memory for bias interpolation when necessary
|
July 2013
|
2013-07-31
|
BiasSurface
| :
| Vertexes are no longer concerned where light contributions originate
|
2013-07-30
|
BiasSurface
| :
| Manage changes to light contributions without a tracker
|
2013-07-29
|
BiasSource
| :
| Do not observe sector lighting changes in the void
|
2013-07-27
|
Client
| :
| Defer initialization of Bias surface and vertex data
|
2013-07-19
|
Client
|
Performance
|
WallEdge
|
World
| :
| WallEdge performance optimizations
|
2013-07-15
|
App
|
GuiApp
|
libdeng2
| :
| High-performance timing for the App/Animation Clock
|
2013-07-13
|
Client
|
UI
| :
| More intelligent text line alloc/release on atlas
|
June 2013
|
2013-06-25
|
Shadow Bias
| :
| Integrated BiasSurface, optimized linking mechanism
|
2013-06-18
|
BSP Builder
| :
| Allocate vertexes for BSP line segments from the map's Mesh
|
May 2013
|
2013-05-24
|
Client
|
FontLineWrapping
| :
| Determining wraps more efficiently
|
2013-05-16
|
Performance
|
Resources
| :
| Improved TEXTUREn lump load performance by ~14%
|
2013-05-16
|
Map Renderer
| :
| Merged sky-fix edge construction and tri-strip generation
|
March 2013
|
2013-03-29
|
| :
| NativePath remembers the current work path
|
2013-03-22
|
| :
| O(1) index lookup of map elements in a list
|
February 2013
|
2013-02-14
|
FS1
|
Server
| :
| Composing server info
|
December 2012
|
2012-12-15
|
Performance
| :
| Improved startup performance with a lot of models
|
2012-12-07
|
| :
| Removed the redundant central texture index
|
2012-12-06
|
| :
| Use de::Path with FS1::PathListItem
|
2012-12-05
|
| :
| Use Unicode in file name pattern matching
|
2012-12-05
|
LumpIndex
| :
| Only prune duplicates when needed
|
2012-12-05
|
libdeng2
| :
| Path comparison uses segment hashes
|
2012-12-04
|
libdeng2
| :
| App remembers the native base path once determined
|
November 2012
|
2012-11-19
|
Refactor
|
Uri
| :
| Encourage the compiler to optimize assignment
|
2012-11-18
|
| :
| Restructured model loading
|
2012-11-10
|
Refactor
|
Uri
| :
| Various de::Uri refactorings
|
October 2012
|
2012-10-03
|
LumpDirectory
| :
| Fold in outstanding duplicates when pruning a LumpDirectory by file
|
2012-10-03
|
LumpDirectory
| :
| Revised LumpDirectory pruning
|
September 2012
|
2012-09-20
|
| :
| Reduced map load times by a further ~10%
|
2012-09-12
|
| :
| Use native math function in bamsAtan2()
|
2012-09-10
|
BSP Builder
| :
| Use the linedef blockmap to accelerate window effect scanning
|
2012-09-05
|
libcommon
| :
| Avoid memory allocs when drawing the multiplayer scoreboard
|
2012-09-04
|
libcommon
|
Performance
| :
| Addressed Patch replacement related performance issues
|
2012-09-01
|
BSP Builder
| :
| Reduced working memory requirement
|
August 2012
|
2012-08-30
|
BSP Builder
| :
| Replaced various internal BSP traversals with a LUT
|
2012-08-30
|
SFX
| :
| Further improvements for sector reverb calculations
|
2012-08-30
|
SFX
| :
| Reverb updates are not needed when 3D SFX disabled
|
July 2012
|
2012-07-27
|
| :
| Use a dictionary of resolved materials during map conversion
|
2012-07-26
|
| :
| T_SCROLL thinkers for material origin scrolling
|
March 2012
|
2012-03-08
|
| :
| Reduced stack usage in pathConstructor()
|
2012-03-06
|
PathDirectory
| :
| Faster path constructor
|
February 2012
|
2012-02-23
|
Debug
|
Memory Zone
| :
| Optimized rendering of the debug visualization
|
January 2012
|
2012-01-08
|
Performance
| :
| Improved performance of StringPool's intern mechanism
|
2012-01-08
|
Performance
| :
| Improved performance of PathDirectory population
|
2012-01-08
|
Performance
| :
| Improved performance of StringPool's intern mechanism
|
November 2011
|
2011-11-03
|
| :
| Use parallel hash tables in PathDirectory
|
October 2011
|
2011-10-30
|
| :
| Update MaterialSnapshots only when necessary
|
September 2011
|
2011-09-29
|
| :
| Do not bother buffering unknown chunks in models
|
August 2011
|
2011-08-14
|
| :
| Sort PathDirectoryNodes into separate hash lists by node type, speeding up searches significantly (e.g., when searching CVars ~65% of the directory is now immediately rejected).
|
April 2011
|
2011-04-16
|
Added
|
Fixed
| :
| F_AllResourcePaths resulted in bogus leaf nodes being added to FileDirectory for all subdirectories of the matched search path. For example, if the directory data\jdoom\models\ exists in the real filesystem and the search data\jdoom\* is executed, a
|
2011-04-15
|
| :
| Implemented a path fragment hashing scheme to FileDirectory in place of the simple linear search and significantly improving the average-case search time. This is now of the same time-complexity as the search algorithm used with material namespaces (
|
2011-04-08
|
| :
| createGlowLightForSurface can early out if the Surface's Material is not presently glowing at this time.
|
2011-04-07
|
Performance
| :
| Store detail texture variant specifications into a set of buckets according to their quantized contrast value. As detail specifications have only one property (i.e., the contrast value) this means that search/selection performance is now bounded to O
|
2011-04-06
|
Refactor
| :
| Refactored away unnecessary heap allocation in getVariantSpecificationForContext. Querying for and retrieval of a known TextureVariantSpecification no longer involves dynamic allocations.
|
March 2011
|
2011-03-20
|
Fixed
|
Refactor
| :
| * Optimize: Reorganised de:TextureVariantSpecification removing wasted space. * Optimize: Store detail texture variant specifications separately to those for "normal" textures. * Fixed ccmd listmaterials due to recent material namespace id changes. *
|
February 2011
|
2011-02-25
|
Fixed
|
Improved hq2x implementation
| :
| * Fixed: Filter sampling did not wrap around texture borders resulting in noticeable artefacts when tiled. * Changed: Removed 24 to 16-bit color downsampling when doing RGB to YUV conversion (merged changes by Cameron Zemek see here: http://code.goog
|
2011-02-19
|
| :
| Reworked F_CreateUriList* so as to remove the requirement for a terminating semicolon (applies to the F_FindResource* family too). Optimized using a fixedsize local buffer on the stack and we now parse in one pass.
|
August 2010
|
2010-08-09
|
| :
| If both left and right lightlevels are the same when drawing a wall, use the vector version of lightVertex so as to potentially benefit from SSE.
|
July 2010
|
2010-07-24
|
| :
| Do not project LT_PLANE-type Lumobjs for glowing Surfaces in zero-height Sectors.
|
June 2009
|
2009-06-17
|
| :
| Optimize memory management in the deferred mobj spawn system. Allocate spawn queue nodes in batches of 32. Maintain a list of unused nodes to be recycled later.
|
2009-06-12
|
| :
| Pruned redundant code in R_RegisterSkin; we now use the resource locator for searching a model's local directory and will also handle trying each supported graphic file format in said location.
|
May 2009
|
2009-05-31
|
Fixed
|
Refactor
| :
| "Monsters become active at start of some maps" (see here http://sourceforge.net/tracker/?func=detail&aid=2655883&group_id=74815&atid=542099). Optimize: Adapted Killough's method for LOS checks. Original implementation sourced from Eternit
|
2009-05-01
|
| :
| Improved load time with large maps (memory allocation of vertexillums).
|
March 2009
|
2009-03-28
|
Fixed
| :
| Particle generators are now linked into the world once per render frame and used for all viewports. Plus various other minor optimizations. Fixed: Only the last viewport drawn correctly if the render lists are frozen or if the view player is in the v
|
2009-03-26
|
| :
| Separate thinkers into lists by their function in P_ThinkerAdd. Iterate over only those thinkers whose function matches, or all if not specified in P_IterateThinkers.
|
February 2009
|
2009-02-13
|
| :
| Make use of the materialbind_t namespace hash tables in P_DeleteMaterialTextures and printMaterials.
|
2009-02-13
|
| :
| Use seperate hash tables for each materialbind_t namespace.
|
2009-02-03
|
| :
| We can early out of LOIT_ClipLumObjBySight as soon as we determine the lumobj is clipped.
|
January 2009
|
2009-01-27
|
Fixed
|
GL
| :
| Construct display lists for the automap line characters. Fixed bug in getKeyColorForMobjType which failed to end iteration immediately when the list of mobj types had been checked. Optimized renderLineCharacter; construct a GL display list for each c
|
November 2008
|
2008-11-03
|
| :
| Optimized sprite precaching in R_PrecacheLevel. Now only caches the materials of sprites used by states of mobjs actually present on the map. This is more conservative than the previous implementation which would attempt to precache every last sprite
|
June 2008
|
2008-06-28
|
| :
| Reworked XG_Ticker so that thinking for extended lines and sectors is handled in thinkers rather than iterating every linedef and sector in the map, every frame.
|
2008-06-27
|
Performance
| :
| Redesigned the way game map objects are managed in the map transfer between map loader and the engine, resulting in a ~16% performance boost in map load times.
|
April 2008
|
2008-04-09
|
| :
| Replaced the method used to determine the alpha delta for "soft" surfaces; project the viewer onto the line being tested and then calculate the approximate distance to the resultant point.
|
2008-04-06
|
Performance
| :
| * Got rid of rendpoly_t. Whilst it was a convenient way to pass data around the renderer it was quite inflexible and was a bit of a performance bottleneck. The position and color data for rendpoly vertices are now held in parallel arrays and the rend
|
2008-04-04
|
| :
| Various improvements to the P_BuildSubsectorBlockMap() algorithm for a nice 73% speed increase. Also, no need to calculate the map vertex AABB here as we have a cached result in gamemap_t.
|
2008-04-03
|
| :
| Don't build a linedef AABB every time it is needed; cache in linedef_t instead.
|
2008-04-03
|
| :
| When loading a map, build the BLOCKMAP first rather than the BSP. The BLOCKMAP can be built in a fraction of the time it takes to build the BSP, so, by building it first we can use it's spatial information to accelerate the BSP generation. Currently,
|
2008-04-03
|
| :
| Reduce redundant material id lookups during map loading. Changed the MPE_SidedefCreate and MPE_PlaneCreate create to accept material ids rather than name strings and updated wadmapconverter to do the lookup once at material registration time. R_Check
|
2008-04-01
|
| :
| Store a ptr to material in animframe_t rather than a material type plus index so that there is no need to look it up. Moved R_PrecacheMaterial() into r_materials.c Various other minor tweaks and cleanup.
|
March 2008
|
2008-03-29
|
| :
| Plotted decoration origins do not change on the XY plane during plotting in decorateLineSection() so they are invariant to the inner vertical pattern loop.
|
2008-03-29
|
| :
| Further optimized the calculation of decormodel yaw and pitch; yaw and pitch are invariant within the inner decoration plotting loops.
|
2008-03-29
|
Fixed
| :
| We do not need to calculate decormodel pitch and yaw every frame. Instead, calculate in decorateLineSection() when the position of the decoration is plotted and cache the result to surfacedecor_t. Fixed: decormodels are now lit by the lightgrid when
|
2008-03-29
|
| :
| There is no need to call R_PointInSubsector() from createSurfaceDecoration(). Instead, determine the decorations' subsector in decorateLineSection() and cache the result in surfacedecor_t. Also, ensure the surface material offset tracking buffers are
|
2008-03-29
|
| :
| Optimized P_FinalizedLevel() a bit.
|
2008-03-27
|
| :
| When a plane moves, mark all wall surfaces in the same sector as the moving plane as requiring a decoration update. Also, further optimized the decoration plotting; we only need to know the dimensions of the surface material during a decoration updat
|
2008-03-09
|
| :
| Optimized Rend_RadioSubsectorEdges() a bit.
|
January 2008
|
2008-01-28
|
| :
| Optimized the clockwise winding algorithm used in the creation of BSPs. By utilizing the newly created BSP structure itself for traversal it meant the global node and subsector arrays could be removed entirely.
|
August 2007
|
2007-08-06
|
| :
| Further optimized renderWalls() to reduce the number of DMU calls. This includes using P_SubsectorBoxIterator() to reduce the number of subsectors in the set that must be drawn to those (possibly) within the map's view frame (instead of attempting to
|
July 2007
|
2007-07-02
|
| :
| Minor tweaks to the routines used for querying the existence of OpenGL extensions. Don't use bit shifts when multiplying/dividing by a power of two in texture.c, leave the decision to optimize up to the compiler.
|
May 2007
|
2007-05-06
|
| :
| Revised seg vertex order used during render, now uses a [bl, tl, br, tr] order and I've changed the render primitive to DGL_TRIANGLE_STRIP. Changes were made in preparation for planned changes to optimize wall seg rendering.
|
October 2006
|
2006-10-11
|
Fixed
| :
| Changed wall seg rendering. Previously we were calculating whether each wall seg, in all visible subsectors faced the viewer at least three times per seg per frame unnecessarily. This calculation is now done once per frame per seg in visible subsecto
|
2006-10-08
|
Added
| :
| Rendpolys are no longer allocated on the stack each and every time they are needed. Added a rendpoly allocation mechanism which allows the same rendpolys to be re-used whenever possible. Number of vertices are also allocated dynamically at this time,
|
October 2005
|
2005-10-15
|
| :
| Optimized event processing, Mac tweaks
|
June 2003
|
2003-06-05
|
| :
| Optimized model loading using file hash, profiling
|
2003-06-03
|
| :
| Optimized zipentry searching uses a binary search
|