Runtime configuration
In this section, we will cover some of the runtime configuration options that you can use to customize the behavior of the runtime.
Android properties
If you are using JSAR in YodaOS-Master or other AOSP-based systems, you can use these properties to configure the runtime.
Entering the debugging mode
Before all the configration, you need to enable the debugging mode:
adb shell setprop jsar.debug.enabled yes
Disable the caching
To disable the resource caching:
adb shell setprop jsar.resources.caching no
Enable the renderer tracing
To enable the tracing of the renderer:
adb shell setprop jsar.renderer.tracing yes
Then you can view the logs in TR_GLES
channel:
07-18 17:49:16.204 TR_GLES: [0] GL::ActiveTexture(0)
07-18 17:49:16.204 TR_GLES: [0] GL::BindTexture(0xde1, 24) for active(33984) program(24)
07-18 17:49:16.204 TR_GLES: [0] GL::ActiveTexture(1)
07-18 17:49:16.204 TR_GLES: [0] GL::BindTexture(0xde1, 3) for active(33985) program(24)
07-18 17:49:16.204 TR_GLES: [0] GL::DrawElements(mode=GL_TRIANGLES, count=5220, type=GL_UNSIGNED_INT, indices=0x0)
07-18 17:49:16.204 TR_GLES: Program: 24
07-18 17:49:16.204 TR_GLES: Program: LINK_STATUS=1
07-18 17:49:16.204 TR_GLES: Program: VALIDATE_STATUS=0
07-18 17:49:16.204 TR_GLES: Element Array Buffer: 92
07-18 17:49:16.204 TR_GLES: Active Attribute(0): Enabled=Yes Size=1 Type=0x8b51 "normal"
07-18 17:49:16.204 TR_GLES: Active Attribute(1): Enabled=Yes Size=1 Type=0x8b50 "uv"
07-18 17:49:16.204 TR_GLES: Active Attribute(2): Enabled=Yes Size=1 Type=0x8b52 "matricesWeights"
07-18 17:49:16.204 TR_GLES: Active Attribute(3): Enabled=Yes Size=1 Type=0x8b51 "position"
07-18 17:49:16.204 TR_GLES: Active Attribute(4): Enabled=Yes Size=1 Type=0x8b52 "matricesIndices"
Enable graphics debugging
To enable the graphics debugging:
adb shell setprop jsar.renderer.graphics.debug yes
Then you can view the graphics debugging logs in TR_GLES
channel as well:
07-18 17:49:16.204 TR_GLES: [KHR_debug] GL::DebugMessageCallback(0x0, 0x0, 0x0, 0x0)
This option is only available in the OpenGLES backend and requires the support of the
KHR_debug
extension in the device.
Configure click distance threshold
Click Distance Threshold
The click distance threshold determines the maximum distance between mousedown
and mouseup
hit points for triggering click events, as defined in the Web UI Events specification. This threshold helps distinguish between click and drag gestures by measuring the spatial proximity of pointer events.
When a user interaction begins with a selectStart
event and ends with a selectEnd
event, a click
event is only generated if:
- Both events target the same element
- The distance between hit points is less than the configured threshold
Configuration
To configure the click distance threshold:
adb shell setprop jsar.events.click_distance_threshold 5
The default value is 5 pixels, which provides good tolerance for pointer device jitter while maintaining distinction between click and drag gestures.
- Smaller values (1-3): More precise click detection, may be harder to trigger clicks with pointing devices
- Larger values (5-10): More tolerant of device jitter, easier to trigger clicks but may register drags as clicks
You can also set this via environment variable at non-Android platforms:
export JSAR_CLICK_DISTANCE_THRESHOLD=5