Jump to content

[Viewer feature request]: World view in separate window


2Tessa
 Share

You are about to reply to a thread that has been inactive for 452 days.

Please take a moment to consider if this thread is worth bumping.

Recommended Posts

Hello :) 

I think would be a great improvement in Viewer usability and performance to have the option to detach the world view from the Viewer main window.

SL usually requires to have extra windows and HUDs open, that cover the world view.
This makes the processor to work for the whole Viewer size while the user is actually viewing only a portion of it.

For example if you have 1 chat, 2 inventory, 1 edit, 1-2 huds open... all this may use a half of the viewer surface.
This will make half of the CPU+GPU power used to render the world to go wasted.

Instead with a detached (separate) world view window, you can have all the open windows and HUDs that you need without wasting GPU power, and making easier to use multiple computer screens.

(NVIDIA surely dislike this idea 😂 )

  • Haha 1
Link to comment
Share on other sites

The problem is that the UI itself is rendered using OpenGL... You'd end up with two OpenGL rendered windows. It's doable, but wasteful in resources.

 

When I first launched a SL viewer, back in 2006, the first thing that shocked me was the fact the whole UI was drawn in OpenGL... Back in that time, with the weak GPUs we had, it was extremely wasteful and UI rendering could be seen in the ”Fast timers” as using up a significant part of the render time (especially when you consider that each text character in the viewer UI is in fact a ”glyph” that must also be rendered as a some sort of tiny texture under OpenGL).

I would have expected the viewer to use the OS or its toolkit(s) (GTK+ or Qt under Linux, for example) to draw its ”floaters”, menus, etc, which also would have allowed to move the said ”floaters” out of the 3D view on you screen: those do not take up any GPU power and very little CPU power to draw, since they are basically ”static” and only updated whenever the user interacts with them (or the application needs them updated to reflect changing info).

However, there are benefits for games in using real-time rendered UI elements:

  • You can make-up specialized UI elements that do not exist in the OS or toolkit provided UI (e.g. and for SL, pie menus, multi-sliders, or the XY vector and track ball recently introduced with the EEP viewer).
  • Your UI elements can be updated in real time (at each frame if need be), without needing any threading and cross-thread syncing mechanism (if you look at how the file selector is coded in LL's viewer, which uses the OS/toolkit one, and how it is coded in the Cool VL Viewer, where I implemented an XUI file selector, you will see how much more complex (and glitchy/hacky) the former is compared with the latter).
  • It is easier to create interactions between the UI elements and the 3D world objects (pie/context menu, drag and drop from inventory to objects, etc).
  • The UI can be kept uniform over all OSes your game is running under (no special case needed in the code for each OS, more uniform/easier experience for the users... once they got acquainted with your UI).

There has been one attempt, years ago, by a TPV developer to use toolkit (GTK, IIRC) based floaters, but it never really developed into something usable.

There also have been a couple attempts by LL to reduce the UI drawing overhead: UI floaters occlusion (so that the objects hidden by the floaters do not need to be rendered at all) and, recently, sparse UI updates (so that the UI can be drawn in a separate buffer and only updated when actually needed, that buffer being overlaid over the 3D view at each frame). Neither of those lead to some adopted code, probably because the benefits in performances are not really worth the added code complexity (today's GPUs can draw the UI elements really fast anyway)...

 

As for the screen estate issue, your best bet is to use a viewer with a dense UI layout...

My main grief against LL's v2+ UI is precisely that it wastes an awful lot of 3D view space by using enormous floaters with low density information in them. That's why I find the v1 UI I kept using (and kept improving too) in the Cool VL Viewer to be way more suitable (not to mention the productivity aspect, with less clicks and mouse moves per performed action). But you can find at least one viewer (Black Dragon) with a much denser v3+ UI, that could as well suit your needs, if the v1 UI feels/looks ”too old” for you... 😛

 

3 hours ago, 2Tessa said:

NVIDIA surely dislike this idea 😂

Not sure what you mean here... The GPU brand is not an issue at all for a two-windows 3D view...

  • Like 3
  • Thanks 1
Link to comment
Share on other sites

36 minutes ago, Henri Beauchamp said:

The problem is that the UI itself is rendered using OpenGL...

There also have been a couple attempts by LL to reduce the UI drawing overhead: UI floaters occlusion (so that the objects hidden by the floaters do not need to be rendered at all) and, recently, sparse UI updates (so that the UI can be drawn in a separate buffer and only updated when actually needed, that buffer being overlaid over the 3D view at each frame). Neither of those lead to some adopted code, probably because the benefits in performances are not really worth the added code complexity (today's GPUs can draw the UI elements really fast anyway)...

My main grief against LL's v2+ UI is precisely that it wastes an awful lot of 3D view space by using enormous floaters with low density information in them.

Not sure what you mean here... The GPU brand is not an issue at all for a two-windows 3D view...

Thanks so much for your detailed pro answer! 🏆

Really, drawing the UI in OpenGL is insane... 😧

SL regions are already and usually extremely inefficient in term of graphic resources, but from you I learn that also the viewer is badly designed.

To make their games accessible to the widest consumer base, some games (WoW) even adopted the option of a virtual lower 3D resolution to increase the final fps.

The average SL user is far away from the average PC gamer with high performance GPUs. Here many use a consumer laptop with integrated GPU.
So if we want to enjoy smooth SL we just need to buy a dedicated PC with an high performance graphic card (NVIDIA 😎).

This is not going to happen. 🙄

  • Haha 1
Link to comment
Share on other sites

5 hours ago, Henri Beauchamp said:

My main grief against LL's v2+ UI is precisely that it wastes an awful lot of 3D view space by using enormous floaters with low density information in them. That's why I find the v1 UI I kept using (and kept improving too) in the Cool VL Viewer to be way more suitable (not to mention the productivity aspect, with less clicks and mouse moves per performed action). But you can find at least one viewer (Black Dragon) with a much denser v3+ UI, that could as well suit your needs, if the v1 UI feels/looks ”too old” for you... 😛

You could 7zip/gzip the UI to make it "compacter".

Jokes aside i've been told already that my UI is too small/compact... despite my best efforts to make widgets and layouts have clear layouts and groupings while keeping empty space to a minimum but people also complain that my UI is too complex, the same people who didn't complain when i simply dropped the Firestorm skin into my Viewer (for the lols) and showed them the exact same Viewer UI except with the Firestorm skin (grey on grey with some touches of orange)... I learned a valuable lesson: Not using Firestorm's skin makes everything more complicated!

I mean come on whats not to understand here?

image.png.b2bb9d8e56dd9e9b610e21205dba75c2.png

It even has the Low-Medium-High thing everyone loves so much.

Edited by NiranV Dean
  • Like 3
Link to comment
Share on other sites

On 12/27/2022 at 7:00 PM, Katherine Heartsong said:

One other suggestion/question ... why do you have HUDs open on your screen for anything?

Open them, use them, then detach/close them. I never have any HUDs open on screen, they add to my avatars weight, sometimes to the tune of 10-20K.

Removing HUDs is good advice, so many people run around with the worst of all huds their head and body alpha huds constantly consuming space. If you really want quick access to those use the "favourite wearables" shortcut to have them no more than two clicks away. alternatively use alt-shift-h to simple not render huds. 

I don't agree with the "avatar weight" nonsense as a reliable guide to anything, never have done, unlikely I ever will; however HUDs are a demonstrable consumer of render time and will affect your FPS especially in texture heavy areas where the always texture hungry HUD has to compete with the scene for VRAM and other resources. 

  • Like 5
Link to comment
Share on other sites

as someone who cannot live without dual monitors and use that all the time when editing photos or editing video or other tasks like that, the fact that almost every software I have used lets you drag elements to another monitor , except of course, SL. I can see HUDS not being able to be moved to another monitor, but how awesome would it be when for instance you were sailing and the world map, mini map and chat window could all be dragged off to another monitor,  or especialy what I do video  the UI is off but I always thought if only there was a way to put the chat and IMs on a second monitor while the main UI is off. impossible I am sure but one can dream!

  • Like 4
Link to comment
Share on other sites

  • 4 weeks later...
On 12/27/2022 at 8:41 PM, NiranV Dean said:

I learned a valuable lesson: Not using Firestorm's skin makes everything more complicated!

I mean come on whats not to understand here?

People are too addicted to Firestorm anything that differs from Firestorm triggers a primal part of their brain screaming bloody murder.

Me? I use Kokua, and Alchemy, and Cool VL Viewer, and Black Dragon, and routinely switch from one to another.

Just to ensure that I won't entrain my primal brain to be stuck to one viewer.

(You might notice a certain viewer missing from my list there...)

Link to comment
Share on other sites

27 minutes ago, primerib1 said:

People are too addicted to Firestorm anything that differs from Firestorm triggers a primal part of their brain screaming bloody murder.

Me? I use Kokua, and Alchemy, and Cool VL Viewer, and Black Dragon, and routinely switch from one to another.

With all due respect, what d'you want? Praise for "being outstandingly different"?  You won't get it from me.

I used Firestorm because someone else did the hard work of finding many of the debug settings and providing more understandable ways to access them.  Yes, some folk play blindly with them and end up with a bloody mess of settings.  That's their problem!

With the default Linden viewer they would probably lose interest in SL long before they figured out how to make it work well for them.

I've used Kokua and find it OK, Alchemy is underdeveloped and Black Dragon is just not for me any more than Kisten's was years ago.  But I simply think "so what, each to their own".

Going way back to the OP, they were simply going the wrong way about a good idea (in their view) and were advised how best to go about proposing it.

Edited by Aishagain
  • Like 1
Link to comment
Share on other sites

You are about to reply to a thread that has been inactive for 452 days.

Please take a moment to consider if this thread is worth bumping.

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
 Share

×
×
  • Create New...