繁体   English   中英

glfwInit 需要 20 秒

[英]glfwInit takes 20 seconds

直到最近我才遇到这个问题,但是glfwInit()总是需要 20 秒才能执行。 我已经看到与驱动程序问题有关的其他 stackoverflows 和 github 问题 - 但我没有与人们谈论的设备相同的设备,并且我拥有的设备和驱动程序(完全更新),我从来没有遇到过这个问题,直到现在。


    RB_CORE_INFO("Creating window {0} ({1}, {2})", props.title, props.width, props.height); // log macro - for example, will print at 10:30:00

    if (!gGlfwInitialized)
    {
        RB_CORE_TRACE("Initializing GLFW"); // prints at 10:30:00

        const int success = glfwInit(); // takes 20 seconds
        RB_CORE_ASSERT(success, "Could not initialize GLFW")
        RB_CORE_TRACE("GLFW Initialized"); // prints at 10:30:20

        glfwSetErrorCallback(GlfwErrorCallback);

        gGlfwInitialized = true;
    }

    RB_CORE_TRACE("Creating glfw window");
    mWindow = glfwCreateWindow(static_cast<int>(props.width), static_cast<int>(props.height), mData.title.c_str(),
                               nullptr, nullptr);

我的代码片段,虽然我很肯定问题不是我的代码。 我不确定我的问题是glfw还是Windows 11,但我想弄清楚它会发疯。 至少据我所知,我在网上找到的其他解决方法和原因似乎不是我的情况。

任何帮助是极大的赞赏。

作为参考,我运行的是 Windows 11,完全更新并更新了所有驱动程序。 RTX 3080 gpu 和 Ryzen 5900x cpu。 有些人指责海盗船键盘,虽然我有一个 Ducky 键盘,但这似乎也不是原因。

注意:自从几天前我第一次遇到这个问题以来,我已经重启了很多次。

编辑:似乎问题与有关但是这些指向硬件 ID 中带有 VID_262 的设备驱动程序。 但由于我没有那个特定的 VID_262,我不知道从哪里开始寻找。 使用 DevCon.exe 我生成了此列表,但即使在逐个拔下每个设备后,我也找不到问题所在。 截至本次编辑,我还不能尝试在另一台设备上运行它。

所以事实证明 VCPKG 是邪恶的。 我开始遇到更多问题——因为 ImGui 第一次编译,但是当我使用他们的 NewFrame 函数时会出现读取访问冲突。 然后它变成了链接错误和一大堆真正开始让我感到困惑的事情。 即使我通过 premake 从我自己的文件夹中获取所有库,Visual Studio 似乎也感到困惑,并试图将我生成的 lib 文件与我在 vcpkg 上安装的 lib 文件链接起来。

关闭 vcpkg 修复了我的两个链接错误,现在使 glfw init 非常快。 我想我应该完全卸载 vcpkg,这样它就可以解决其他使用 glfw 之类的游戏或应用程序的问题。

长话短说,VCPKG 是我系统上的噩梦。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM