【问题标题】:Fullscreen Form with a maximum form size lagging具有最大表单大小滞后的全屏表单
【发布时间】:2022-01-27 02:38:38
【问题描述】:

我正在制作一款游戏,所有图片框的尺寸和位置均基于 1920x1080 分辨率(因为这是我的屏幕尺寸)。但是当以不同的分辨率玩游戏时,游戏不会全屏(使用FormBorderStyle = FormBorderStyle.None;WindowState = FormWindowState.Maximized;),因为我已将最大表单尺寸设置为1920x1080。问题是,当在更大分辨率的显示器上玩游戏并且表格没有填满整个屏幕时,游戏会变得非常缓慢和缓慢。有没有什么办法解决这一问题?也许通过在游戏周围添加黑条?

【问题讨论】:

  • 您没有正确确定减速的原因。当图像需要调整大小以适合框时,PictureBox 会变慢,可能是在具有更高 dpi 设置的显示器上。而当像素格式不是最佳时,32bppArgb 是最好的,因为它与视频显示的格式相匹配,所以比其他任何格式都快 10 倍。准备图像以具有正确的大小和格式。

标签: c# performance fullscreen screen-resolution


【解决方案1】:

假设您的游戏依赖于屏幕和窗口的大小才能正常工作,您可以将整个游戏移动到 UI 面板中,并将其置于窗口的中心。这可能需要对您的代码进行大量修改。

或者您可以采取懒惰的方式打开一个新窗口,而不是从完全黑色的 Program.cs 中打开游戏并将其最大化,然后以 1920x1080 打开游戏窗口中心屏幕而不将其最大化为来自背景窗口的对话框,所以它总是在黑色的前面。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多