Skip to content

Benchmark example drawing many triangles#324

Merged
robertosfield merged 1 commit intovsg-dev:masterfrom
theodoregoetz:many-triangles
Oct 16, 2024
Merged

Benchmark example drawing many triangles#324
robertosfield merged 1 commit intovsg-dev:masterfrom
theodoregoetz:many-triangles

Conversation

@theodoregoetz
Copy link
Copy Markdown

Added vsgtriangles example which can be used for experimenting with large models (many vertices, many draw calls and many pipelines).

We found on several systems a limit on the number of triangles that this program can draw at 1999999 (exactly one less than 2M). Right at 2M triangles, we get a crash with the following stack-trace on linux:

vsgtriangles -n 100 100 200
#0  __memcpy_evex_unaligned_erms () at ../sysdeps/x86_64/multiarch/memmove-vec-unaligned-erms.S:289
#1  0x00000000004e09df in vsg::TransferTask::_transferImageInfo (this=0x7ffff732b01c, vk_commandBuffer=0x10ddd80, frame=..., offset=@0x7fffffffc0f0: 192000000, imageInfo=...)
    at ~/workspace/vsg/VulkanSceneGraph/src/vsg/app/TransferTask.cpp:258
#2  0x00000000004e0638 in vsg::TransferTask::_transferImageInfos (this=0x7ffff732b01c, dataToCopy=..., vk_commandBuffer=0x10ddd80, frame=..., offset=@0x7fffffffc0f0: 192000000)
    at ~/workspace/vsg/VulkanSceneGraph/src/vsg/app/TransferTask.cpp:212
#3  0x00000000004e1d01 in vsg::TransferTask::_transferData (this=0x7ffff732b01c, dataToCopy=...) at ~/workspace/vsg/VulkanSceneGraph/src/vsg/app/TransferTask.cpp:469
#4  0x00000000004e0e5f in vsg::TransferTask::transferData (this=0x7ffff732b01c, transferMask=vsg::TransferTask::TRANSFER_BEFORE_RECORD_TRAVERSAL) at ~/workspace/vsg/VulkanSceneGraph/src/vsg/app/TransferTask.cpp:320
#5  0x00000000004d9a21 in vsg::RecordAndSubmitTask::submit (this=0x7ffff732ae0c, frameStamp=...) at ~/workspace/vsg/VulkanSceneGraph/src/vsg/app/RecordAndSubmitTask.cpp:93
#6  0x000000000049a9b2 in vsg::Viewer::recordAndSubmit (this=0x7ffff732a4a4) at ~/workspace/vsg/VulkanSceneGraph/src/vsg/app/Viewer.cpp:836
#7  0x0000000000411fc2 in main (argc=1, argv=0x7fffffffcb08) at ~/workspace/vsg/vsgExamples/examples/commands/vsgtriangles/vsgtriangles.cpp:271

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants