Alphabetical Index | Tags by Size | Find tag:


Related tags: Added, Cleanup, Debug, Fixed, Refactor, Revert

Authorship: 66% danij, 34% skyjake

View commits by groups

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:
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 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