-
Notifications
You must be signed in to change notification settings - Fork 494
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
v0.8 计划 #202
Comments
Magpie/Runtime/effects/RAVU_Zoom_R3.hlsl Lines 74 to 75 in a69f902
我看到了这段注释,想起来之前给mpv报错的时候提过,希望有帮助。 mpv-player/mpv#9390 (comment) 最终上游的修复也是一样 bjin/mpv-prescalers@2678630 |
感谢 69fe0cf |
Use with youtube??? |
Now u can do it. PIP function of modern browser would create the another window for webvideo. But why not use media player? |
英伟达刚开源了 NIS,一个和 FSR 竞争的技术。我会尝试移植它 初步看了一下,NIS 使用计算着色器。我虽然计划为 MagpieFX 添加计算着色器支持,但工作量很大,至少 v0.8 不会实现。另外计算着色器需要 DX 功能级别 11,这是很大的限制。如果 NIS 能移植到像素着色器上最好不过 |
@Blinue FSR的官方demo看起来也是用compute shader做的,请问NIS的做法是与之有什么差异,以致无法用同样的方法移植吗?还是说FSR本身就预留了两种调用路径。 |
FSR 同时支持像素和计算着色器, 更新:已移植为像素着色器,性能有很大损失 |
进显卡控制面板了,普及比FSR快多了,基本直接实现通用,感觉老黄又赢了。 |
NIS现在可以通过最新的驱动在控制面版或者GeForce Experience里面开启,现在Lossless Scaling也实现了对NIS的支持,感觉确实现在的NIS普及率更胜一筹 |
As it runs inside driver NIS theoretically should be better. But it is not, I can't get low latency without tearing. Using RTSS fps limiter + sync limiter + fast vsync I get tearing with NIS, which is amazing, fast vsync should be free of tearing. On the other hand Magpie works very well in the same setup. On my gtx 1050ti NIS take about same percentage of GPU utilisation like FSR, maybe a little higher, but tearing is kind of deal breaker. |
从LS的实现来看,不出意外和fsr一样,空间放大都是基于bilinear没有亮点,至少从效果看是这样的,不加锐化也表现大体相似,感知上区分是靠比cas激进的锐化步骤 |
release/v0.7 实现了指定 GPU 的功能,你们能正常使用吗 @palxex @hooke007 直接从 Actions 下载:https://github.com/Blinue/Magpie/actions/runs/1484391093 |
抱歉,我用的是amd 3600,没核显。 |
这个选项可以正常使用吗 @LightMu |
我这是独显直连,核显屏蔽后只显示两项,指定microsoft也工作正常,cpu占用会大幅上升 |
最后一个选项是 WARP,纯 CPU 渲染 |
我这里是笔记本,不支持独显直连。我外接了副屏,相当于独显直连。都正常使用 |
看起来 WARP 和 DwmSharedSurface 不兼容 |
Magpie 现已支持 DPI 缩放不同的多显示器。 2021 年了 WPF 依然没有原生的支持,从提交上看 WPF 的开发处于停滞状态 https://github.com/dotnet/wpf/commits/main |
Win11 的新表情很有意思 MAG:mag:IE |
NIS 比 FSR 锐利的多。移植为像素着色器后 NIS 非常慢,还需要优化一下 |
NIS 附带一个 NVSharpen,和 FSR_EASU 是很好的组合。既有 FSR 的速度,又有 NIS 的锐度。NVSharpen 相比 FSR_RCAS 抑制噪点效果更好 |
发现一个现象,LS移植的NIS锐化效果不如驱动的锐化效果,表现有些糟糕(没有驱动锐化的清晰),看了你的对比,貌似和驱动没什么太大区别 |
锐度可通过 sharpness 参数调整 |
发现一个很有意思的参数 WDA_EXCLUDEFROMCAPTURE Magpie 捕获方法中最大的限制是要能捕获到被遮住的窗口,这个参数意味着更多可能性 更新:这个 API 给了我很多灵感,一大波捕获方法正在路上... |
新加入的 Desktop Duplication 捕获方法可以捕获到 UWP 窗口,但是 GPU 占用比其他方法高不少 总体可用,不像 GC 那样高 CPU 占用,也不像其他两种方法无法捕获到 UWP 更新:对于静止图像还有很大的优化空间,实现之后可以有效提高流畅度和降低功耗,尤其是对于视觉小说游戏 |
保存,选择,某一个程序的 设置 方案? |
如果你指的是针对特定游戏的配置,暂时不会有这个功能 |
crt-royale 太难啃了,我决定放弃。它应该集成在模拟器里,因为对输入的要求很苛刻 我会放在 MagpieToys 里,如果以后修好了再加回来 忍不住要吐槽 crt-royale 两句,移植时最痛苦的是查找参数的定义。作者对参数的组织方式很有想法,每个参数都既有运行时版本,又有编译时版本,再加上很多宏定义,我很难找到使用的参数是哪来的。另外这个着色器的代码又臭又长,其中一些用来处理运行时和编译时参数的选择,还有一些用来处理不同显卡的能力差别,还有很多不同路径的代码用来实现同一个功能,然后用户可以在运行时选择使用哪一种... 话说回来我也想让 magpie 在功能性和配置复杂度之间找到平衡,现在的配置对很多小白来说太难了。软件领域有一个 Worse is better 原则,功能更少的软件更容易使用,因此会更流行 |
我会再移植几个 crt 着色器,crt-royale 搞多了,现在看什么着色器都眉清目秀 |
MagpieFX 现已支持获取总帧数和光标位置,因此可以实现一些炫酷的动画效果! |
曼德博集合 //!MAGPIE EFFECT
//!VERSION 1
//!CONSTANT
//!VALUE OUTPUT_WIDTH / OUTPUT_HEIGHT
float ratio;
//!CONSTANT
//!DYNAMIC
//!VALUE FRAME_COUNT
int frameCount;
//!PASS 1
//!BIND INPUT
int mandelbrot(float2 c) {
float2 z = c;
for (int i = 0; i < 1500; i++) {
if (dot(z, z) > 4.0) return i;
z = float2(z.x * z.x - z.y * z.y, 2.0 * z.x * z.y) + c;
}
return 0;
}
float zoom(float t) {
float a = floor(t / 24.0f);
return (exp(-t + 24.0 * a) + exp(t - 24.0 - 24.0 * a));
}
float4 Pass1(float2 pos) {
pos.x = pos.x * ratio - 0.2;
float2 c = ((pos * 2 - 1) * 2.0) * zoom(frameCount / 100.0f);
c += float2(-1.253443441, 0.384693578);
float iters = float(mandelbrot(c));
float3 col = sin(float3(0.1, 0.2, 0.5) * float(iters));
return float4(col, 1.0);
}
|
终于找到了 Graphics Capture 无法捕获一些窗口的原因。WGC 只能捕获在 Alt+Tab 列表中的窗口。解决办法也很简单,修改源窗口的样式使它可以被 alt+tab 切换到就完了 |
OBS 的 WGC CPU 占用很少,但是我按他们的方法配置也没解决问题 |
关于跨越多个屏幕的功能有一个意想不到的障碍,Windows 没提供 API 持久标记一个显示器(如 ID 之类的),我就没法让用户指定使用哪些显示器。 设置里每个显示器都有一个编号,但不幸的是,这个编号没有 API 来获取,而且系统重启后编号可能会变... 不值得在这里花太多功夫,我就只提供一个“跨越所有显示器”的功能 |
custom scaling algorithim? less intensive scaler than magpie fsr but better than bilinear and bicubic |
Do you want to recommend a new effect? Please file an issue |
我这里并没有出现过WGC占满CPU的情况,应该是因为我的显卡并不支持DirectFlip。在测试中打开关闭Magpie的DirectFlip选项都不影响CPU占用率,甚至我都没感觉这个捕获方式比其他的有任何差异——实际上这个是我日常使用的捕获方式,捕获方式中描述的双三次插值损失在200%下我看不出来,而这个API在我这的帧率稳定性是其他任何方法无法达到的。 |
光标可以在屏幕间自由移动真的很棒,可惜我只有一个显示器,无福消受了🥲 |
NIS 更新到了1.0.1 |
会跟进 |
NIS 更新后振铃问题好了很多 |
这个问题似乎一直有,我正在调查 更新:已修复 |
现有的效果里只有 FSR 不支持 DX10,不用发布 DX10 版本了,直接加一个 DX10 的 FSR 就好。 |
因为现在路线图迁移到 Projects 了,接下来关于开发的讨论转移到 Discussions 里 |
(Request) Shadow for fps indicator #111
crt-royale等)CRT emulation shader #160
多屏幕
Spanning over multiple screens #219
Cursor can't move freely between monitors #65
The text was updated successfully, but these errors were encountered: