Mediator design decisions

  • crosire
  • Topic Author
More
8 years 6 months ago - 8 years 6 months ago #1 by crosire Mediator design decisions was created by crosire
Lucifer's Mediator is a useful little tool to quickly configurate the huge amount of effects that are part of the current ReShade Framework. However, from reading through posts here and on other websites, it is considered complicated to get started with, which is probably mainly related to its current design. It hasn't been long since the last design change to a look similar to ModernUI, but I personally feel like this made things more bad than good ( even though it was me, who suggested it ). Because of that the idea came up to reorganize the Mediator user interface, to look and feel more similar to the well-known SweetFX configurator, but without losing all the nice new features (thelazy.net crawling, game presets, offline preview, etc.). In case you don't know the SweetFX Configurator, it looks like this:



This requires some major rewriting by Lucifer though, so before anything final is decided, we agreed to do a poll here first and ask for your opinion.
Last edit: 8 years 6 months ago by admin.
The topic has been locked.
  • Mobeeuz
More
8 years 6 months ago - 8 years 6 months ago #2 by Mobeeuz Replied by Mobeeuz on topic Mediator design decisions
The new interface is easy, once you invest more than 30 seconds into using it - the original SweetFX configurator is barbaric by comparison. Tweaking for usability is a great idea but let's not revert to the above atrocity for the sake of people who hate change. The forums are also littered with curmudgeons who want any kind of configurator abolished and go back to hand-coding everything.

/2ยข

P.S: Don't see anything to click for voting, is someone really going to tally this manually?
Last edit: 8 years 6 months ago by Mobeeuz.
The following user(s) said Thank You: Wicked Sick
The topic has been locked.
  • crosire
  • Topic Author
More
8 years 6 months ago #3 by crosire Replied by crosire on topic Mediator design decisions

Mobeeuz wrote: P.S: Don't see anything to click for voting, is someone really going to tally this manually?

Fixed. Thanks.
The topic has been locked.
  • logout20
More
8 years 6 months ago #4 by logout20 Replied by logout20 on topic Mediator design decisions
mediator gui is vary simple....add a field for user input with slider you got your sweetfx gui......also add a upload to sfx.lazy function which will require a login/pass inside mediator so user don't have to open web browser to upload a few kb sized txt file.....
The topic has been locked.
  • Ganossa
More
8 years 6 months ago #5 by Ganossa Replied by Ganossa on topic Mediator design decisions
( bumping it to keep it floating on top - apologies - )
The topic has been locked.
  • Wicked Sick
More
8 years 6 months ago #6 by Wicked Sick Replied by Wicked Sick on topic For the vote, I say nay.
My opinion may not count for much, but I like the mediator as it is now. I would welcome changes to make it better and I think that reverting it to something similar to this would be a waste of time undoing and redoing things. Mostly because I feel that Lucifer really invested his time in making it, also, it is not hard enough getting used to the mediator to justify such change, even less after you give it a try, as Mobeeuz said.

I remember something that Lucifer said once... Was something about one of his students and his fear of experimenting with the new, the fear of changes making them unusually attached to the old enough to ignore the usefulness in front of them just because of a new face.

Of course we should be grateful for everyone that here and there have helped, somehow, with this project with so many ramifications, but the mediator is good and it embrace many and all of the old tools that I can think from in just one place... It should not be discarded, instead, given a few changes.
The topic has been locked.
  • piltrafus
More
8 years 6 months ago - 8 years 6 months ago #7 by piltrafus Replied by piltrafus on topic For the vote, I say nay.

Wicked Sick wrote: ...I would welcome changes to make it better and I think that reverting it to something similar to this would be a waste of time undoing and redoing things. Mostly because I feel that Lucifer really invested his time in making it, also, it is not hard enough getting used to the mediator to justify such change, even less after you give it a try, as Mobeeuz said[...] the mediator is good and it embrace many and all of the old tools that I can think from in just one place... It should not be discarded, instead, given a few changes.


Quoted for agreement.
I very much prefer to get new or improved shaders than a different flavor of the preset editing tool. I was happy with notepad++ but I admit I like the mediator as a quick testing tool. It's a great tool and probably much work was put on it already. let it grow as its second iteration is a great starting point.

My only suggestion would be to reorganize it a bit.
- The "pipeline" tab should be always visible. And double click on a shader on the pipeline should bring the settings for this shader into a separate window below.

Also (but less important)
- The tabs like GemFX, McFX, SweetFx, custom, common etc are probably not the best way to go. It makes sense to the developers as it separates shaders per developer but it doesn't make sense to an newcomer that's trying to use the tool for the first time without knowing anything about it. SO I would recommend separating things into two categories. General settings(log depth, depth visualization, hdr level, etc) and shader settings.
-The Mediator tab works great as a tab in the same window as the pipeline. Just like it is now.
Last edit: 8 years 6 months ago by piltrafus. Reason: Separate important from not so much
The topic has been locked.
  • piltrafus
More
8 years 6 months ago - 8 years 6 months ago #8 by piltrafus Replied by piltrafus on topic For the vote, I say nay.
"- The "pipeline" tab should be always visible. And double click on a shader on the pipeline should bring the settings for this shader into a separate window below."

The Mediator and pipeline tabs are the main tabs to get reshade working, so they go above and separated from the rest.
Everything else is tweaking numbers so it goes below for those who dare dig into it.

Here is a mockup of a better organized UI in IMHO:
Last edit: 8 years 6 months ago by piltrafus.
The following user(s) said Thank You: crosire
The topic has been locked.
  • crosire
  • Topic Author
More
8 years 6 months ago #9 by crosire Replied by crosire on topic For the vote, I say nay.

piltrafus wrote: Here is a mockup of a better organized UI in IMHO

Nice one. I would go as far and get rid of the suite and effect name tabs and simply show the settings for the currently selected effect in the list above.
The topic has been locked.
  • SunBroDave
More
8 years 6 months ago - 8 years 6 months ago #10 by SunBroDave Replied by SunBroDave on topic Mediator design decisions
Personally, I would just prefer something simpler and more intuitive. Using something like the mockup below, I would think it very obvious (and fast) to choose a desired suite, shader, and shader configuration. Whichever suite is selected in the first (leftmost) box determines what is displayed in the second box, and whichever shader is selected in the second box determines what shader options are displayed in the third box. The ability to sort each box alphabetically based on Suite, Author, Effect, etc. would also make it easier to find the effect you're looking for.



Also, the options grouped under "Common" and "BasicFX" in the current release of ReShade Framework seem like they might make more sense placed in a 'Preferences' window, navigable from a menu option off the main screen.
Last edit: 8 years 6 months ago by SunBroDave.
The topic has been locked.
  • Ganossa
More
8 years 6 months ago #11 by Ganossa Replied by Ganossa on topic For the vote, I say nay.
One again, thanks for all the ideas also apart from a complete overhaul :)

So far it gives a good overview where you see need for change.

To expand on this discussion, I would like to explain why some decisions have been made, how the mediator content is currently structured and in which way it affects visuals. This should give you a more detailed foundation for suggestions that might leverage the existing architecture.

Let me explain first our current underlying layout in ReShade. We combine a huge amount of shader with an even bigger amount of variables. To be flexible in size (and devide responsibilities among us individual developers), we decided to introduce suites that split shader into domains. Each suite has its own configuration file. A single suite is supposed to combine a number of contextually related shader. The mediator is reflecting this layout by automatically generating all associated elements for configuration.
Issue #1:
You mentioned confusion for newcomers that have no idea what a GemFX, McFX and SweetFX suite is.
That is understandable since their naming does not reflect their purpose. However, the mediator itself is only reflecting the underlying layout. The actual naming of those components is not done inside the mediator.

To manage all generated components, I decided to use a tree structure which spans also the tabs that visualize the underlying hierarchical layout. It is useful to write back settings into the existing layout without storing additional meta data about it. Therefore, (almost) all data is directly stored in the individual components.
Issue#2:
Your suggestion was to eliminate the hierarchical components in the mediator to further differentiate between a developer view and a user view. This might prove to be more difficult to achieve with the current architecture than other suggestions. It might need me to change the way I store data and therefore also every write and read method.

Issue#3:
It was asked for a direct connection/link between the shader in the pipeline and the individual shader tabs with their variables. There should be no problem supporting that hence I would like to follow up with making a few (example) suggestions how we could approach those 3 above mentioned major issue.

Solution#1: (straight forward):
Removing the suite tabs in the sense that they are made invisible (maybe optional visible) with all their chield components. Making them visible as soon as a shader in the pipeline was selected either with a jump or additional window below the pipeline as suggested.

Solution#2: (minor change to structure):
Separating suite tabs from the main tabs and therefore also their data structure. The behavior from a user point of view will be the same as on solution#1

Solution#3: (major changes to structure)
Separating suite data structure from visuals and only displaying the linked shader which was selected in the pipeline (this might in some way also be possible in Solution#2)

Anyhow, I only want to make you aware of the problems when it comes to changes and individual investment for certain kind of advantages that could be suggested. It should now be easier for you to make suggestions that -also for you- require appropriate effort :)
The following user(s) said Thank You: Wicked Sick, acknowledge
The topic has been locked.
  • piltrafus
More
8 years 6 months ago - 8 years 6 months ago #12 by piltrafus Replied by piltrafus on topic For the vote, I say nay.
Hi,
thanks for taking the time to explain better how mediator works. Knowing better now the amount of effort involved I would say:
- forget about issues #1 and #2.
- If issue #3(link from shader name to its settings) is implemented with solution #1(straight forward) using a separate window the above issues become irrelevant.

It doesn't really matter if is still organized per suite as long as you can click on a shader name and get the relevant settings below. This would become the main navigation method trough mediator so it doesn't matter how shaders are organized. You always are a click distance from the required settings. I would strongly encourage the use of a separate area for shader settings so pipeline is always on as It's your main work window. You can even add a title to the shader settings area like "shader attributes", "shader properties", "shader editor"... to make it more clear.

Sunbrodave says:

Also, the options grouped under "Common" and "BasicFX" in the current release of ReShade Framework seem like they might make more sense placed in a 'Preferences' window, navigable from a menu option off the main screen.

I completely agree. Maybe if you go for a separate area below you could split it and reserve some space there where this settings are always visible. Maybe under a "preferences" or "Settings" or "Options" tab.
Or just access it through a menu item off the main screen as is suggested by dave.

P.S. This is a bit off topic. my main issue with framework is that the DOF shader can't be reordered. It always has to go first after AO and before everything else. That breaks it for me. I still use a custom shader suite because of this. So please that's something broken and needs a fix . Of course this is my humble opinion.
Thanks for all your efforts.
Last edit: 8 years 6 months ago by piltrafus.
The topic has been locked.
  • MaxG3D
More
8 years 6 months ago #13 by MaxG3D Replied by MaxG3D on topic For the vote, I say nay.
Make an in-game GUI and all your problems will fade away :P
The topic has been locked.
  • crosire
  • Topic Author
More
8 years 6 months ago - 8 years 6 months ago #14 by crosire Replied by crosire on topic For the vote, I say nay.

MaxG3D wrote: Make an in-game GUI and all your problems will fade away :P

The in-game GUI would never support changing preprocessor defines, nor understand the concept of different shaders/suites. It would be purely to modify uniform variables, which none of the shaders use yet (apart from a few special uniforms, like timers, etc.).
Last edit: 8 years 6 months ago by crosire.
The topic has been locked.
  • Quentin-Tarantino
More
8 years 6 months ago - 8 years 6 months ago #15 by Quentin-Tarantino Replied by Quentin-Tarantino on topic For the vote, I say nay.
I never used either configurator because i like old fashioned Alt + Tab :P So i don't no what to say :)

But Lucifers old configurator for GemFX i did use and i found it Really user Friendly
Last edit: 8 years 6 months ago by Quentin-Tarantino.
The topic has been locked.
  • DeMondo
More
8 years 6 months ago #16 by DeMondo Replied by DeMondo on topic Mediator design decisions
The ReShade Mediator is a very fine tool considering that some 80 effects can be tweaked with it, see it as a container (ReShade) where 80 things have to be coordinated (the Mediator).. so the Mediator isnt unnecessarily complex, its easy to use and why you want to change the course you devs took, again its an easy and good tool.

I have to say when Im in a game & I want to change ReShade settings on the fly, I like to swap out the game and into one of the .cfg files with wordpad (or any text editor) its fast and I like to see clearly the few values I want to tweak, when I have to tweak alot I use Mediator, Mediator could use a bigger layout, settings and value bars are sitting very close to each other now, its easy to make a mistake this way.

In short: Mediator is a fine piece of tool with a huge amount of settings under the hood and easy to use, so a no go for a change, perhaps as extra to have 1 big .cfg file divided in parts instead of 9 different .cfg files, a suggestion.
The topic has been locked.
  • brussell
