#Display Commander - Changelog

1 messages · Page 1 of 1 (latest)

keen void
#

👍

lofty jewel
#

Absolute W

ivory pendant
#

@tame dock my suggestion for DC2 is being as modular as possible. I think the ability to kinda only choose the features you want would be nice.

#

Using DC1 as an example, say I didn’t want dc to touch texture filtering at all, I could disable and hide that section

#

I was just using that as an example

#

Like a build your own type of deal. Give me the fps limiter and frame time graph for example

#

Right now I’m thinking you have a default set of features and a tab or menu somewhere that has checkboxes and a brief description of the feature.

#

I’m not sure what you imagined for the ui

#

If it was planned to be similar to dc1

#

Yeah. It could be right aligned so it’s always there but not in your “features” cluster on the left

#

I was thinking like how in dc1 you have like 10ish dropdowns on the main tab. Each one of those would be “feature”

#

So it wouldn’t be that many. Especially not at the beginning

#

Keeps it clean and minimal to not overwhelm people but lets you turn all the dials if you want to

#

Honestly I need to look at DC1 again

#

Not home rn though

#

Display is the obvious one

#

For resolution, forcing borderless, etc

#

An fps limiter as well obviously

#

I’m not sure what you mean exactly. Are the spaces different drop downs?

ivory pendant
#

I think like things being separated more

#

Like display is just res and window mode and such and then an fps limiter section and a dlss section etc etc

keen void
#

having too many sub menus isnt good

#

those are all "common" features

#

well dlss should have a seperate section, i do agree with that

ivory pendant
keen void
#

blank rows between sections

#

#1484495867586281493 message

ivory pendant
#

Yeah

#

Each one of those would be a drop down

#

And you could disable and hide that section entirely if you don’t want DC to touch it at all

#

Keeps bloat down and makes it easier to learn

#

I guess it’s really toggles for feature sets more than it is for features

glad agate
#

good menu, i also like when menu have a indicator that show there is more than 1 option, exemple the little white boxes in the rainbow six siege menu

glad agate
#

of course, i was talking more about fps limiter types etc

normal gorge
#

i not reading dis shit

#

set custom font

#

and spacing

#

consolas, cpmono v07, relicus

#

idc just make it readable

#

im pretty sure you dont need ttf file at all, ask claude how to built it in

#

yeah you need independent renderer to do it

#

its imgui so it should support every api

#

no you can hash it in or something like that

#

similiar to icon

errant fractal
quaint hull
#

i agree with the whole idea, display commander 1 is giving me headache

#

too many option and we get lost

#

last time i needed the feature fakefullscreen and couldnt figure out

ivory pendant
#

@eager pine this is kinda the perfect time to work with pmnox if you have anything with displaycommander you want that could help rdxc lol

quaint hull
#

well actually i think im wrong its not that

#

i needed something for forcing borderless

#

on opengl game where i cant use specialk with my intel gpu LookAtHisMana

ivory pendant
#

🫡

quaint hull
#

ahj its per game ?

eager pine
#

with rdxc now what i've started doing is actually keeping everything local to the game except reshade
it was becoming really difficult to manage deleting shaders and moving to global shaders when people swapped between using dc or just reshade and ended up quite confusing
now how rdxc works is it only ever looks for reshade64.dll in the global folder but i keep everything else with the game exe which people find easier to work with
ideally everybody would use dc and it would be simple but they dont

#

imo i think this would just make things harder to manage

oak socket
#

Hmm

west ibex
#

oh thats why no longer updated lol

west ibex
#

Sorry that happened to you

echo pivot
#

Just my 2 cents, all I ever use is the frame limiter. Ever

#

But I only really play newer games

echo pivot
#

Pretty sure you can throw the old code in Claude and say "make this different enough to avoid licencing implications"?!

#

🙃

#

Ah I see

#

Just how_different_ does the code need to be? Seems such a grey area

ivory pendant
echo pivot
#

No doubt!

#

We can't be far away from the point of no return, where everything is fair game. Obviously not saying that's a good thing but it's inevitable

ivory pendant
#

id argue the game folder or the pictures folder in windows is a better default. its kinda buried in that folder

#

oh i see

#

i mean it would be a good option to have

#

but you should still support game folder for sure

wintry fjord
#

I wonder if this would break if using Linux

ivory pendant
#

like only load from there if the file doesnt exist in the game folder

#

its weird, i refreshed rdxc 15 mintues after i refreshed it before and theres no new DC version. Something is wrong in the universe

#

@eager pine what are your thoughts on defaults for DC file structure? for rdxc

wintry fjord
#

each game at least on Steam has its own prefix which has drive_c folder structure inside it, that is why I'm wondering if anything global will stick

ivory pendant
#

are you interested in tightly intigrating with RDXC? or do would you prefer to let him do his own thing?

#

you could basically have someone making your SKIF lol

#

i just mean it could be valuable to work with him for the sake file structure choices

#

id imagine RDXC will likely be the way mose people use RENO and DC2 eventually

#

i agree. I just mean talking to him so the file structre is condusive to working with RDXC without too much custom ini jank

#

it would just be a good thing to consider is all

#

oh okay lol

keen void
#

i personal prefer things locally

ivory pendant
#

yes pleaqse

eager pine
ivory pendant
#

gotcha

normal gorge
tame dock
#

Abandoned Project

tame dock
#

DC Support

red carbon
#

🥹 🙏

toxic blaze
#

is DC back? 🙏

echo pivot
#

It's so back

ivory pendant
#

@tame dock can you give a message to the people

#

Is it back

tame dock
#

I’ll change DC to be GPL-3

toxic blaze
wintry fjord
#

oh Lord he riseth!

polar bay
wintry fjord
tame dock
tame dock
#

It looks like people would would rather DC be fixed to support new games, than prioritizing DC2, so will be given lower priority.

ivory pendant
#

A fresh code base you can build up slowly and reliably to be stable with minimal AI slop that nobody can understand lol

tame dock
ivory pendant
#

If I’m understanding

ivory pendant
#

That sounds great

tame dock
#

For example, the stats were written in messy way in DC1, due to FPS limiter changing constantly.

#

Rewring those in the middle, without breaking anything is hard.

ivory pendant
#

I know rankFTW started a similar project when we were under the impression you weren’t coming back so I’m not sure the best method to co-exist

tame dock
#

Who knows, perhaps most people will be happy with rankFTW project, and people will favor it rather than DC2, making DC2 irrelevant.

#

rankFTW may also write it in such a way, that's deeply integrated with RDXC, for creating folders, and such, which wouldn't be possible with DC, due to GPL-3 licensing issues, etc.

#

Or may not want to support it at all, etc.

wintry fjord
#

I'm happy with either you supporting original DC or working on DC2

tame dock
#

The main question for DC/DC2 is what functionality it provides from the user perspective.

wintry fjord
#

DC2 starting out as a "lite" version at the beginning would be ideal for my use case as on Linux not all original DC features actually work properly and I even managed to brick a game a couple of times since some features are Windows only

#

I mainly need fps limiter/frame pacing and sometimes window management

tame dock
#

At leasts that's what it looks like.

wintry fjord
#

I'm not entirely sure RDXC is Linux compatible? I like to use DC since I already use Reshade for Reno

tame dock
wintry fjord
#

what you cooked up worked wonders in the past so I'd rather use something I know has worked in the past than move on to something I have to fiddle with again

tame dock
#

I could start by rewriting DC's UI.

#

So, it can be used for DC2, and later rewrite internals.

red carbon
#

I'm not actually personally sure what else DC could do that I could ever think of. Unless it can start giving us winning lottery numbers.

wintry fjord
tame dock
#

Thanks to you, I added checks.

wintry fjord
#

Ma, get the camera, I did something!

red carbon
#

Hangs picture of the Discord chat log, taken on a Kodak.

tame dock
red carbon
#

I'll try to brainstorm more, I still install DC into everything possible.

tame dock
#

For example:

  • recommended swap chain upgaded
  • recommended low latency mode
  • ...
tame dock
#

It's kind like things, Special-K does by default, but you have to manually op-in, and you know a change was made.

#

So, you know which feature causes crash, or improvement, etc.

ivory pendant
#

It’s possible the end goal for DC could be more power user focused while rankTFW’s could be a little more light weight

hollow anvil
#

A question,
Is default commander settings the best ones? Or are they defaulted for compatibility? If so, what is the best settings?

tame dock
tame dock
ivory pendant
#

like specialK but for 100% reshade/reno combatibility

#

in terms of scale

hollow anvil
ivory pendant
#

idk, id have to check with rankTFW and see what his goals are

tame dock
#

Though, nvidia doesn't enable them by default for a reason, usually they may be causing isues in soem games.

#

And, games may be small.

gray raptor
#

What happened to Display Commander? lol

red carbon
#

The commander has returneth.

tame dock
gray raptor
tame dock
tame dock
# gray raptor Licensing?

Basiscally, a rule exists, that even if you use one function, from anothere GPL-3 project, and relase it, you need to convert it automatically to GPL-3. Kind of like cancer spreading.

#

You can't really ever cut it out, for pratical purposes.

gray raptor
#

🤔

tame dock
#

That's why Microsoft called it a cancer. Imagine having 1m lines of code, and even accidental release of 10 lines of GPL-3, would force you to convert the whole thing to GPL-3. I think it's bulshit, I just found about it.

gray raptor
#

And what does GPL-3 require of you?

#

To make it all open?

tame dock
#

so, form now on, anyone using code from DC, even irrevelant parts, will have to convert all their code to GPL-3, etc.

#

Anyway, it's fine, I converted repo to GPL-3, I'll live with it. I'll try to avoid reading any GPL-3 code in the future.

gray raptor
#

I mean. If you've already bought into it does it really even matter anymore?

tame dock
#

I can't release DC as MIT, as I originally planned.

#

Well, not easily, as there will be always some doubt, that GPL-3 code may remain.

gray raptor
#

What does that stop you from doing? Can't charge for the feature or something because of the license?

tame dock
#

Even if someone were to use a library, they would have to convert whole code to GPL-3.

gray raptor
#

Hence the cancer analogy

tame dock
#

LGPL-3 exists, which allows to use such libraries, and only requires posting modifications to the library code.

#

TLDR I don't like having GPL-3 code on my drive, just to make sure some LLM doesn't pick it up.

#

It was the case with DC, due to my mistake.

gray raptor
#

RIP. Sorry to hear that : (

tame dock
#

In this case it was my legit mistake. But I've seen LLM read files from where it wasn't supposed to.

#

I thought I was careful enough, but apparently not.

tame dock
#

Maybe, with it's own config file.

#

Ideally, some modular design would be good from what I'm seeing.

wintry fjord
#

I use everything locally as global injection stuff is usually configured to work with Windows so folder structures are most likely not present in my use case

lunar locust
tame dock
rare bough
# tame dock Basiscally, a rule exists, that even if you use one function, from anothere GPL-...

Is that completely true though? There's licenses like CDDL that are incompatible with GPLv3. CDDL requires any copied files to be CDDL, and GPLv3 requires all source code of the software to be GPL compatible. If you had a GPLv3 project, used CDDL code, and distributed it, you would neither be able to relicense the project to CDDL nor keep it as GPLv3 without violating licenses. This hypothetical doesn't apply to DC since the lack of a license doesn't inherently create incompatibility, but the more I read into it the less it seems worthwhile to invest into GNU plagued code.

tame dock
#

Breaching an agreement or not, doesn't mean you have to do it automatically (because it may be impossible for example), just that you are breaching agreement, and are liable to whatever legal consequences are by the law.

#

Not complying, would mean, that people would be hesistant to touch/distribute the binary, due to it's unknown legal status (true or not is irrelevant).

#

I don't want to put users in that state of having to use binary with uknown legal status. This is the deciding factor for moving with GPL-3, despite my disgust dislike of having to be forced to put GPL-3 licence over DC.

rare bough
tame dock
#

It's too late for DC. For that, I would have to proof that my method of writing code was clean. Which, I intented to be clean, but I messed up. Probably, 99% is save to move to new project, but instead, I can rewrite the code in fraction of the time, with less bugs, less lines of code, etc.

lunar locust
#

Im not really into these license issues but what I dont quite understand is, what is the issue with just using gpl3 for DC?

tame dock
#

It shouldn't, but what if does, kind of scenerio. I want to avoid finding out a few months after the fact. Like in this case. As I planned to make DC Mit code.

lunar locust
#

rip, would need a seperate environment just for DC development in that case i guess

tame dock
#

In general it's fine, I see which files LLM is reading, but being able to say, my PC is free of GPL-3 code, is a good standard practice IMHO.

#

Though, this also puts more work into it, as I have to read all LLM transcripts, including thoughts to double check.

tame dock
lunar locust
#

i see

tame dock
#

And, I also converted .gitignore to be a while list, so LLM doesn't include any extra files, etc. Like scripts, etc.

tame dock
# lunar locust <:patrickNotes:1410072116082118778>

Also, DC's code contained a lot of experimental code, i was playing with testing how features work, etc.
A code, I should have never pushed to repo, even though I planned to only put in code temporarily, etc.

lunar locust
tame dock
#

Even if I put a code as an experiment, it may already violate GNU agreement, because someone may say that a temporary build is already a released binary to public. Those are downsides of having public code on github, which wouldn't be an issue for closed source code, as private company, may be able to revert all changes and notice the issue before the release. I didn't realize I have to pay attention to stuff like that. So having a dual-repo public/private may be a good idea for DC2.

tame dock
#

Same thing, as Kal showing Special-K code, to improve DC, situation.

placid topaz
#

What?
If I share a snippet of my own code, as the copyright holder, it's not subject to the license terms for the project as a whole.
If it's code written by one of Special K's contributors, on the other hand, I'd need to get their authorization to grant you different terms.

Either way, don't like just paste snippets of code into a project 😛 If you've been shown something, it's to explain how something works rather than expecting you to just integrate it directly.

#

If you follow that general rule, you'll never have any problems like these.

tame dock
#

I would have to keep track, of everything you pasted, to have a written record, I can use that code, which isn't practical.

#

I'm not saying, this was the only issue with DC having to become GPL-3, but it would be an issue nevertheless.

#

Like you said, good practice is to understand the code, and implement it not suggesting the original implementation.

#

At the very least not though LLM, which could just copy the whole code given URL, like it did.

placid topaz
tame dock
placid topaz
#

I mean, GitHub exists for exactly this reason.
Your concern was more of a valid point in the 90s when the whole (paraphrasing) "source code must be available upon request at cost of distribution" was actually challenging to implement (i.e. developer had to ship a customer a CD with source code).
Now you just make the project repository publically acessible on GitHub/Source Forge/whatever and you've met your obligation.

tame dock
#

the question here is what counts as release.

placid topaz
#

That... sounds like a bad idea 🤷
The whole Git "blame" thing works best if you actually check-in all those experimental changes and people can track them back to changes in the code.
That way more than just you has eyes on the code and other devs can actually assist you with stuff.

tame dock
#

@placid topaz Main question here is what acounts as release?

  • discord exe?
  • latest automated build on repo
  • latest manual release on github (versioned with tag)
placid topaz
#

Anything redistributed.

tame dock
#

What is "redistributed" ?

placid topaz
#

Left your hands?

tame dock
#

So, there is no way to do safely private testing. Unlike, in companies, that may ship once a month or so.

#

If that's the case I'll have to take that into the account, and create 2nd private repo, for storing any experimental branches. Before, I inspect all the code.

placid topaz
#

I stand corrected. "Release" is a public version, basically.
For private testing, it's not an issue.

tame dock
#

So, anything in "DC Support" counts as public?

placid topaz
#

No, you can't get here without an account and joining the server.

#

That's effectively an internal build.

tame dock
#

Ok

#

Though, anything I push gets build imediately, so I probably need two repos anyway.

#

At least, so people don't start using broken builds.

placid topaz
#

All builds are broken. It's software.

ivory tiger
#

Forgive me if I'm wrong, and I'm playing devil's advocate here, but even putting a build out on a closed discord would count as a public release, unless everyone in that discord has signed an NDA technically? Otherwise no one is under any obligation to not share it?

placid topaz
tame dock
placid topaz
#

Special K's Discord server is part of the Special K organization, the nightly builds there don't need to have source code available, but of course they do because it would be pointless to distribute test builds without the source code being tested 🙂

tame dock
#

I guess, even if it wasn't GPL. You wouldn't have right to redistribute, as no license attached, doesn't mean there is no license.

ivory tiger
#

I mean SK has the licenses written in the help section of the UI, so I guess with DC, as long as it's displayed somewhere, and as with both cases the code is freely accessible (eg. Linked GitHub), everyone who shares/reshares it is technically covered?

tame dock
tame dock
tame dock
#

Since, source code is supposed to be included with all releases, you are supposed to check it for all licenses.

#

This does have implications. You can't assume whole source code given will be BSD-3, as some imports may not be, etc.

ivory tiger
#

Oh I meant a link in said software to repo with the full license.

tame dock
#

Yeah, I added it

ivory tiger
#

Ie. Kal's included a lot in here, but tbh from what im reading just a link to the repo that contains the full licences is more than enough/

tame dock
#

I may also have to add , Decline, Agree button.

ivory tiger
tame dock
#

Anyway, I added help menu quickly as separate tab, later I'll rewrite it.

ivory tiger
#

actually i dont even think it needs to pop up in your face, as long as its easy to find without special effort, or yeah in a help menu, should be golden

tame dock
#

maintaining the code, means, I have to sort those things out.

ivory tiger
#

I don't know what you mean there, but I trust you're doing the doing your due diligence!

tame dock
#

Disagree kills the app, btw.

#

Technically, I could even add blocking UI, etc. Though this is good enough.

#

to release DC2, I would have to do the same thing first, etc. I may do those things later.

ivory tiger
#

what do you mean i can't run SK and DC at the same time ffs pls fix aha Stronge

tame dock
#

You can use SK, to measure, stats, or DC to measure SK.

ivory tiger
#

i joke there's no actual reason to do so im just messing now 😅

tame dock
#

I used to block DC from running if Special-K is detected, and vice-versa.

ivory tiger
#

i only tried with reshade as an sk plugin, early or late didn't seem to take in this dx12 game at least

tame dock
#

doing less is better.

#

Maybe I should load SK, if it's called SpecialK64.dll and it's in local folder.

ivory tiger
#

100% - tbh im so used to sk now as my default for frame pacing and hdr tonemapping, however for instances where custom Luma or RenoRX builds are avalible, they often can look better and/or perform better than SK's HDR remastering, so in those cases what you've done with DC is awesome.

tame dock
#

For example, DX9 RenoDX games, or RenoVK, where SK may have trouble working.

ivory tiger
#

Thats just me though. I dare say there's more people used to reshade and how that works compared to Special K, so there'll likely be many people (like those on this discord) who will prefer to use DC for everything.

tame dock
#

I mean, if DC is broken, you can often you use SK, and vice versa, no need to wait a few days until it gets fixed.

tame dock
#

Or game is steam only, so Kal won't be able to play it.

red carbon
#

Well, read enough in this in the past two days to never want to bother with public release coded projects. The rules alone, all it sounds like is every other major company in the world likely has a whirldwind of lawsuits just because of happens upon code that random people happen upon. Love it.

tame dock
red carbon
#

That's precisely my point.

#

Joke of a logic circle.

#

You're good so long as no one understands your code is, pretty much like someone else's.

tame dock
#

This affects most, codes with public code on github, etc.

red carbon
#

This type of issue in the music or writing world would be so wildly comical.

tame dock
#

even MIT licences, require you to mention the contribution.

#

So, I need to recheck whole code of DC, for any I may have missed.

red carbon
#

Also my point, you could have accidentally done what others have, that's all.

#

Only so many ways things can be executed, internet is full of this by now, no doubt.

#

That's what I meant by music industry already went through this, a whole ton in the past.

tame dock
tame dock
#

Though, UI could be improved, to make it more clear.

wise grove
#

Can DC enable DLSS on games that don't natively support them like Luma?

tame dock
wise grove
#

Shucks, having trouble getting DC to run with Luma on FF7 Remake

tame dock
#

What’s the issue?

wise grove
#

when i remove DC it boots again

#

Luma is already installed

tame dock
#

How do you install luma?

#

Dc/reshade?

#

Do you have DisplayCommander.log?

wise grove
#

i installed Luma from Nexus

tame dock
#

You do have renodx-unrealengine, as well as Luma

wise grove
#

it's not there anymore

#

it was there at one time by mistake but i don't see it anymore

#

yeah I sorted by filename and there is no file named renodx-unrealengine

tame dock
#

the intergrate?

wise grove
keen void
#

i tried some luma mods with dc

#

all worked

#

but i didnt try ff7re

tame dock
#

Everything looks fine from the logs. I'll test it locally, I need to redownload the game.

#

@wise grove do you have reshade.log, it may tell why it's shutting down?

keen void
#

all luma mods i tried had issue with sk

#

not sure if thats fixed

tame dock
wise grove
#

But I want DC

#

So I just deleted it and will retry with DC

tame dock
tame dock
wise grove
#

Gotta shut down withcer

tame dock
#

@keen void If you have logs for crimson desert, I can take a look, and try to fix it.

sweet heart
wise grove
tame dock
wise grove
tame dock
wise grove
#

I think it's Vortex mods

#

I have lot of texture packs

#

I remembre now those interere with SpecialK

tame dock
#
01:28:31:300 [33608] | DEBUG | ApplyWindowChange: Setting new style -1811939328 -> 335544320
tame dock
wise grove
wise grove
#

in reshade settings or something?

tame dock
#

Maybe, in global config?

wise grove
#

Maybe his Luma mod changed that b/c i never touched it

tame dock
wise grove
#

Any wya to change that without booting into the game?

tame dock
#

Did you change default_settings.toml in %LOCAL_APP_DATA%\Local\Programs\Display_Commander

wise grove
#

no

#

don't even know how to do that lol

#

I can go back and look for it

tame dock
#

That's strange, can you change window_mode to 0, in DIsplayCommnader.toml in game directory?

wise grove
#

So open that .toml file and add window_mode=0? Thanks

#

what line do i add / alter

tame dock
#

[DisplayCommander]
window_mode = 0

#

@flat crater Is it possible to make a generic mod for DLSS? Like, auto-detect motion vectors?

wise grove
wise grove
tame dock
# flat crater no

Luma works great in FF7 Remake. I wish more games could have added DLSS.

#

Let me know if there is anything I can help.

tame dock
tame dock
wise grove
wise grove
tame dock
wise grove
tame dock
#

window_mode = 1, used to be default in old version of DC.

wise grove
#

it was recreated on one of the boots

#

ihad to add all the words a Ctrl+F found nothing

flat crater
tame dock
wise grove
#

@tame dock Your perceptual boost is powerful, what is it based on? Be interested in anything you have to say about it

tame dock
tame dock
wise grove
#

oh inverse tonemapping

#

i'll have to look that one up still new to HDR

tame dock
#

Special-K does Inverse Tonemapping by doing it per color in PQ (Perceptual Quantizer) space.

#

The formula Special-K uses for Perceptual Boost is really convoluted, it can be simplified by removing 2 arguments out of 6. I ended simplifying it to a single line.

#

TLDR, I rewrote the matchematical formula to make it simpler, and analyze what it is.

#

Afaik Special-K formula was derived by tweaking parameters to look visually pleasing.

#

And, by default it happens to double the brightness. It turned out that the profile 1 and profile 2 of perceptual boost in Special-K are actually the same thing, once you simplify the formula. @placid topaz

#

Just with slighly different strength.

wise grove
#

it's pretty good,

#

in brightly lit daytime scenes i like playing around with tonemapping

#

and paper white

tame dock
#

I wanted to release it as separate shader, but I haven't done a cleanup of that code yet.

wise grove
#

i sometimes worry it will age my panel though 🤣

tame dock
#

You can however, download the shader from DC's code.

wise grove
tame dock
# wise grove Can I ask what kind of work you're in? Your output is kind of multifaceted and b...
GitHub

Advanced ReShade addon for professional window management, display control, and NVIDIA Reflex integration. Features borderless mode, aspect ratio preservation, full-screen prevention, and comprehen...

tame dock
#

Mostly backend software engineer experience.

wise grove
#

Gotcha

#

Well the community needs you this app does a lot

#

Especially if SK is having trouble with new Reshade causing bugs

#

I am lookingforward to Dynamic Multi Framegen on Mar. 31 have you looked into that?

#

It changes the MFG multiple to get you to your cap

tame dock
wise grove
#

Be cool if DC operates with it

#

Ugh!

#

What abou Lossless ScalingAdaptive Scaling, tried that?

tame dock
#

I used the paid app on steam.

#

Or do you mean something else?

wise grove
wise grove
#

i think it caused stutter tbh

#

just checking

tame dock
#

I don't see that option, I never heard about it getting it.

placid topaz
#

It's similar to ICtCp

tame dock
tame dock
#

TLDR I wrote in the past a shader with 6 parameter formula, another one with the rewrite to be 4 parameter formula, and I got exact match, showing I didn't make any mistake in the math.

#

In the end, I simplified the code even further, and I included a strength slider in DC, between 0-2 (default 1). Making the other 3 parameters contants. @placid topaz

#

ui_items = "Original (XYZ/PQ)\0ICtCp (experimental)\0PQ + ICtCp\0None\0Inverse Tonemapping with Reinhard\0"; In this case the PQ + ICtCp method. Should be close to what special-k was using.

#

I can write the formulas again, if that would be helpful for Special-K.

tame dock
#

I'll look later into as to why "window_mode" = 1 breaks games.

#

v0.12.618

  • [settings] [cleanup] Log active default_settings.toml values on load - Startup logs now include all active key/value pairs parsed from [DisplayCommander] in default_settings.toml, so you can quickly confirm which fallback defaults are in effect (or see that none are set).

v0.12.617

  • [docs] README: remove OptiScaler note - Removed the OptiScaler installation note from README.md to keep setup guidance focused on currently recommended paths.
#

v0.12.618

  • [settings] [cleanup] Log active default_settings.toml values on load - Startup logs now include all active key/value pairs parsed from [DisplayCommander] in default_settings.toml, so you can quickly confirm which fallback defaults are in effect (or see that none are set).
  • [settings] [ui] PreventAlwaysOnTop now defaults to off - New installs now keep "Prevent always on top" disabled by default, so games and windows preserve normal always-on-top behavior unless you explicitly enable this override.
#

@wise grove @sweet heart Fixed. The issue was with "Prevent on always-on-top" being on by default, when "window_mode" = 1.

#

v0.12.619

  • [ui] Window control toggles moved to Main tab - Moved Prevent Always On Top and Prevent Minimize from the Advanced tab into Main tab's Window Control section, so window-behavior controls are grouped where users already manage minimize/focus/restore actions.
wise grove
#

@tame dock you ever thinking of selling the 4090 for a bunch of money and getting a 5080 😬

tame dock
#

And, also MFG does nothing for me on 144hz display.

tame dock
wise grove
#

Sorry!

tame dock
# wise grove Sorry!

No worries. I mean, 5000 series gpus have issues, this one have been solid since I bought it.

#

I would have bought 5090 some time ago if not for the issues with drivers.

#

Anyway, I'll do stable release, if I don't see any crashes/bugs within next 2-3 days.

#

Then, I can start releasing stable more often.

ivory tiger
# tame dock DC offers similar HDR upgrade + perceptual boost. UI could use some work, as it’...

I have tried it, though my brief takeaway was it could look great but required more messing than SK. It can look good, but there's way more control - I'm usually all for that, but SKs global defaults take me 2 seconds to make tweak per game these days.

Secondly RenoDX and Luma exist, often with custom shaders for said game (or Reno AutoHDR). So basically it's not that DC implementation is bad, more that there's plenty of very good alternatives already available. I still would rather have the option though so appreciate the inclusion. I do wonder if that part should be a separate addon/modular, but that's me nitpicking there.

tame dock
tame dock
tame dock
tame dock
#

@eager pine Do you have suggestions, or feedback, on including shaders download feature from within DC? Or do you think it's a bad idea.

eager pine
tame dock
#

Anyway, I assume DC support is dropped for RDXC, is that correct?

eager pine
eager pine
tame dock
eager pine
#

it's really up to you man if you want to rewrite it as MIT
i'd be happy to include it once it's complete so people have a choice of frame rate limiters
Ultra Limiter that we've made is really focused on that, limiting fps with proper reflex calls, resizing windows to fullscreen/borderless and switching monitors if need be

bleak magnet
#

also yeah its ONLY reflex, so amd peeps need smth

tame dock
bleak magnet
#

Oh Opti has a limiter? i have no idea on that stuff lol

tame dock
tame dock
#

this translate's nvidia apis from reflex to amd

hollow anvil
#

@tame dock Just updated DC and now FC Primal is crashing on startup ( black screen )

tame dock
#

Dc + reshade.

hollow anvil
tame dock
#

Just in case.

hollow anvil
#

Yepp! I did that as well, always does

#

This is what i have btw

tame dock
#

Yeah, I see the issue.

#

I bet it will work without renodx.

tame dock
hollow anvil
#

under [DisplayCommander]?

tame dock
#

We tried to apply windows style changes.

12:37:07:492 [17480] | INFO  | [WindowsApiHooks] ModifyWindowStyle: GWL_STYLE: 90000000 -> 10000000
12:37:07:492 [17480] | INFO  | (Suppressing further occurrences of this info log)
12:37:07:495 [17480] | INFO  | [WindowsApiHooks] ModifyWindowStyle: GWL_EXSTYLE: 00040100 -> 00040000
12:37:07:495 [17480] | INFO  | (Suppressing further occurrences of this info log)
```. That's the same issue we saw in the two issues above.
hollow anvil
#

Yepp it worked, not sure how i changed the default_settings.toml though...

#

huh, but is it relevant to the latest update then? Since i didnt have it before

tame dock
tame dock
#

v0.12.620

  • [bugfix] [settings] Keep WM_POPUP and make default fallback "no changes" - Window message handling no longer removes WM_POPUP, and default_settings.toml fallback behavior now points to "no changes" so missing defaults do not silently apply unintended overrides.
hollow anvil
#

Sure, im just debugging why my fps is set to 116fps even though DC is not active nor Special-k or RTSS...

tame dock
hollow anvil
#

hmm i know that i injected reflex with DC in FC Primal but, that should be gone after removing toml right?

hollow anvil
#

okay but Primal doesnt have reflex, its too old

tame dock
hollow anvil
#

hmm okay, i try removing reshade and use nvidia to show fps, 1 sec

tame dock
hollow anvil
#

T:T

tame dock
#

That must be someting else then.

hollow anvil
#

neither RTSS or SK is active or DC, what the heck is it

hollow anvil
#

nope, wait, it got to over 300 fps ingame, i never experienced a intro video locking to 116fps though

red carbon
#

Pretty much every FC game from 5 before has some pretty weird engine behaviour, that doesn't seem surprising.

hollow anvil
#

its like its vrr capped untill it reaches ingame lmao

#

yeah, its a weird engine behaviour alright...

red carbon
#

116FPS for what seems to be an FMV is better than most locking to 60 at least lol

tame dock
#

I've seen some games initialize fps limit, and other settings quite late.

hollow anvil
#

is it possible to prevent fps limiters? Would be a cool feature

tame dock
#

It would require per game patches, unless it's Unity/UE.

#

Though, you could speed up the game timer, but that also has side-effect of increasing everything in the game.

hollow anvil
#

i see

tame dock
#

It's usually not hard to identify the sleep function game uses.

hollow anvil
#

so i enabled reshade again without DC and its vrr capped ingame

tame dock
#

So, technically, DC could tell you where to patch the code.

hollow anvil
#

Would be cool feature 🙂

tame dock
#

Well, more like, where game sleeps.

hollow anvil
#

i have to check if renodx does something... i never suspected that...

tame dock
#

This would require disassembly, and doing manual work, but probably would cut the work in half, in finding what needs to be patched.,

hollow anvil
#

That seems like a feature now worth doing then :/

#

BTW it was renodx, i never thought they frame capped

tame dock
#

For UE, Unity, there are already addons, which can help you change in-game settings.

hollow anvil
#

Thats awesome in those cases

tame dock
#

UUU from Otis_Inf is paid though for UE.

hollow anvil
#

Its just that it would be so helpfull to prevent other frame limiters to run, like now i had to disable DC frame limiter because RenoDX enforces their, and there is no option to disable it...

red carbon
#

I actually checked out of curiosity, but Primal only ever got an Ultrawide mod from Rose.

ivory tiger
sterile jewel
#

So DC is back?

tame dock
sterile jewel
#

Congrats

tame dock
#

I should have released DC as MIT from the start, to avoid any confusion . Then, community would have pointed out the compliance issues.

#

I would like to help the community, by releasing projects from ground up as MIT.

sweet heart
sterile jewel
#

pmnox I have an issue with AC Oddyssey 😮

tame dock
sterile jewel
sterile jewel
#

the windows is minimize to the taskbar but can't open it and I need to kill the process

tame dock
sterile jewel
#

with assasins creed?

tame dock
#

with DC, I'll ship a fix

sterile jewel
#

ok mate

tame dock
tame dock
#

v0.12.621

  • [bugfix] [settings] Startup fix for some games using window mode overrides - Renamed config variable "window_mode" to "WindowMode", in order to avoid previously "window_mode" being set to 1 by default.
tame dock
tame dock
sterile jewel
toxic blaze
#

im getting a black screen with RE9 with reframework and reno. i can hear the sound but no display. DC=winmm.dll. Reframe=dinput8.dll. Reshade=Reshade64.dll

#

im using an older version that works

tame dock
#

I'm able to reproduce the issue.

#

I gave given some thought about DC2, there are two routes to take.
a) write first a separate "Frame Commander" / "FPS Commander"as MIT, focusing only fps limiter features, which are hard to get right correctly

  • fps limiter for FG using reflex
  • VRR detection (needed to auto enable fps limiter)
  • refresh rate detection
  • latency sync fps limiter
  • latency measurement tools / code
  • later hooks for fps limiters reflex(D3D)/Vulkan(reflex)/d3d9/opengl/native fulkan

b) strip all fps limiter above features / stats, etc. from DC2 as MIT
Focus, on everything else.

c) keep gradually extending DC as GPL-3, cleaing it up, polishing slowly features in a), then b)

d) maintain DC as it is.

Personally, I would like to start separate project a) later can be extended by other features.

#

@placid topaz @lunar locust @echo pivot

wise grove
#

How come your perceptual shader is present when i load up some games but not present in others? It's present in Witcher 3 but not in Clair Obscur or Metaphor Refantazio or Baldur's Gate 3. Doesn't load for me..

wise grove
tame dock
tame dock
#

It's just easier to build clean code from ground up, then to rewrite the code, and having to spend days with stuff breaking. see #1484495867586281493 message and a lot of other crashes

lunar locust
#

A) sounds good i think

wise grove
#

To be honest, this was kind of my wish for you too lol

#

To get my fav feature sooner than later

#

and Kaiden mentioned that SK is going to have more and more trouble working with reshade..

tame dock
tame dock
wise grove
tame dock
#

If so, it's a known reshade bug, croside is looking into fixing.

tame dock
#

Important Note: Currently the best fps limiter for Frame Generation is "Pace real frames low-latency (max_queue=1)", is theoretically the best mode to use. For good balance of latency, and rendered frames stability. It's algorithm I developed, but it may not work in some games, so more research is needed to perfect it.

It paces both the simulation thread, and rendered frames. It has options for max_queues=1/2/3.

Algorithm is still under research, on how to make it work in all games.

#

@lunar locust I'll later add some explanasion in the UI, that this is best available FG fps limiter, but it's needs more research to make it work in all games.

lunar locust
lunar locust
tame dock
lunar locust
#

but in those games it worked better than anything else

#

oh ok

tame dock
#

It added like slight latency, like 1-3ms in Wuthering Weaves, at 138 fps, while providing more stability to displayed frames, unlike the default one, that desplayes frames as fast as possible.

tame dock
lunar locust
#

oh which?

tame dock
# lunar locust oh which?

Vulkan games with reflex like Doom The Dark Ages, I made a fix for those to make it work since then, but I didn't revert the default back to it.

lunar locust
tame dock
lunar locust
#

70 secs spinning and this shit didnt go to 2 digit hz once i think

lunar locust
#

rtss and nvidia overlay keep reading 121 fps kek

tame dock
#

Once I'm done I'll write a dedicated page in documentation describing how this works in details. It's hard to explain though discord all the details.

lunar locust
#

yeah fair enopugh

tame dock
#

@wise grove Having a separate project for fps limiter, will allow to focus on the fps limiter parts, explaning all algorithms, comparision data, testing methodology, etc.

tame dock
#

TLDR DC2 = DC Lite.

obsidian flower
#

been following this project for a while now, separating DC2 into modules seems like the best option
each module can be made more in depth and it will probably also be easier to bug fix/update
more structure is always good i think

tame dock
#

It's too much to maintain that.

tame dock
#

I had DualSense support in DC, but I removed it, as it's requires more work.

#

All hooks are stored as arrays. So a submodule can hook into them. kernel32.dll hooks

obsidian flower
#

also if it is really modular, people would be able to download/enable just the modules they want
maybe someone wants just FPS limiter + Monitoring but someone else would like a DLSS Override/Nvidia Inspector module also

tame dock
#

Basically, access to all methods DC hooked into.

#

Same idea, as what Reshade has with addon events, but more general, as you can hook into any .dll api directly.

#

No, need for each module to hook separately.

obsidian flower
#

don't understand code that much but sounds good from what you are describing

tame dock
#

Reshade, only offers small subset of what's available. This is a more general approach.

#

TLDR This will make all addons able to be enabled/disabled, improve compatibility between modules.

obsidian flower
#

isn't hooking directly or being loaded as dxgi also better for the limiting/monitoring itself instead of being loaded as a reshade addon

tame dock
obsidian flower
#

i know you have made a DC launcher before, maybe the user would be able to enable/disable the modules there and then DC would hook just to the APIs needed for the modules

tame dock
#

Technically, DC still will register itself as addon, require reshade, but it will be loaded befor reshade.

tame dock
alpine matrix
#

is this Ultra Limiter just display commander in disguise?

#

after everything that happened i dont know whats what anymore, i just want the FG native pacing lol

tame dock
alpine matrix
#

I got SK working in crimson desert and i lost my DC file 😄

#

so its SK for now

alpine matrix
#

yeah i removed it from my folder and i dont have it anymore, not even sure where to get it haha

tame dock
#

It's also on github.

alpine matrix
#

i just always came here to read the newest updates and download it, should have known there was a github

tame dock
alpine matrix
#

is DC working for CD now?

#

lol dc cd

#

crimson desert

tame dock
#

Yeah, I fixed the issue.

alpine matrix
#

never seen that before, gaming starting in the background and cant even be interacted with

#

nice

tame dock
#

I made a mistake, and I accidentaly set "window_mode=1" by default in the global config.

tame dock
alpine matrix
#

im playing it now if you need help with testing

tame dock
#

this is low latency+good pacing FG algorithm, which paces both simulation thread and rendered frames at the same time. (still WIP, I would like to make it default later)

alpine matrix
#

now reshade wont load, i love technology

#

nothing to do with DC*

obsidian flower
tame dock
#

v0.12.623

  • [ui] [compatibility] Added warning to NVAPI "Refresh Rate" - Added a warning for the NVAPI "Refresh Rate" control to make potential side effects clearer before users change it.
tame dock
#

v0.12.624

  • [bugfix] [compatibility] [hooks] Fixed Witcher 3 crash caused by old Streamline - Improved compatibility for older Streamline runtimes to prevent startup/runtime crashes seen in Witcher 3.
  • [bugfix] [settings] [hooks] Hook suppression no longer flips back during startup - Suppressed hooks now stay suppressed across startup and ReShade auto-load paths, so setting a hook to suppressed actually prevents installation instead of being silently reverted.
    Details: load hook suppression settings before early ReShade-load hook installs in main_entry.cpp; HookSuppressionManager::MarkHookInstalled now updates only DisplayCommander.HooksInstalled and no longer writes DisplayCommander.HookSuppression values.
  • [bugfix] [hooks] Ignore duplicate OnModuleLoaded callback for the same module handle - Repeated module-load callbacks with the same HMODULE are now ignored, so hook install paths and tracking logic run only once per unique loaded module instance.
    Details: added a per-handle dedupe set at OnModuleLoaded entry in hooks/loadlibrary_hooks.cpp, with reset during full module re-enumeration.
  • [bugfix] [cleanup] Temporarily suppress game EXE static-import logging in DLL-load stack path - Static import listing for the game executable is now temporarily disabled in the DLL-load stack logger to avoid a crash scenario observed when suppression state was not reverted correctly.
    Details: LogGameExeStaticImports currently returns early in main_entry.cpp (temporary safety guard).
#

Witcher 3 FG works nicely.

ivory pendant
tame dock
#

honestly, reshade isn't really needed/used except for the UI.

ivory pendant
#

Perhaps. I think I personally prefer game install type things instead of system wide but that’s just me

tame dock
#

I'm only saying it's technically possible, as to what's better thats another thing.

ivory pendant
#

I see

#

I think reshade makes the most sense imo

#

At least of what’s available atm

keen void
#

everyone here uses reshade in every game

tame dock
#

As, that's what most videos get wrong.

keen void
#

well you can get a proper graph with presentmon from RTSS

tame dock
keen void
#

ya

#

RTSS has presentmon built in

#

which does have a proper frametime graph for FG

tame dock
#

Really? For when frames are displayed?

keen void
#

ya

#

presentmon_framegen.ovl you load this

#

requires the overlay editor which most people dont even know its existence

tame dock
#

If that's the case, I should be able to make a better VR/refresh rate montitor, that works for Vulkan/dx9, not just DXGI like what Special-K uses.

keen void
#

Special-K relies on dxgi interop for vulkan

#

which isnt a bad thing

#

you should play with dxgi interop on window

#

native vulkan isnt good on windows

#

it barely works

#

eg. does not support flip model

tame dock
#

Yeah, but it's paintful to hook into dxgi interop through vulkan. Presentmon_framegen would be easier to get to work.

keen void
#

also amd gpu drivers have always on dxgi interop for vulkan

tame dock
#

Certenaily, dxgi-interop won't work when loaded .addon

keen void
#

ya thats why sk doesnt support vulkan much

#

and renodx vulkan/renovk requies inject reshade with vulkan layer

#

with dxgi interop you cant mod the shaders

ocean spire
#

So we're moving to this channel now?

#

cool

#

we're getting a DC2?

#

that's awesome

tame dock
tame dock
tame dock
# ocean spire we're getting a DC2?

DC2 would be DC lite, mostly focused around fps limiter, without audio/controller/extra stuff.
I can describe algorithms used there, and have general implementation of the main features.

glad lichen
#

were the old versions of DC retroactively broken with Reshade somehow because of all this?

#

I had a few from a month ago randomly saved and those aren't working with games they used to work with

#

with a regular manual installation

tame dock
#

It got created in one of the versions.

#

I’ll release stable today, so it gets saved.

#

And, I may as well start releasing stables more often.

bleak perch
glad lichen
#

the game files wouldn't be it since I was trying out an older DC with a freshly installed game

tame dock
tame dock
#

And, a lot can be improved, as I didn't implement the full algorithms I had in mind, due to bueing busy fixing bugs in DC, making it more solid, etc.

#

Display Commnader Support

#
  • Changing discord channel name as discussed with Kal.
toxic blaze
tame dock
#

Also, it will be more reliable, less code, less bugs, hand written code.

opaque knoll
#

Should archive the other thread then, seems redundant

polar bay
#

There's a typo btw haha why is there 2 channels now I was about to ask.

tame dock
#

Display Commander Support

polar bay
tame dock
keen void
#

nothing else

tame dock
keen void
#

ya i dont use those at all tbh

#

and i think more than 50% people dont use them either

#

like dlss preset related things, if you want the most reliable way you can use nvidia profile inspector

#

if you want real time swtich, use optiscaler or the dev dll

tame dock
#

This would allow you to even turn on Smooth Motion from within the app, adjust profiles, etc.
Or I could just not include it at all. @keen void What do you think?

keen void
#

maybe not include it at all

#

everyone is using nvidia profile inspector

tame dock
keen void
#

imgui feels janky to use compared to the one from npi

tame dock
keen void
#

most people just want a good fps limiter + window management

#

features like prevent fullscreen, prevent always on top, continue rendering etc. (i consider those as window management)

tame dock
#

I felt into the rabbit hole, of adding more and more features every time someone asks. Or I came up with new idea.

keen void
#

its better to get a stable release first imo

#

there are a lot of tools to achieve those

tame dock
#

Yeah, certainly. Creating a solid tool, that does small number of thing, very reliable, would make it last long time.

keen void
#

should be just one page of features

#

like a renodx mod

#

which is pretty user friendly

#

current DC has too many sub menus/tabs

#

i personally dont use most features

tame dock
#

I noticed that it's hard to explain in README.md all the features, without making it like 50-100 pages long or so.

keen void
#

but its kind hard to find where the specific feature is if you do want those

#

maybe should be just like a display menu in games

#

one page and done

#

no sub menus

#

im talking about dc2 ofc

tame dock
#

or a modular design (not initially). If you want to install controller module, you can load it on the fly, but it's not loaded by default.

#

Kind of like reshade's addons.

keen void
#

well as long as thats not making coding/debugging harder

tame dock
#

Modular design, would be easier to maintain, than what I have right now.

#

Though, modular design isn't something I'll be doing intially, it's just a possible extension once everything else is done, and there is nothing else to do.

bleak perch
#

as of right now DC is my favourite fps limiter, it works incredibly well with nvidia FG, markers and queue 3

tame dock
bleak perch
#

yeah, but I did not notice the latency increase

tame dock
#

queue 1 may cause deadlocks in some games or fps loss, (needs more research to perfect it)

bleak perch
#

playing on a controller makes you almost immune to latency xD

#

but DC is by far the most stable one I tested

#

in terms of pacing

#

my only nitpicks are all the features that I do not use overload the UI (although it is nothing bad), sometimes my settings reset for whatever reason back to default (hence why I made the .toml read-only to make it persistent) and the log file which gets bigger and bigger (is there a size limit?)

opaque knoll
#

Cause these makes the most difference, beyond just QoL stuff.

#

Controller and screenshots and what not are QoL things, IMO.

#

But good limiter + window management i.e. being able to play game in borderless when game forces FSE or w/e.

#

That actually transforms the overall expereince from janky to smooth.

opaque knoll
#

Ideally, if it's a feature you can't exclusively test yourself, good chance you shouldn't ship it otherwise diagnosing becomes a bitch.

wintry fjord
#

your friendly neighborhood Linux user reporting in! RE4 Remake with REFramework gets me the following crash to desktop, logs included

#

tried as just an addon64 file and later in logs as dxgi.dll

tame dock
tame dock
tame dock
#

It's Re4 Remake, doesn't it require Reframework to run reshade?

wintry fjord
wintry fjord
#

it doesn't require it anymore as they gave up on Denuvo and other anti-tampers

tame dock
#

Usually, I detect reframework by detecting __storage__ folder, DC didn't detect reframework, and needs some flags disabled for it to work.

#

Does _storage_ exist in the game directory?

wintry fjord
#

I mean for this game I could just take REFramework out, I use it for other stuff instead of making Reshade work

#

there are 2 directories, let me check

keen void
#

not sure about linux

tame dock
keen void
#

but on windows i found load reframeworks as .dc64 gave me best results

#

best compatibility i mean

tame dock
#

One of hooks got loaded, which causes issues with reframework. Due to reframework code not detecting it.

wintry fjord
#

I could try as .dc64

tame dock
#

Can you check if _storage_ folder exists? Reframewrok should be creating it, if not I need to use some other detection method.

wintry fjord
#

it isn't in game folder next to .exe at least

tame dock
#

I'm not sure how to detect whenever dinput8.dll is the reframework or not.

wintry fjord
#

didn't work as .dc64

tame dock
#

I guess, I can just do it by exe name.

keen void
#

linux issue

wintry fjord
#

to be fair this is very much an edge case, Linux user with REFramework

keen void
#

i mean this could be an issue from ref

tame dock
#

I'll just add re4.exe to the list.

wintry fjord
#

I tried the limiter from the RHI channel and that did work for some reason

#

I just much prefer DC

tame dock
wintry fjord
#

which is why I prefer DC, it did work but it didn't feel the same at least on my system

tame dock
#

I like RHI UI being fps limtier focused. Having DC with simpler FPS limiter focused UI would be a plus.

wintry fjord
#

I mainly use DC for fps limiting purposes and I believe you had some sort of fix for older RE Engine Nvidia HDR non-sense games where HDR was basically borked

#

I used your window management for those

tame dock
wintry fjord
#

does it break actual RE Engine or just REFramework? I could delete REF if necessary

tame dock
#

v0.12.625

  • [compatibility] [hooks] RE4: treat as REFramework present for hook skip - re4.exe is detected so Display Commander skips the same D3D11/D3D12 device hooks as when a reframework\plugins module path is seen, avoiding conflicts when REFramework does not appear in loaded-module paths the usual way.
wintry fjord
#

okay, thank you for this

#

also, is it supposed to be the .pdb format?

tame dock
wintry fjord
#

ah, thank you

tame dock
#

Added to list of known issues, I'll fix it later.

#

Yeah, I'm planning to do something about the UI.

echo pivot
#

DC makes me happy

#

Gonna update to latest one in a mo, to try in CD. I've been using an old build

#

Keen to try your suggest FG settings. If latency goes down I'll dance

tame dock
#

The topmost setting is the lowest latency, at cost of poor frame pacing.

echo pivot
#

Currently I lock to 120fps and get around 38-45ms PCL

tame dock
#

max_queue=1/2/3, should should offer both good low latency and fram stability.

echo pivot
#

The thing is, the frame time graph is a mess but on screen it looks incredibly smooth in motion

#

So I prefer to ignore the graph

tame dock
#

I plan to rewrite the graphs, and better explain what they mean.

tame dock
echo pivot
#

That makes sense

tame dock
#

I have multiple graphs available, each graphs means different thing, this requires it's own guide with proper explanation. Certainly UI redesign.

tame dock
tame dock
#

I hid the unneeded sections by default.

#

Display Commander - FPS Limiter

tame dock
#

v0.12.628

  • [ui] Main tab UI optimizations - Optimized UI to make display commander for fps limiter focused.
obsidian flower
#

the different px spacing between the sections is killing me hah

tame dock
obsidian flower
tame dock
obsidian flower
# tame dock

still see some UI alignment inconsistencies, I understand that it is not the primary focus right now but I can help/point out if needed

tame dock
obsidian flower
tame dock
obsidian flower
tame dock
#

This is the UI from the separate prototype I created.

obsidian flower
#

i would keep the DLSS overrides as dropdowns also instead of the < > menu but that is just my personal preference

hollow ice
tame dock
#

This may help to iterate faster, I can then polish the features in DC, and create a plan what's needed for the rewrite, etc.

tame dock
#

Also, < > takes more vertical space.

obsidian flower
#

imgui is just a box so more smaller boxes inside will always look good, also you can probably color code them to create additional separation of the different sections

tame dock
#

True

#

@obsidian flower Also, a lot of UI options, such as "Fps limiter preset" are probably confusing to the end user. Given that you also have fps limtier mode "Default / Reflex mode / Latency sync"

#

Those names make sense to me, since I know the code. but likely not to most people on what is going on.

#

Same with "Performance Overlay", probably a fewer settings make sense, as a list, etc.

obsidian flower
#

i think most of DC users will have and will like the technical names but yea i get it
maybe you can try naming them by what use case do they suit the best or having some hover over explanation for each of the choices
but again, i kinda assume people downloading DC will have some knowledge of the technical terms

#

why would you download DC if you have no desire to tinker with the settings to find the best ones for your game and setup

hollow ice
#

Some hovered explanation or slightly better naming is always good to reduce friction

tame dock
#

From what I've seen a lot of people don't have that knowledge, and simply want the best setting to be applied automatically.

hollow ice
#

even if most users are technically minded, there's always someone new

tame dock
#

I plan to finish VRR detection, so fps limiter can be automatically activated without going inside the menu.

obsidian flower
#

maybe there can be a tip explaining what are the best use cases for each limiter type
For fixed refresh rate, for frame gen, for VRR and so on

#

so even the non technical ones can select the best for their setup

tame dock
#

I was thinking more like ' [x] "Auto limit" "applying settings for VRR mode, Frame Generation (balanced) profile", where X is checkbox automatically enabled.

#

You can then go and unselect it if needed.

#

If unselected you can override "VRR FG", "VRR non-FG", "FIXED frame rate", fps limiter mode, more options show up.

obsidian flower
#

yea thats a good option also, the best limiter would be selected as the default one and if you want to do custom changes you can go into a sub menu

#

that way it would be "plug and play" and configurable if needed also

#

hiding more things in sub menus/sections will not bother the technical users at all but will reduce confusion for the non technical ones

tame dock
tame dock
tame dock
#

@toxic blaze Do you think, the configurations of which tabs are visible should be global. Once you enable, audio control, it will appear in all games, etc.

lavish kestrel
#

I am big into using DC at the moment. DLSS preset changing, keyboard/mouse input supression, performance overlay are some features I will definitely miss if they are left out of DC2 and SK is going to continue to have spotty Reshade support. Just my thoughts 👍

tame dock
lavish kestrel
#

It's up to you of course, I am totally happy with current DC as long as the bugs get squashed and frame limiter stuff is made a bit simpler. But I understand you have your reasons for wanting to start over with DC2

tame dock
lavish kestrel
#

Yeah that makes sens

tame dock
tame dock
#

Here is current list of feature proposals.

lunar locust
#

then i dont mind whether its a reshade addon or not

tame dock
#

This would allow more people to colaborate, those that don't want to deal with GPL-3 code/can't for legal reasons. (not sure how of those people are there)

tame dock
lunar locust
tame dock
#

It would be a different repo, with separate installer for that.

#

Though, it would use the same base code.

#

just something to thing about, not a priority, but a possibility.

toxic blaze
tame dock
toxic blaze
#

my preference is to not enable it globally and leave it per game

tame dock
tame dock
placid topaz
# tame dock I gave given some thought about DC2, there are two routes to take. a) write firs...

Yes, that standalone framerate limiter library would be very helpful.
That's been requested of me multiple times now, but I have not had time to do this myself.

I'd love to contribute testing/knowledge/whatever to making a general purpose limiter library that can be integrated into games and mods.
Special K cannot be, on account of, you know... the license that is incompatible with pronbably all games except Tux Racer 🙂

#

If you can design that component of your new project as a separable library from day one, it will be a hit.

toxic blaze
tame dock
toxic blaze
tame dock
tame dock
#

v0.13.1 (2026-03-24)

  • [cleanup] [hooks] Streamline hook signatures vs NVIDIA headers - Loader exports (slInit, slUpgradeInterface, slIsFeatureSupported, slGetNativeInterface, slGetFeatureFunction) and feature/plugin detours (slDLSSGetOptimalSettings, slDLSSSetOptions, slDLSSGSetOptions, slDLSSGGetState, slSetData) now use sl::Result and the parameter types from sl_core_api.h, sl_dlss.h, and sl_dlss_g.h instead of int / mismatched types (e.g. slGetFeatureFunction takes sl::Feature, not int).
    Details: hooks/nvidia/streamline_hooks.cpp.
#

v0.13.2 (2026-03-24)

  • [critial] [bugfix] [hooks] Fixed loading wrong sl.interposer.dll version - Display Commander now resolves and hooks the expected Streamline interposer module for the current process/session instead of attaching to an incorrect version.
    Details: hooks/loadlibrary_hooks.cpp, hooks/nvidia/streamline_hooks.cpp.
#

@toxic blaze ^

toxic blaze
#

still black display. the older version 0.12.598.2021 works though

tame dock
tame dock
toxic blaze
#

still no go

tame dock
toxic blaze
tame dock
# toxic blaze

This time, ```
NVSDK_NGX_D3D12_CreateFeature_Detour:1186 - 12.517 ms before crash

tame dock
# toxic blaze
21:04:43:251 [ 9632] | INFO  | To suppress NGX hooks, set NGXHooks=1 in [DisplayCommander.HookSuppression] section of DisplayCommander.toml
tame dock
#

v0.13.5 (2026-03-24)

  • [cleanup] [hooks] CALL_GUARD_NO_TS on NGX helpers without guards - Added crash/exit call-site tracking to DLSSOptimalSettingsCallback_Proxy, UntrackNGXHandle, GetFeatureFromHandle, ApplyDLSSPresetParameters, CleanupNGXHandleTracking, ResetNGXPresetInitialization, CleanupNGXHooks, and ApplyNGXParameterOverride in ngx_hooks.cpp. Skipped trivial one-line helpers and hot UI getters (IsDLSSEnabled, etc.) to limit overhead and tracker noise.
    Details: hooks/nvidia/ngx_hooks.cpp.
lunar locust
tame dock
# toxic blaze hope this helps

That's one of those nasty bugs I already fixed in DC2, I'll backport the fix.

v0.13.6 (2026-03-25)

  • [hooks] NGX D3D11/D3D12 Init: InFeatureInfo parameter - NVSDK_NGX_D3D11_Init / NVSDK_NGX_D3D12_Init typedefs and detours now include const NVSDK_NGX_FeatureCommonInfo* InFeatureInfo before InSDKVersion, matching public nvsdk_ngx.h when NGX_SNIPPET_BUILD is not defined. NVIDIA documents an alternate 4-argument Init for NGX_SNIPPET_BUILD (driver/snippet); if a loaded module used that ABI, the same export name would be incompatible.
    Details: hooks/nvidia/ngx_hooks.cpp.

  • [cleanup] [hooks] D3D11/D3D12 Init_with_ProjectID hook identifiers - Renamed internal NVSDK_NGX_D3D11_Init_ProjectID_* and NVSDK_NGX_D3D12_Init_ProjectID_* typedef/original/detour symbols to *_Init_with_ProjectID_* so they match the exported NGX APIs NVSDK_NGX_D3D11_Init_with_ProjectID / NVSDK_NGX_D3D12_Init_with_ProjectID. Behavior unchanged.
    Details: hooks/nvidia/ngx_hooks.cpp.

tame dock
toxic blaze
tame dock
# toxic blaze

have your tried changing dinput8.dll to dinput8.dll.dc64?

tame dock
toxic blaze
tame dock
# obsidian flower true

I ended up spending a lot of time explaning same thing over and over again to new users. So, it's a UI design issue.

tame dock
#

Example of basic page.

toxic blaze
#

oh shit i got RE9 to work with v0.13.6. i had a folder in dlls_to_load and had dinput8.dll in the "before reshade" folder inside of that

lunar locust
toxic blaze
#

i dont remember why i put that file in there. i think was reading some compatbility issue

tame dock
toxic blaze
tame dock
#

No worries, a few good things came out of this. I fixed some potencial issues.

tame dock
tame dock
toxic blaze
#

all good now 👍

tame dock
tame dock
#

v0.13.9 (2026-03-25)

  • [cleanup] [performance] Switched Display Commander to dynamic MSVC CRT (/MD, /MDd) - Reduces .addon64 size by avoiding static CRT duplication in the PE (measured: ~9.2 MiB -> ~8.0 MiB for build/src/addons/display_commander/zzz_display_commander.addon64); requires the target machine to have the MSVC runtime available.
wise grove
#

@tame dock Oh a new problem: the shader is not selectable in BG3, you can see it in the list but it is gray and clicking it does nothing. Thanks

tame dock
wise grove
#

NVM

tame dock
wise grove
#

when I deselected in the UI,

#

the shader is now enableable

#

basically i always have it off in the UI,

#

I just check the shader and it works

#

How should I use it in the UI?

tame dock
wise grove
wise grove
tame dock
tame dock
wise grove
tame dock
#

the other settings are for the swapchain HDR upgrade, when you are not using RenoDX, but you want to use DC for ugprades.

tame dock
#

It's a heuristics used by Special-K, I think it was derived manually by looking at the results.

#

I'm going to work on redesining the UI, to make it more clear as to what's going on.

wise grove
tame dock
wise grove
#

ah yeah i read that he expands the color gamut to wide

tame dock
#

You can represent each color as L M S, where L is luminesce.
Algorithm uses reinhard ITM, to increase luminance of of given color.

#

As, well as a hersitic, that boosts the color intensity, as luminesence increases.

wise grove
#

Sometimes it looks really good

#

it can overbrighten

#

daytime scenes in witcher i'm worried it will age my panel!

#

lol

#

but can look good

#

armor glows in BG3 are too bright to use it lol

#

but i would

tame dock
#

It depends on the game. Some games have HDR that's too dark.

wise grove
#

yes

#

even with Reno feels too dark sometimes

lunar locust
tame dock
lunar locust
#

right

#

makes sense

tame dock
#

Basically, something simple like ReLimiter, which is basically RenoDX basic.

lunar locust
#

yah

tame dock
#

So two things:

    • what do you put there, RenoDX has brighntessin basic, etc.
  1. specific UI design and optimization
lunar locust
#

playing talos principle remaster with FG now, works great

tame dock
#

Once, the new UI design is one, I can go back to working on FG fps limiter, as there are many things to make it better.

#

First I want to polish the UI, figure out what to put there.

lunar locust
tame dock
#

Some other designs I tried.l

tame dock
glad lichen
#

yo is there an archive of older DC releases somewhere?

#

lots of stuff was added and modified over time but in some games I was having much better results with versions from a few months back

#

basically perfect frame pacing with FF Rebirth and its FG, but I can't remember the version :S