-
Notifications
You must be signed in to change notification settings - Fork 533
窗口化缩放 #1071
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
窗口化缩放 #1071
Conversation
src/Magpie.Core/ScalingWindow.cpp
Outdated
@@ -210,28 +242,142 @@ ScalingError ScalingWindow::Create( | |||
}; | |||
RegisterClassEx(&wcex); | |||
|
|||
wcex.lpfnWndProc = DefWindowProc; | |||
wcex.lpszClassName = CommonSharedConstants::SWAP_CHAIN_CHILD_WINDOW_CLASS_NAME; |
This comment was marked as outdated.
This comment was marked as outdated.
Sorry, something went wrong.
窗口下使用的话,最小帧率给的太低了,强制看慢动作一样,至少要60fps |
最小帧率不影响流畅度,你限制最大帧率了吗 |
没有限制最大帧率 |
Magpie.2025.02.16.-.14.38.20.02.mp4录了一个高糊的120fps视频,不知道能不能看出来,缩放前后滚动的手感有点发粘。 |
滚动时帧率多少 |
大部分时间30-50左右,没超过60fps |
是帧率低导致的,换个缩放模式或捕获试试 |
是帧率的问题,但是最低帧稳不住,需要提高下限。 |
看起来是因为功耗不稳定,那么全屏化也有同样的问题 |
是的全屏也是一样的。窗口化的使用放大了这个差异,因为和旁边的程序不在一个流畅度上。 |
引入最低帧率就是为了解决这个问题,最高可以设置成 30FPS,这也不够吗 |
30FPS 实在太低了。。。我显卡够你放240我都没问题 |
主流显示器还是60Hz,而且最低帧率的目的是维持显卡的能耗等级,和显示器刷新率无关。这个问题和窗口化无关就新开议题讨论吧,增加选项很容易,但需要你测试一下。 |
窗口化缩放有两个大原则:
下面是窗口分类,我见过的窗口都可以归类到其中一种
下面是不包含 WS_CAPTION 样式的窗口类型,它们很罕见,方便的话可以支持。WS_OVERLAPPED 和 WS_POPUP 唯一的区别在于前者会自动添加 WS_CAPTION 样式,如果手动移除 WS_CAPTION 样式,两者没有区别。
|
已修复 |
额没有区别。还是接触的瞬间就把光标反弹了 |
看来是我没遇到过的错误,要找到原因才能修复 |
https://github.com/search?q=repo%3AFunkyFr3sh%2Fcnc-ddraw%20DevmodeLbl&type=code 禁用了cnc-ddraw的光标限制就不会反弹了 |
光标移到工具栏上会移出游戏窗口,然后 cnc-ddraw 又移回去。这个选项和 Magpie 冲突 |
TouchHelper 支持日志 Magpie.Core 部分文件移动到 Shared
spdlog 默认使用 ANSI 编码,但支持使用宽字符文件名
有时会导致奇怪的行为
窗口化的开发现在告一段落,我没想到可以走这么远,感谢测试和反馈的你们!很快会发布测试版。 |
Hi Just wondering How did you do it. I wanted this feature to be back so much thansk |
I clone this repo and create local branch base the delete hotkey commit from the dev branch to modify, but now the dev bransh is deleted, rebase all commit in the one commit to merge, so current not a good way to reproduce it. |
Close #135
Close #1052
Close #959
这个 PR 用于跟踪开发进度和收集反馈。已实现的功能: