Qt 分配1073745919字节的内存不足

Qt 分配1073745919字节的内存不足,qt,qml,qt-creator,Qt,Qml,Qt Creator,我试图在QML中上传汽车网格,但是mesh.obj(在qrc下)显然太大了,我在我的.pro文件中添加了CONFIG+=resources\u big,但没有任何更改。然后我尝试从应用程序外部调用它,但它不起作用。我如何解决这个问题?我使用qt5.10和MinGW作为编译器。您不想在qrc资源中放入大量文件。这将导致巨大的开销。它会使您的可执行文件膨胀,占用RAM,必须将其额外加载到Qt的资源虚拟文件系统中的RAM中,您仍然需要将其加载到RAM中才能使用它 将它放在应用程序文件夹中的文件系统中,

我试图在QML中上传汽车网格,但是mesh.obj(在qrc下)显然太大了,我在我的.pro文件中添加了CONFIG+=resources\u big,但没有任何更改。然后我尝试从应用程序外部调用它,但它不起作用。我如何解决这个问题?我使用qt5.10和MinGW作为编译器。

您不想在qrc资源中放入大量文件。这将导致巨大的开销。它会使您的可执行文件膨胀,占用RAM,必须将其额外加载到Qt的资源虚拟文件系统中的RAM中,您仍然需要将其加载到RAM中才能使用它

将它放在应用程序文件夹中的文件系统中,您可以直接从磁盘将其加载到RAM中,从而显著减少内存使用


此外,3d网格非常适合压缩,Qt的
QByteArray
具有压缩支持,因此您可能希望将其用于减少部署占用空间。

您不希望将大型文件放入qrc资源中。这将导致巨大的开销。它会使您的可执行文件膨胀,占用RAM,必须将其额外加载到Qt的资源虚拟文件系统中的RAM中,您仍然需要将其加载到RAM中才能使用它

将它放在应用程序文件夹中的文件系统中,您可以直接从磁盘将其加载到RAM中,从而显著减少内存使用


此外,3d网格非常适合压缩,Qt的
QByteArray
具有压缩支持,因此您可能希望将其用于减少部署占用空间。

网格文件有多大?你确定问题是文件太大了吗?您得到的错误是什么?你什么时候面对这个问题?您当前的问题没有给出任何信息,我们如何回答?错误是:分配1073745919字节的内存不足,我尝试上载的网格大小约为55MB。这与大小有关,因为当我上载部分网格(1Mo)时,它工作正常。您尝试过吗?请检查并告诉我们是否有帮助。网格文件有多大?你确定问题是文件太大了吗?您得到的错误是什么?你什么时候面对这个问题?您当前的问题没有给出任何信息,我们如何回答?错误是:分配1073745919字节的内存不足,我尝试上载的网格大小约为55MB。这与大小有关,因为当我上载部分网格(1Mo)时,它工作正常。您尝试过吗?请检查它并告诉我们它是否有用。我将它放在应用程序文件夹的文件系统中,并尝试加载它,但没有显示任何内容。看起来网格只有在qrc资源中显示时才会显示(在qrc中,我尝试显示它的一部分,并且它工作正常),我不知道为什么不能从本地目录路径加载它。如果有人可以提供帮助,因为您的项目默认搜索qrc文件,您必须通过将
文件://
预先添加到文件路径来告诉它您要从文件系统加载文件。谢谢!我没有意识到我必须在url前面加前缀才能强制它查看本地文件系统。我将它放在应用程序文件夹的文件系统中,并尝试加载它,但没有显示任何内容。看起来网格只有在qrc资源中才显示(在qrc中,我尝试显示它的一部分,并且它工作正常),我不知道为什么不能从本地目录路径加载它。如果有人可以提供帮助,因为您的项目默认搜索qrc文件,您必须通过将
文件://
预先添加到文件路径来告诉它您要从文件系统加载文件。谢谢!我没有意识到我必须在url前面加前缀才能强制它查看本地文件系统。