✨ Feature Requests

  • Search existing ideas before submitting- Use support.secondlife.com for customer support issues- Keep posts on-topicThank you for your ideas!
Vulkan Support – Future-Proofing Second Life for Better Performance & Graphics
🔴 Summary 🔴 Second Life has come a long way, but OpenGL is becoming outdated. To ensure SL remains visually competitive and runs smoothly on modern hardware, I propose that Linden Lab begins development on Vulkan support as a long-term goal. This transition would greatly improve performance, reduce crashes, and allow SL to take full advantage of modern GPUs. 🟡 Why Vulkan? 🟡 ✅ Better FPS & Performance – Vulkan is optimized for multi-core CPUs and modern GPUs, meaning higher frame rates and less lag in complex environments. ✅ More Stability & Fewer Crashes – Vulkan manages memory more efficiently than OpenGL, reducing viewer crashes and graphical glitches. ✅ Future-Proofing Second Life – OpenGL’s development has slowed, while Vulkan is the industry standard for new and upcoming graphics engines. ✅ Improved Graphics Potential – Vulkan supports advanced rendering features that could enhance lighting, shadows, reflections, and materials in SL. 🟢 How This Transition Could Work Smoothly 🟢 Instead of a sudden shift, I suggest a gradual development plan (2025-2030): 1️⃣ 2025-2026: Linden Lab researches Vulkan feasibility and starts experimental development. 2️⃣ 2027-2028: An optional Vulkan beta mode is introduced for testing and optimization, running alongside OpenGL. 3️⃣ 2029-2030: Vulkan becomes the default renderer, with OpenGL as a fallback for older systems. 4️⃣ Community Engagement: Regular updates from Linden Lab on progress, plus support for third-party viewers adapting to Vulkan. 🔵 Why Start Now? 🔵 Even though this transition will take years, starting early ensures SL stays ahead rather than falling behind other virtual worlds. A well-planned Vulkan integration could attract new users while making SL smoother for current residents. If you agree, please upvote and share your thoughts in the comments! Let’s show Linden Lab that the community is ready for a modern and optimized Second Life! 👍 💬 �
14
·
Performance
·
tracked
Mainland lag - Why do we need EVERY parcel to load?
With the shiny new PBR materials and Linden Lab's ongoing indifference to anyone actually trying to enjoy the Mainland, how about this radical idea: only load the parcel I'm standing on, instead of every single bordering parcel at once. This should be an option and it is super simple to implement into your ancient un-optimized code. Yes, I know draw distance exists, but it clearly isn't solving the problem of your engine rendering the entire neighborhood's junk while I’m just trying to stand still without my FPS tanking. LL, for once, try pretending you actually care about the existing user experience instead of just cranking out more generic prefab houses to bait people into P+. MAINLANDERS ALREADY PAY FOR A MEMBERSHIP PLUS A RIDICULOUSLY HIGH TIER. I'm on a 500mbps connection and have a mid-range gaming PC and still lags out on a low draw distance. o.O Newsflash: not everyone wants one of your little cookie-cutter McMansions that sucks all creativity out the window nor do we want to pay to have 5fps which turns SL into a slide show. Second Life was supposed to be about creativity, right? Yet your low-prim, boring, zero-personality starter homes offer all the creative freedom of a Soviet-era apartment block. Brilliant strategy. Let's show some love to the tens of thousands of us who own mainland parcels, all of whom are paying members. Provide a quality experience and people will stop leaving!! Mainland is in severe decline, as seen by the plummeting prices and quantity of abandoned parcels and parcels for sale. Fault lays on LL for ignoring the mainland. End the mainland or fix the issues.
5
·
Performance
·
tracked
Extend Simulator to Host Multiple Regions
Summary: This is an idea to extend the simulator architecture to allow a simulator to have larger space by allowing it to host multiple regions within the simulator Details: The simulator hosting multiple sub-regions is called a "Linked-Region" here in this feedback Each sub-region hosted by the simulator remains a 256x256 area; let's call it a "Sub-Region" here The Linked-Region Simulator would have multiple global grid coordinates, one for each sub-region And so the Grid can identify normal regions or Linked-Region sub-regions with global grid coordinates in a similar manner; each coordinate is assigned to a sub-region The Linked-Region has a base region name, and each sub-region would have a region name with a post-fix number, like <Region Name> #2 , #3 , #4 , etc. There will be a primary sub-region that can be referred to by the base region name or <Region Name> #1 , while the rest of the sub-regions would have post-fix numbers The Grid would be able to identify the Linked-Region and its sub-regions by the base region name or <Region Name> #<Sub-Region Number> (or for the primary sub-region, just <Region Name> ) SLURL would be extended to resolve the Linked-Region and its sub-regions in the same way, like <Region Name> #<Sub-Region Number> The simulator would manage the agent/object/script information with an extended format, like {sub-region-id, <x, y, z>} , or by keeping objects in each sub-region separated in some way The simulator would know which agent/object/script belongs to which sub-region, so crossing between sub-regions of the same simulator would not require the data packing/transfer/unpacking process, making the crossing faster within the Linked-Region The simulator would check whether a crossing is between different simulators or within itself (meaning between sub-regions of the same simulator) and decide whether to use the normal region crossing process or an inter-sub-region crossing process What is currently inter-simulator communication can happen within the Linked-Region The agent/object/script count limits remain the same as the current simulator The settings related to the entire simulator—such as ownership, restart cycle, object lists, etc.—would be managed for the entire Linked-Region Simulator The region-wide settings such as terrain shape/texture/color, water height, wind, region-wide EEP, region-wide permissions, etc., would be managed for each sub-region The reason for the feedback: The main goal is to create more space for residents without adding too much running cost for LL or region owners Second goal is to make region crossing faster (between sub-regions of the same Linked-Region simulator) This can be used as filler regions like oceans between continents There are two bounds in SL spaces: area and agent/object count The 256x256 area boundary is so integrated into many parts of the system and is hard to change, but extending the simulator to handle area by changing "simulator = region" to "simulator = multiple regions" might help, especially around grid mechanics This is to extend the simulator so that the "space" boundary can be widened for vehicle enthusiasts What I wrote might not make sense or has prolems, but I would like to throw a rock into the pond to see if some (better) idea might come up from something like this. We can have giant space like in other platforms Reference: https://feedback.secondlife.com/feature-requests/p/mega-regions https://community.secondlife.com/forums/topic/503010-obscure-question-when-does-the-simulator-send-establishagentcommunication-to-the-viewer (Many of the middle sections of the crossing process may be skipped or simplified for the crossing within the Linked-Region.)
2
·
Performance
Let users downscale materials.
Okay, this is going to be weird, hear me out. Purpose: Reduce texture load times, vram use, and therefore lag. How: For every texture make there exist and/or be created on first demand a uuid-xxxx alternate version of the texture where the texture is scaled down and saved to the asset servers. The value is determined by the width of the image. So I might have a uuid, uuid-512, uuid-256. Execution: In the build interface, users would have a list of textures on a face and a drop-down menu letting them select the size of each texture on that face. Why: Not every texture in the materials on a face needs to be maximum size. If you have a mesh item with both Blinn-Phong and PBR, a user might have to download up to 6 (maybe 7 if they're using different normals) textures per face for up to 8 faces per object component. That's 56 possible textures, and you could potentially take 40 or more of them (depending on if the face is small and you can get away with a lower resolution texture) and reduce them in size to take 1/4 as much resources. So you still have up to 56 textures on an 8 face object but at the memory cost of 26. Currently this type of optimization can only happen if you are the creator, you bought full perm texture assets and export scale down import, or you do crime. How would creators access these auto scaled textures? Tack the size number at the end, or open the full perm texture and select, "Get scaled down copies." Anyhow, thanks for reading.
0
·
Performance
Load More