More
8 years 6 months ago - 8 years 6 months ago #17 by brussell Replied by brussell on topic Mediator design decisions
Ignoring the effort and delegation problems, I would vote to get rid of the suite design completely. The normal gui-user wouldn't get confused and the file editing power user wouldn't have to search for specific configuration files. Either make configuration files for every effect, or throw them all in one.

Variables should be freely editable in the gui. If it exceeds the range or if it's the wrong type, show a warning message.

Other than that I would prefer the design of the example in the first post (simpler structure and clearer (system) theme.), exept the non-editable variables.
Last edit: 8 years 6 months ago by brussell.
The topic has been locked.
  • fuze
More
8 years 6 months ago #18 by fuze Replied by fuze on topic For the vote, I say nay.
I don't really care about the design as long as only one has a feature like THIS (if possible).
The topic has been locked.
  • roxahris
More
8 years 6 months ago #19 by roxahris Replied by roxahris on topic Mediator design decisions
I'd be fine with the current design if it didn't feel unresponsive to use. No offense to Lucifer, of course, but here are a few things that stand out...
  • In the parts of it that aren't just sliders, it feels like it takes a second or so every time something is moused over for the window to update. This is especially awkward in the Pipeline screen, where it flickers every time something is highlighted
  • Elsewhere in the UI, aside from on buttons, there's no indication of what's currently highlighted under the mouse, which makes it feel less responsive than it actually is.
  • The horizontal selectors for the effects in a given framework has very little separation from the menu above it. (Extra spacing and a lighter background would fix this.)
  • The descriptor box at the top doesn't change when selecting effects in the framework tabs, which seems like an odd oversight.
  • The settings boxes themselves for individual effects don't fit into the rest of the UI at all. Where the rest is grey and orange, they're full of white and blue. They seem to be using a smaller font, but for most effects the options barely fill up the available window space.
I definitely don't agree with making the window bigger, unless it involves making the whole thing scale up. But consistency between the effect settings and the rest of the UI would be a great improvement. In particular, making the text a bit larger and more spaced out, with the scroll bars aligned to the other side of the column.
The topic has been locked.
  • sajittarius
More
8 years 6 months ago #20 by sajittarius Replied by sajittarius on topic Mediator design decisions
i would like to give some feedback also. I really like the new mediator, so don't think i am bashing it, just trying to improve it :)

In the Pipeline window, to move things up and down you need to use the scroll wheel, unless i am doing something wrong. The problem is that the scroll wheel, for me, sometimes will scroll the entire window also, making it difficult to move the single item. I think it would work better if you could just click+drag the shader to where you want it in the list, or if that is not possible, to place a set of up/down arrows on the side that move the selected shader up or down in priority. I like Crosire's idea also to show the relevant tab when selecting a shader in the pipeline. I would go further and when you are in a specific Suite's tab, give the user the option to open the relevant config file (for example if the slider is .4 -> 1.1 and i want to change that to .4 -> 1.5). Maybe make it a power user option if you are afraid of UI clutter?

I know you are using symlinks for the reshade.fx file, with the option to permanently place a set of files in a game folder. Not sure if this has been brought up before but I personally would prefer to have the config files in the game folder, that way it is still permanent but editable. Too many times i have had the mediator open for one game, and opened another game and it started applying the first games settings to the second. In general it just seems like too many steps to apply a preset. I have learned that to make sure a setting saves, i will click Apply at the top, then go to the Mediator tab to hit Update on the preset. I think Apply should automatically Update the current preset.

My only other gripe is with importing a new suite. I know the whole purpose of this mediator is to make it easier to incorporate multiple suites. I had difficulty getting custom suites to work. I imported a couple, like Ioxa's Highpass filter, and the mediator kept reverting my pipeline file. I had to close the mediator, and update the default plus the current game's pipeline file before it stuck. I ended up reinstalling the mediator before that though, because it just wasn't accepting the changes. I don't really know how to make this easier, i know its complicated to coordinate all of the files.

Thanks again for the wonderful program.
The topic has been locked.
We use cookies
We use cookies on our website. Some of them are essential for the operation of the forum. You can decide for yourself whether you want to allow cookies or not. Please note that if you reject them, you may not be able to use all the functionalities of the site.