ClientSize 未在 Linux 上更新 C# 中的 GameWindow 宽度和高度

ClientSize not updating GameWindow Width and Height in C# on Linux

我有以下方法负责设置 window 加载时的大小(这一切都发生在 class MyClass 中,它是 class 的子class游戏窗口).

protected override void OnLoad( EventArgs e )
{
    // called during application initialization
    GL.ClearColor( 0, 0, 0, 0 );
    GL.Enable( EnableCap.Texture2D );
    GL.Disable( EnableCap.DepthTest );
    GL.Hint( HintTarget.PerspectiveCorrectionHint, HintMode.Nicest );
    Console.WriteLine(Width.ToString() + " " + Height.ToString()); // 640, 480
    ClientSize = new Size( 640, 400 );
    app = new MyApplication();
    Console.WriteLine(Width.ToString() + " " + Height.ToString()); // 640, 480
    app.screen = new Surface( Width, Height );
    Sprite.target = app.screen;
    screenID = app.screen.GenTexture();
    app.Init();
}

我对 ClientSize 有疑问,因为它似乎将输入的值作为建议。无论我放入什么,宽度和高度始终分别保持 640 和 400。我希望它能改变这些价值观。我咨询了一位运行 Windows 的朋友,对他来说,它按预期工作。我是 运行 Linux,感觉问题与此有关,尽管我不确定。我正在使用 Mono 进行编译。我已经看过一些东西:

这个错误报告看起来像是在谈论我的问题:https://github.com/opentk/opentk/issues/259 但错误已经修复,我使用的是可调整大小的而不是固定的 window。

有人可以帮帮我吗?我们将不胜感激任何帮助。

这个问题没有解决方案,我已经提出了一个问题。如果您也有这方面的问题,请在那里寻求进一步的帮助:

https://github.com/opentk/opentk/issues/1053

当 OpenTK 更新到 4.0 版时,它可能会被修复,但该版本仍处于测试阶段。