我有一个 Windows 应用程序,它在启动时以编程方式将其主窗口大小设置为 2048x2732,但由于我的显示器的分辨率为 1920x1080,因此系统会缩小窗口大小。
是否存在影响最大窗口大小或允许大窗口的系统选项?
我需要窗口大小正好是 2048x2732 才能录制一些视频(使用Win++ Alt)R。
编辑1:
看起来我的配备 RTX 3060 的笔记本电脑无法访问 Nvidia DSR:
应该有一张这样的图片:
编辑2:
但我能够使用台式机上的 GTX 1060做到这一点。
根据您的 GPU,您必须使用不同的方法将您的桌面分辨率提高到 1920x1080(您的 GPU 的输出)以上,然后让您的显示器缩小此输出。
例如,如果是 NVidia,请使用 NVidia 控制面板 > 3D 设置 > DSR - 因子并设置 4.00x 的因子,这样您就可以获得 4K 输出。
在 AMD 上使用虚拟超级分辨率将输出增加到 4K。
英特尔更加棘手,您必须使用第三方软件(例如来自 monitortests.com 论坛的自定义分辨率实用程序 (CRU))来生成自定义配置文件(带有 EDID 覆盖)。
无论您使用哪种方法,您都应该能够在 Windows 设置 > 系统 > 显示中选择更高的分辨率。
更高的输出分辨率本质上意味着您的 GPU 需要做更多工作,而您的显示器无论如何都必须丢弃该细节才能再次压缩图像,因此这通常是毫无意义的。
但在您的特定用例中,这应该允许您的 1920x1080 显示器像 4K 显示器一样显示内容。
Overminded 的答案解释了如何使用硬件来实现这一点,这需要支持虚拟分辨率的 NVidia GPU 或 AMD GPU 来缩小最终分辨率以适合您的显示器。
如果您实际上没有硬件,还有另一种方法,即仅使用软件或使用第二台电脑来替换一些软件。
如果您使用 Oracle VirtualBox 并创建虚拟机,然后在其上安装 Windows,则可以无窗口运行它。VirtualBox 允许您启用远程桌面服务器,或者您可以将 VM 设置为位于您的网络中并从 VM 内部设置远程桌面访问(不过 Oracle 更简单)。
要启用远程桌面服务器,请在关闭虚拟机的情况下,进入设置、显示、远程显示,然后在顶部选中启用服务器。如果您已经为自己的电脑设置了 RDP,请将端口更改为其他端口。
现在您可以通过 RDP 连接到 localhost:3389 或您设置的任何端口。
现在,如果您创建一个 .RDP 文件来连接到您的虚拟机,并且使用记事本将以下行更改/添加到 .rdp 文件中:
我谨慎地假设您的显示器不是纵向模式,而是横向模式。如果不是,则翻转宽度和高度的值。
智能尺寸选项将确保当您的窗口最大化时,分辨率不会改变并且始终缩放窗口。
您还可以使用第二台电脑并在其上运行软件,启用远程桌面,然后使用相同的 RDP 技巧。第二台电脑也可以是终端服务器等。
您可以根据需要将虚拟窗口设置得尽可能大,但窗口越大,阅读起来就越困难。如果您确实有一个纵向窗口,我建议将高度设置为 2738,但将宽度设置为 4868,这样您就可以保持显示器的纵横比不变,并且看起来不会完全拉伸。
对你的问题的简短回答是:你不能。
您不能让窗口拥有比其显示屏幕更多的像素,这在物理上是不可能的。
更长的答案是,使用正确的硬件(特别是支持此功能的 Nvidia GPU)和正确的软件(Nvidia DSR)来实现分辨率魔法,以及更可靠的屏幕录像机 - 而不是 Windows 内置的游戏栏录像机 - 比如 OBS。
请参阅此答案https://stackoverflow.com/a/55007711/5518385