Godot Engine v4.4.1.stable.steam.49a5bc7b6

I have a problem. I wrote the code, it works correctly for renderer ‘gl_compatibility’ but as soon as I switch the renderer to ‘forward_plus’ I get this error:

E 0:00:00:11:820 command_queue_execute_and_present: QueuePresentKHR failed with error: VK_ERROR_OUT_OF_HOST_MEMORY
<C++ Error> Condition ‘err != VK_SUCCESS && err != VK_SUBOPOPTIMAL_KHR’ is true. Returning: FAILED
<C++ Source> drivers/vulkan/rendering_device_driver_vulkan.cpp:2742 @ command_queue_execute_and_present()

What can I do about this?

Here are the configurations of my PC:
Intel Core i5 9600KF 3.70GHz
Vulkan 1.4.303 - Forward+ - Using Device #0: NVIDIA - NVIDIA GeForce GTX 1060 6GB
Windows 10 Pro 22H2

  • Toxe replied to this.

    komandor_353 Hmmm, I think your best bet is to open an issue on GitHub or check the existing ones (I just saw a couple issues with Vulkan errors like this one). Also try using an older or newer version of the engine if possible.

    komandor_353 can you create new empty project with that new renderer?
    can you then paste your code into the new project and see if it maybe work there?

      I will give my code to a friend and see if it works for him. And if I get any results, I’ll post it here.

      All in all, the results of this testing are very interesting. In general, loading the game and its operation requires 6-7 GB of RAM. I gave this code to 3 friends:
      1) 4070, 12 GB video memory and 16 GB RAM - no error
      2) Me, who has a 1060, 6 GB of video memory and 48 GB of RAM - there is an error
      3) 1050TI, 4 GB video memory and 16 GB RAM - there is an error
      4) Intel Core i5 1235U, Integrated Graphics, Iris Xe Graphics (80EU) and 16 GB RAM - no error.

        I also tried the tiny model and it runs without error

        Might be best to report on GitHub.

          komandor_353 In general, loading the game and its operation requires 6-7 GB of RAM. I gave this code to 3 friends:

          I can see the crash on weak NV cards. Apparently video memory is needed here. The most interesting thing is how Iris Xe takes memory — any stats?

            Tomcat
            I can't give any statistics yet, but as far as I understand, Godot can't automatically "swap" files from RAM and VRAM and back.

              That's why when Forward+ initially loads, it tries to shove everything into VRAM, it fails and it breaks. And if that's the case, then the only way to do it is to write to the developers so that they add automatic swap, or tell from them to us about methods for controlling file loading. But I could be wrong about all this.

              komandor_353 Godot can't automatically "swap" files from RAM and VRAM and back.

              Godot can't. But Iris XE, as far as I understand, that's exactly how it works — the video driver does it.

                Tomcat I think in case of integrated graphics core everything is simpler. For it RAM and VRAM are the same, so everything works well

                  komandor_353 For it RAM and VRAM are the same, so everything works well

                  Then it turns out that for the game, you need VRAM to avoid crashing.

                    Tomcat Yes, or somehow learn to control loading and unloading in VRAM, until the Godot developers themselves do automatic swap, like in UE5

                      komandor_353 until the Godot developers themselves do automatic swap, like in UE5

                      It can be suggested

                      Toxe Might be best to report on GitHub.