!telLUrJoXXaQkubDie:matrix.org

rend3-dev

145 Members
rend3 3D renderer library https://github.com/BVE-Reborn/rend3 -- user chat https://matrix.to/#/#rend3-users:matrix.org4 Servers

Load older messages


SenderMessageTime
2 Jan 2024
@_discord_512028728352702464:t2bot.ioanimats And, about every 10 frames, the rendering thread stalls out for a bit in WGPU's "get_next_texture". 07:19:58
@_discord_241747557041176576:t2bot.iocwfitzgerald Nothing looks terribly concerning in there 13:03:28
@_discord_512028728352702464:t2bot.ioanimats OK. I suspect there may be lock overtaking problems, and the render thread is losing too much. I'll do some tests with more creation threads to force that. I've had trouble with crossbeam-channel mutexes in that area. If you acquire lock, do something, release lock, and soon re-acquire the lock, someone else waiting on the lock may not get in. It's over-optimized for the low-load case. 19:01:56
@_discord_241747557041176576:t2bot.iocwfitzgerald this is in render-bench or your own code? 19:04:19
@_discord_512028728352702464:t2bot.ioanimats In my own code. 19:05:59
@_discord_512028728352702464:t2bot.ioanimats Render-bench doesn't have much locking. The update thread(s) just pound on Rend3. 19:06:27
@_discord_512028728352702464:t2bot.ioanimats I want to see if more pounding locks out the render thread more. 19:06:43
@_discord_512028728352702464:t2bot.ioanimats Incidentally, I don't think the framework ever delivers the "CloseRequested" event. I have a print statement there and it is not being executed. 21:12:35
@_discord_241747557041176576:t2bot.iocwfitzgerald ah yeah, it just eats it and closes the window - that shouldn't be a return, it should still forward to the users 21:20:16
@_discord_241747557041176576:t2bot.iocwfitzgerald * ah yeah, it just eats it and closes the window - that shouldn't be a return, it should still forward to the user 21:20:17
@_discord_512028728352702464:t2bot.ioanimats I need to know about shutodown so I can stop all the other threads. 21:20:48
@_discord_241747557041176576:t2bot.iocwfitzgerald you can catch the other event - it's probably more correct anyway Event::AboutToExit 21:22:23
@_discord_512028728352702464:t2bot.ioanimats AboutToExit? Can't find that in winit or rend3 21:24:39
@_discord_241747557041176576:t2bot.iocwfitzgerald because that's not it's name 🤦 https://docs.rs/winit/latest/winit/event/enum.Event.html#variant.LoopExiting 21:25:19
@_discord_512028728352702464:t2bot.ioanimats Ah. Much better. Now shutting down properly. 21:28:43
3 Jan 2024
@marstaik:matrix.orgmarstaikIm looking into doing some profiling, is tracy what you all use?>21:34:49
@marstaik:matrix.orgmarstaikNever used it before21:34:52
@cwfitzgerald:matrix.orgcwfitzgeraldyeah, that's the goto21:40:07
5 Jan 2024
@_discord_512028728352702464:t2bot.ioanimats Converted my big program, Sharpview, over to the arcanized version of Rend3. Graphics look fine. Content loading into the GPU is faster. Two panics so far, reported on Github as issues #552 and #662. We're getting closer! 08:33:10
@_discord_512028728352702464:t2bot.ioanimatsfirstperf2.png
Download firstperf2.png
21:49:58
@_discord_512028728352702464:t2bot.ioanimats Performance notes: So here's Sharpview, after loading a reasonably complex scene, which happens concurrently with viewing it. Content loading is still impacting frame rate. This shows the tail end of loading. Notice "Asset fetch queue", which indicates how much stuff is left to load. When that goes to 0 here, loading has stopped. Frame time is then around 27ms, for 38 FPS or so. That's the steady state. During loading, worst case frame times occasionally exceeded 200ms. I'm not sure why average frame times climbed so high towards the end of loading. 21:49:58
@_discord_512028728352702464:t2bot.ioanimats In the steady state, the refresh thread seems to be at 100% of one CPU, and not much else is going on. GPU utilization is only 38%; the GPU has lots of headroom left. 21:51:01
@_discord_512028728352702464:t2bot.ioanimats So, the takeaways are 1) content loading still impacts drawing too much, and 2) drawing is slower than we would like. Goal is a steady 60 FPS. 21:52:39
@_discord_241747557041176576:t2bot.iocwfitzgerald Small note, this is still without arcanization, any improvements that have been made are rend3 stuff 21:53:28
@_discord_241747557041176576:t2bot.iocwfitzgerald * Small note, this is still without arcanization, any improvements that have been made are rend3 side 21:53:35
@_discord_241747557041176576:t2bot.iocwfitzgerald There are a few known bottlenecks in the rendering path right now which could be causing high frame tones 21:54:30
@_discord_512028728352702464:t2bot.ioanimats Huh? This isn't with arcanization? I just upgraded Rend3. 21:54:41
@_discord_241747557041176576:t2bot.iocwfitzgerald Nope, remember egui not updating to winit 0.29 (at the time) blocked a arcanization test branch 21:55:24
@_discord_241747557041176576:t2bot.iocwfitzgerald wgpu 0.19 is coming out in two weeks with arcanization 21:55:51
@_discord_512028728352702464:t2bot.ioanimats Oh, OK. That's actually good news. I thought we'd done all the improvements and it was still sluggish. Thanks. 21:56:31

Show newer messages


Back to Room ListRoom Version: 6