Project HTTP Release Notes
Overview
- Pipelined HTTP Operations for Mesh and Texture Fetches
- At long last, this feature allows the viewer to issue multiple asset fetches on a connection without waiting for responses to earler requests. This reduces the impact of a user's physical location on scene loading and generally improves the experience for everyone.
- Inventory Fetch Improvements
- Inventory folder and item fetches are getting some of the same treatment that textures and meshes did in previous releases. Initial inventory load should be quicker and more robust for all users.
Details
Pipelined HTTP
HTTP Pipelining is now being used to decrease latency and increase throughput during scene loading. Pipelining's core element is that it eliminates the wait for a complete response between requests. This allows requests and responses to flow at all times bringing meshes and textures to the viewer faster.
Who benefits from pipelining? This is one of those very rare times when those farther from Linden Lab servers can get the greater improvement. Earlier this year we
blogged about the HTTP project. That post describes limits encountered using SecondLife, some imposed by servers, others by how HTTP is used. Users in North America (~60mS ping time) may already reach server limits and see minor improvement. But a gap develops as ping times increase. Pipelined HTTP can operate in this gap regardless of physical distance.
Inventory Fetch
When you login to a grid and navigate in the Inventory Floater, inventory fetch operations are performed by the viewer. The HTTP implementation of these operations has been given some of the treatment given to texture and mesh fetches in previous HTTP viewer releases:
- Fewer connections are being used
- Those being used are used more effectively
- Error detection and recovery is more robust
Inventory-modifying operations remain the same. These changes apply only to the fetch operations that populate the Inventory floater.