0

I am trying to render point cloud, generated using UAV images, in 2D viewport. I have tested WriteableBitmapEx, SkiaSharp (and with OpenGL backend), SharpGL and none of them gave me less than 20 seconds. Point cloud i am trying to render contains about 23 million points. I want to achive 500 miliseconds at max. Rendering on only zoom,pan and resize events. Are there any other alternative libraries (with tutorials hopefully) or am i doing something wrong with using these libraries?

For reference to my tests,my pc has following hardware:

  • CPU:AMD Ryzen 3600 6 Core 12 Thread
  • GPU:AMD Radeon RX 5700 XT
user2590769
  • 75
  • 1
  • 10
  • 1
    _"Rendering on only zoom,pan and resize events"_ -- 23 million points is a lot of points. If you've optimized the rendering pipeline, it seems likely a modern GPU could keep up with your 2 fps requirement, but it'll definitely be sensitive to implementation details (such as, how _exactly_ do you render each point), none of which you share here. If you want your question to remain here, you should remove the request for suggestions for libraries, focus on a single implementation you've tried, and provide a [mcve], explaining in detail what's wrong and what you've tried to fix it. – Peter Duniho May 08 '21 at 22:46
  • It's also worth pointing out that performance was never one of WPF's original design goals, you're definitely using the wrong technology by going down this route. OpenGL or DirectX is the correct way to go and should easily hit your 50-million-primitives-per-second target. But as Peter points out, it's going to be very implementation-dependent. – Mark Feldman May 08 '21 at 22:55
  • My problem here with OpenGL is I have to redraw every point on events. It cleans gpu memory/reallocates and flushes each time i pan or zoom etc. And i have to draw things in for loop like GL.Begin(BeginMode.Point) GL.Vertex(321,123,0) ... Can’t even use parallel for loop on these iterations. (Memory Exceptions). Am i missing something? Not much article explaining my issue. – user2590769 May 09 '21 at 02:37
  • Use vertex buffers instead, that way you don't have to do all that work for every frame. All you have to do then is adjust the vertex shader transformation matrix to control your pan and zoom. – Mark Feldman May 09 '21 at 06:41
  • Vbo is ok i believe – user2590769 May 09 '21 at 12:16

0 Answers0