-
Notifications
You must be signed in to change notification settings - Fork 1.5k
Open
Description
Hi everyone,
I've been using osgDB::readNodeFile
to load .obj files in OpenSceneGraph with the option osgDB::Options("noTriStripPolygons")
to speed up the loading process. Initially, everything worked fine. However, I recently encountered an issue where the application crashes due to a memory leak during repeated calls to glDrawArrays(_mode,_first,_count)
at rendering time, but only when using the "noTriStripPolygons"
option. When I remove this option, the application works fine, but the loading process becomes significantly slower.
Details of the Issue :
- The issue occurs only on certain laptops and only when the "noTriStripPolygons" option is used.
- Specifically, on Intel(R) Iris(R) Xe Graphics (OpenGL 4.6), everything runs smoothly with the option enabled, but on AMD Radeon(TM) Graphics (OpenGL 4.6), the system crashes.
- The crash involves a memory leak that seems related to glDrawArrays during rendering, leading to system instability and eventual crashes.
- Graphics drivers are up-to-date on both systems, but the issue persists.
Things I've Tried :
- Identifying Hardware and Drivers: I have confirmed that both laptops have OpenGL 4.6, but the issue only happens on the AMD Radeon system.
- Disabling the "noTriStripPolygons" option: When I disable the option, everything works, but the loading speed is very slow (up to 4 minutes to load an .obj file, whereas it's near-instantaneous in Blender or MeshLab).
- Profiling and Debugging: I haven’t been able to precisely identify the cause of the memory leak. I suspect it could be due to driver implementations or hardware-specific limitations related to polygon rendering and OpenGL state handling.
Questions/Next Steps :
- Is this issue related to specific GPU drivers or OpenGL versions ? I’m particularly concerned about how different hardware platforms might handle this option. Could this be a driver bug or limitation in AMD’s OpenGL implementation ?
- Could switching to Vulkan (OSVulkan) help? Would using Vulkan potentially bypass the OpenGL-specific issues I’m encountering ? Are there any known improvements or drawbacks for my use case ?
- Are there other ways to speed up .obj file loading ? While the "noTriStripPolygons" option speeds up loading, I’m looking for alternative solutions or optimizations to achieve faster loading times (similar to Blender and MeshLab).
Any insight on the issue would be greatly appreciated.
Thanks in advance for any help !
Metadata
Metadata
Assignees
Labels
No labels