簡體   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