overte/libraries/shared/src
Dale Glass cdc15d7821 Improve settings system, by moving all writes to a thread
This should complete what was started in the HiFi days but didn't quite succeed.

Setting::Manager is now thread safe, and delegates all settings writes to a thread
that nothing waits on, which should ensure that settings don't degrade performance
even on slow storage devices.

Functions that weren't thread safe were removed from Setting::Manager, and it was
reduced to a key/value store.

Functions that modify state like beginGroup were implemented in the Settings class
instead, which should be created only in the context where it's needed. It will
forward all changes to the manager.

A few QSettings functions were left unimplemented because they're not used in
the code. They may be implemented later if there's a need.
2022-10-23 23:25:42 +02:00
..
avx2 Add fall-through comments to fix GCC warnings 2020-08-27 19:27:11 +02:00
shared Updated some URLs, rebranded documentation and changed default metaverse server address 2022-02-09 23:57:24 +01:00
AABox.cpp new improved polylines 2018-12-14 14:15:56 -08:00
AABox.h fix aabox operator+= 2018-09-04 16:25:47 -07:00
AACube.cpp faster aabox ray intersection and pre-computed inverse direction 2018-08-27 15:40:33 -07:00
AACube.h faster aabox ray intersection and pre-computed inverse direction 2018-08-27 15:40:33 -07:00
AngleUtil.h
ApplicationVersion.cpp check for update for dev-builds, handle semantic version 2018-06-08 17:20:57 -07:00
ApplicationVersion.h check for update for dev-builds, handle semantic version 2018-06-08 17:20:57 -07:00
AtRestDetector.cpp Disable user hand controllers if they are too far away or not moving. 2018-10-16 17:24:47 -07:00
AtRestDetector.h Disable user hand controllers if they are too far away or not moving. 2018-10-16 17:24:47 -07:00
AudioHelpers.h More robust approximation of distance attenuation at extreme settings. 2019-01-16 11:10:38 -08:00
AvatarConstants.h VR fixes for: couldn't sit on the floor, wrong walk directions. 2020-12-22 14:22:27 -05:00
BaseScriptEngine.cpp
BaseScriptEngine.h review and cleanup of "#include <QtCore/QSharedPointer>" 2021-09-10 21:40:54 -07:00
BillboardMode.cpp Update BillboardMode.cpp 2021-01-30 00:28:25 -08:00
BillboardMode.h Convert all "/**jsdoc" occurrences to "/*@jsdoc" 2021-05-12 10:54:45 +12:00
BitVectorHelpers.h
BlendshapeConstants.cpp Replace some QMap occurrences with QHash 2021-04-29 08:15:37 +12:00
BlendshapeConstants.h Replace some QMap occurrences with QHash 2021-04-29 08:15:37 +12:00
BoxBase.cpp parabola/polyvox, fixing some bugs 2018-07-24 10:08:35 -07:00
BoxBase.h Convert all "/**jsdoc" occurrences to "/*@jsdoc" 2021-05-12 10:54:45 +12:00
BRDF.cpp Fixed other compilation errors / warnings 2019-04-05 11:32:00 +02:00
BRDF.h Switched to split sum model for ambient (as Unreal) 2019-04-04 16:10:33 +02:00
Breakpoint.h Add missing file 2022-06-22 19:15:16 +02:00
BufferParser.h Update libraries/shared/src/BufferParser.h 2020-09-24 22:17:22 +02:00
ByteCountCoding.h
ColorUtils.cpp
ColorUtils.h s i m p l i f y 2018-08-23 11:47:56 -07:00
ComponentMode.cpp Convert all "/**jsdoc" occurrences to "/*@jsdoc" 2021-05-12 10:54:45 +12:00
ComponentMode.h cleaning up name lookups 2019-05-31 12:04:54 -07:00
CPUDetect.h
CPUIdent.cpp Don't store unused cpuident data arrays 2019-07-23 14:23:12 -07:00
CPUIdent.h Don't store unused cpuident data arrays 2019-07-23 14:23:12 -07:00
CrashAnnotations.cpp Add shutdown annotations for crash reporting 2019-09-30 14:54:17 -07:00
CrashAnnotations.h Add shutdown annotations for crash reporting 2019-09-30 14:54:17 -07:00
CrashHelpers.cpp added "c++ crash" to crash menu 2020-06-19 18:26:26 -07:00
CrashHelpers.h added "c++ crash" to crash menu 2020-06-19 18:26:26 -07:00
CubeProjectedPolygon.cpp Fix non self-sufficient headers 2018-05-04 16:26:41 -07:00
CubeProjectedPolygon.h
CubicHermiteSpline.h Make default copy constructors explicit 2020-01-19 00:20:49 +01:00
Debug.h
DebugDraw.cpp allow drawing DebugDraw spheres with a specific size 2019-09-17 09:43:19 -07:00
DebugDraw.h Convert all "/**jsdoc" occurrences to "/*@jsdoc" 2021-05-12 10:54:45 +12:00
DependencyManager.cpp Code review feedback 2019-05-10 15:41:52 -07:00
DependencyManager.h Replace the deprecated QMutex{ QMutex::Recursive} with QRecursiveMutex 2021-09-26 01:27:19 +02:00
DualQuaternion.cpp
DualQuaternion.h
Extents.cpp
Extents.h
Finally.h
FloodFill.h
FontFamilies.h supporting text effects + fonts on text entities 2019-07-30 09:59:45 -07:00
GenericQueueThread.h
GenericThread.cpp name all the threads 2021-02-13 20:17:28 -08:00
GenericThread.h
GeometryUtil.cpp Update libraries/shared/src/GeometryUtil.cpp 2020-09-24 22:17:16 +02:00
GeometryUtil.h Convert all "/**jsdoc" occurrences to "/*@jsdoc" 2021-05-12 10:54:45 +12:00
GizmoType.cpp ring gizmo entities 2019-01-23 17:46:04 -08:00
GizmoType.h Convert all "/**jsdoc" occurrences to "/*@jsdoc" 2021-05-12 10:54:45 +12:00
GLMHelpers.cpp Fix non self-sufficient headers. 2018-12-07 15:26:49 -08:00
GLMHelpers.h Revert commit 359248829c using -m 1 to temporarily fix issue 383. 2020-06-03 16:08:18 -04:00
GPUIdent.cpp One more pass of clean up on the platform api, returning the complete description in a single call, adding the version of the OS and deprecating legacy PlatformInfo calls 2019-06-19 16:52:33 -07:00
GPUIdent.h fixed a bunch of pr comments 2019-05-13 16:38:11 -07:00
Grab.cpp grab js api; send grab information through trait system 2019-01-03 08:17:52 -08:00
Grab.h deactivate grab action when grab is released 2019-01-30 14:43:11 -08:00
Gzip.cpp Fix non self-sufficient headers 2018-05-04 16:26:41 -07:00
Gzip.h
HashKey.cpp reduce footprint of ShapeManager::_shapeMap 2019-05-06 17:35:57 -07:00
HashKey.h reduce footprint of ShapeManager::_shapeMap 2019-05-06 17:35:57 -07:00
HifiConfigVariantMap.cpp Fix warnings related to deprecated usage of multiple keys in QHash and QMap 2021-11-26 17:53:23 +01:00
HifiConfigVariantMap.h Remove 2 year old migration code 2018-07-30 17:18:32 -07:00
Interpolate.cpp
Interpolate.h
JointData.h Review JSDoc updates from recent commits 2020-01-20 14:33:06 +13:00
LogHandler.cpp Renamed environment variables 2022-09-08 22:18:50 +02:00
LogHandler.h Improve error reporting for incorrect --logOptions 2022-06-28 00:34:43 +02:00
LogUtils.cpp Fix non self-sufficient headers 2018-05-04 16:26:41 -07:00
LogUtils.h
MaterialMappingMode.cpp renderLayer 2019-01-07 15:43:35 -08:00
MaterialMappingMode.h add some comments to help future devs 2019-06-04 15:45:33 -07:00
MathUtils.h Some work to try to find the odd resolution bug 2018-09-21 17:14:39 +02:00
MatrixStack.h
ModerationFlags.h Rebranding and fixing URLs 2022-09-08 22:10:13 +02:00
MovingMinMaxAvg.h
MovingPercentile.cpp Qt 5.13 warnings & fixes 2019-10-08 15:40:13 -07:00
MovingPercentile.h
NestableTransformNode.cpp Fix some dates and no newline at EOF 2019-08-02 16:13:07 -07:00
NestableTransformNode.h Mark BaseNestableTransformNode::toVariantMap with override 2019-08-05 12:02:24 -07:00
NumericalConstants.h Fix illegal instruction in libaudio.dylib on OSX 2020-06-25 19:31:46 +02:00
OctalCode.cpp Fix non self-sufficient headers 2018-05-04 16:26:41 -07:00
OctalCode.h
OwningBuffer.h Add uncompressed KTX files to baked texture output 2018-06-08 11:39:47 -07:00
Packed.h
PathUtils.cpp Add error reporting + Make temp dir erase safer 2019-04-23 14:54:12 -07:00
PathUtils.h Convert all "/**jsdoc" occurrences to "/*@jsdoc" 2021-05-12 10:54:45 +12:00
PerfStat.cpp Fix memory corruption in PerformanceTimer when Stats are active 2018-08-08 09:53:26 -07:00
PerfStat.h Fix memory corruption in PerformanceTimer when Stats are active 2018-08-08 09:53:26 -07:00
PhysicsCollisionGroups.h Convert all "/**jsdoc" occurrences to "/*@jsdoc" 2021-05-12 10:54:45 +12:00
PhysicsHelpers.cpp revert the revert of PR-16307 2019-11-14 09:59:43 -08:00
PhysicsHelpers.h clarify safeLanding retry rate 2019-08-20 17:33:29 -07:00
PickFilter.h Convert all "/**jsdoc" occurrences to "/*@jsdoc" 2021-05-12 10:54:45 +12:00
PIDController.cpp Fix non self-sufficient headers 2018-05-04 16:26:41 -07:00
PIDController.h
Plane.cpp
Plane.h
PointerEvent.cpp Convert all "/**jsdoc" occurrences to "/*@jsdoc" 2021-05-12 10:54:45 +12:00
PointerEvent.h
PortableHighResolutionClock.cpp
PortableHighResolutionClock.h
Preferences.cpp
Preferences.h Fix for some spinner boxes not changing value when using their buttons or the mouse wheel. 2021-02-22 22:34:04 -05:00
PrimitiveMode.cpp working on primitiveMode and groupCulled 2019-01-08 10:02:03 -08:00
PrimitiveMode.h Convert all "/**jsdoc" occurrences to "/*@jsdoc" 2021-05-12 10:54:45 +12:00
PrioritySortUtil.h trying to fix entity tree renderer performance 2019-06-24 14:32:56 -07:00
Profile.cpp Fix tracing warning spam 2019-08-09 17:20:41 -07:00
Profile.h Support explicit timestamps in tracing, conditional event output based on duration 2019-03-26 13:50:46 -07:00
PropertyFlags.h
PulseMode.cpp add pulse group properties to shapes, particles, text, web, image, and grid 2019-01-16 13:34:10 -08:00
PulseMode.h Convert all "/**jsdoc" occurrences to "/*@jsdoc" 2021-05-12 10:54:45 +12:00
QVariantGLM.cpp xcolor/rgbcolor conversion 2018-07-11 18:06:06 -07:00
QVariantGLM.h xcolor/rgbcolor conversion 2018-07-11 18:06:06 -07:00
Radix2InplaceSort.h
Radix2IntegerScanner.h
RandomAndNoise.h Switched to split sum model for ambient (as Unreal) 2019-04-04 16:10:33 +02:00
RegisteredMetaTypes.cpp Convert all "/**jsdoc" occurrences to "/*@jsdoc" 2021-05-12 10:54:45 +12:00
RegisteredMetaTypes.h Convert all "/**jsdoc" occurrences to "/*@jsdoc" 2021-05-12 10:54:45 +12:00
RenderForward.h fix runtime switch 2019-05-13 09:58:55 -07:00
RenderLayer.cpp renderLayer 2019-01-07 15:43:35 -08:00
RenderLayer.h Convert all "/**jsdoc" occurrences to "/*@jsdoc" 2021-05-12 10:54:45 +12:00
ResourceRequestObserver.cpp Convert all "/**jsdoc" occurrences to "/*@jsdoc" 2021-05-12 10:54:45 +12:00
ResourceRequestObserver.h Convert all "/**jsdoc" occurrences to "/*@jsdoc" 2021-05-12 10:54:45 +12:00
RingBufferHistory.h
RunningMarker.cpp
RunningMarker.h
ScriptValueUtils.cpp
ScriptValueUtils.h
SettingHandle.cpp Improve settings system, by moving all writes to a thread 2022-10-23 23:25:42 +02:00
SettingHandle.h Improve settings system, by moving all writes to a thread 2022-10-23 23:25:42 +02:00
SettingHelpers.cpp Fix 'warning: ‘size_t strlen(const char*)’ reading 1 or more bytes from a region of size 0 [-Wstringop-overread]' 2022-06-10 00:46:19 +02:00
SettingHelpers.h
SettingInterface.cpp Improve settings system, by moving all writes to a thread 2022-10-23 23:25:42 +02:00
SettingInterface.h
SettingManager.cpp Improve settings system, by moving all writes to a thread 2022-10-23 23:25:42 +02:00
SettingManager.h Improve settings system, by moving all writes to a thread 2022-10-23 23:25:42 +02:00
ShapeInfo.cpp Convert all "/**jsdoc" occurrences to "/*@jsdoc" 2021-05-12 10:54:45 +12:00
ShapeInfo.h Revert commit 359248829c using -m 1 to temporarily fix issue 383. 2020-06-03 16:08:18 -04:00
SharedLogging.cpp
SharedLogging.h
SharedUtil.cpp Rewrite outputBits without sprintf (deprecated) 2022-06-10 00:46:19 +02:00
SharedUtil.h Move user agent to networking constants. 2020-07-08 14:18:24 -04:00
ShutdownEventListener.cpp
ShutdownEventListener.h
SimpleAverage.h
SimpleMovingAverage.cpp Fix non self-sufficient headers 2018-05-04 16:26:41 -07:00
SimpleMovingAverage.h
SimulationFlags.h build CollisionShapes and load RigidBodies even when not yet stepping 2019-05-06 17:37:35 -07:00
SpatiallyNestable.cpp review and cleanup of "#include <QtCore/QSharedPointer>" 2021-09-10 21:40:54 -07:00
SpatiallyNestable.h entities with billboardMode != none use local rotation so parent rotation doesn't affect them 2021-02-18 22:15:12 -08:00
SpatialParentFinder.h revert the revert of PR-16307 2019-11-14 09:59:43 -08:00
StatTracker.cpp
StatTracker.h
StDev.cpp Fix non self-sufficient headers 2018-05-04 16:26:41 -07:00
StDev.h
StencilMaskMode.h wip redo stencil work 2019-04-11 13:22:51 -07:00
StreamHelpers.h
StreamUtils.cpp s i m p l i f y 2018-08-23 11:47:56 -07:00
StreamUtils.h s i m p l i f y 2018-08-23 11:47:56 -07:00
TBBHelpers.h Fix build under Qt 5.14 and later. 2020-08-26 00:01:29 +02:00
TextAlignment.cpp add text alignment property 2021-02-10 21:45:53 -08:00
TextAlignment.h Convert all "/**jsdoc" occurrences to "/*@jsdoc" 2021-05-12 10:54:45 +12:00
TextEffect.cpp supporting text effects + fonts on text entities 2019-07-30 09:59:45 -07:00
TextEffect.h Convert all "/**jsdoc" occurrences to "/*@jsdoc" 2021-05-12 10:54:45 +12:00
ThreadHelpers.cpp
ThreadHelpers.h name all the threads 2021-02-13 20:17:28 -08:00
ThreadSafeValueCache.h First version of faux joint optimizations 2019-04-22 11:02:13 -07:00
TimeWeightedAvg.h
Trace.cpp Support explicit timestamps in tracing, conditional event output based on duration 2019-03-26 13:50:46 -07:00
Trace.h Support explicit timestamps in tracing, conditional event output based on duration 2019-03-26 13:50:46 -07:00
Transform.cpp
Transform.h
TransformNode.h Fix some dates and no newline at EOF 2019-08-02 16:13:07 -07:00
TriangleSet.cpp fix several uninitialized reads 2018-09-26 09:33:12 -07:00
TriangleSet.h faster aabox ray intersection and pre-computed inverse direction 2018-08-27 15:40:33 -07:00
TryLocker.h
UUID.cpp
UUID.h
UUIDHasher.h
VariantMapToScriptValue.cpp Fix AvatarEntityMap string values to be primitives, not objects 2019-11-28 13:56:33 +13:00
VariantMapToScriptValue.h
ViewFrustum.cpp Small optimization by using squared distance and not distance in depth sort 2018-08-06 08:20:21 +02:00
ViewFrustum.h Small optimization by using squared distance and not distance in depth sort 2018-08-06 08:20:21 +02:00
WarningsSuppression.h Implement Visual C warnings suppression 2022-06-10 00:46:19 +02:00
WebInputMode.cpp setup qml surface contexts 2019-01-14 09:26:57 -08:00
WebInputMode.h Convert all "/**jsdoc" occurrences to "/*@jsdoc" 2021-05-12 10:54:45 +12:00
windowshacks.h