Object movement or position/rotation/size feels very snappy (especially driving) #180
Labels
No labels
amd
avatars
bug
builder
cannot-reproduce
crash
epic
feature
from-viewer
gl-removal
known-limitation
monitoring
parity
perf
platform
priority
critical
priority
high
priority
low
priority
medium
provenance
rendering
rt
status
in-progress
status
testing
status
up-next
triage
ui
upstream
No milestone
No project
No assignees
2 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
sky_line/Slipstream#180
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Environment
Slipstream Beta 0.12.0.33
Slipstream Beta 1.0.0.10
Description
I am not entirely sure how to describe it but object "movement" feels very snappy/"laggy", at least compared to Firestorm.
This is especially noticeable when driving a car.
I have attached two comparisons with two videos each, one recorded in Slipstream and one recorded in Firestorm.
The first one shows a prim whose size gets changed in an interval by a script (ignore the color change).
In Slipstream you can see how it "snaps" to the new size whereas in Firestorm it "moves" to it.
The second one is a quick drive in a car. What is very noticeable are the gauges (if compression didn't make them unrecognizable) and the steering wheel move very snappy whereas in Firestorm they rotate much smoother.
What isn't very clear in the video but can definitely be felt is how differently the car handles or "Feels to handle". Again it feels much smoother and more reliable/predictable in Firestorm compared to Slipstream.
I am also not sure if this really is a bug and not more of a feature/enhancement request but right now driving (especially D2 cars) generally feels much better on Firestorm
Reproduction steps
Thanks for the comparison videos. A lot has changed since 0.12; could you retest this on the current version, 1.0.0 Beta 8 (https://slipstreamviewer.org/download), and let us know whether scripted size/rotation changes and driving still feel snappy compared with Firestorm? Same test as your videos would be ideal.
I retested it in the latest release (Slipstream Beta 1.0.0.10
), it is still the same pretty much
Findings (2026-10-05):
1. Scale isn't eased (confirmed in code). LL damps position, rotation and scale over a few frames (
LLDrawable::updateXform,OBJECT_DAMPING_TIME_CONSTANT, eased scale inmCurrentScale). The VK transform builder takes eased position and rotation from the drawable (vkRenderLocalPose), but reads the object's target scale (vobj->getScale()inLLCleanInstanceStore::composeOwnedPoseand in the attachment branch of the per-frame mover refresh). So scripted size changes snap; that's the first video. Fix: usemDrawable->getScale()while LL is easing.2. Vehicle parts and handling (to measure). Child-prim rotations (steering wheel, gauges via
llSetLinkPrimitiveParamsFast) should already be eased throughvkRenderLocalPose, but candidates are:interpolateLinearMotion, velocity interpolation), plus camera smoothing and frame pacing, for the "handling feel".Next: per-frame instrumentation on a D2 drive vs Firestorm. Targeted for 1.1.0.
Fixed on main (
c7d9fc445e,a4f543c237,a395cedb42,3fb76e6dc2), confirmed smooth in-world: scripted scale easing, damped seat/avatar/camera moves, and GPU spin limited to stationary linksets so steering wheels and gauges ease. Ships in 1.1.0.