Time Nick Message 00:54 lhofhansl Hi all... For kicks I instrumented the calls to db->loadBlock. It turns out that sqlite maxes out around 5.5k/s. (At that rate more emerge threads won't help). 00:55 lhofhansl The frustum for a viewing_range of 1000 with fov 72 has about 130k blocks. Thus the best we can get is about 24s to load all the blocks. And with the right setting I get pretty close to that. 00:56 lhofhansl I expect this to be worse with Postgres, as there is an actual rountrip to the server involved for each block. 00:57 lhofhansl The only way to improve this is collect multiple blocks in one query ... SELECT * FROM blocks where pos IN (..., ..., ...). That'd be a major refactor, though. 00:58 lhofhansl (note that most blocks are not sent to the client due to the optimize distance and server occlusion culling, but the DB, nonetheless has to read the blocks) 01:00 lhofhansl And #13225 is ready for another look (last 5.7.0 blocker) 01:00 ShadowBot https://github.com/minetest/minetest/issues/13225 -- Fix infinite viewing_range by lhofhansl 01:03 lhofhansl With "And with the right setting I get pretty close to that." I mean within 2x, so less that 50s. 01:13 lhofhansl Interestingly if I start from an empty map and let the scene (viewing_range = 1000, fov = 72) generate, I find 330k blocks in the database. Not what I had expected. 01:14 lhofhansl Should have been around 2/3 * pi * ceil(1000/16)^1 * (1 - cos(72/2)) 01:15 lhofhansl ^3 10:46 Desour !tell lhofhansl 5.5kB/s sounds *very* slow (i.e. slower than internet). or is that 5.5k calls (and hence 5.5k blocks) per second? and did you measure only the time it took inside db->loadBlock or did you also include the time outside of that (which would mean we could get more bandwidth by calling oftener)? 10:46 ShadowBot Desour: An error has occurred and has been logged. Please contact this bot's administrator for more information. 10:46 Desour uh oh 10:47 Desour ~tell lhofhansl 5.5kB/s sounds *very* slow (i.e. slower than internet). or is that 5.5k calls (and hence 5.5k blocks) per second? and did you measure only the time it took inside db->loadBlock or did you also include the time outside of that (which would mean we could get more bandwidth by calling oftener)? 10:47 ShadowBot Desour: An error has occurred and has been logged. Please contact this bot's administrator for more information. 11:08 pgimeno yeah I interpreted it as being 5.5 Kblocks/s 11:10 pgimeno still, I would test with PostgreSQL, SQLite is too crappy performance-wise 12:09 MTDiscord Rebased #13020 and #12828 now 12:09 ShadowBot https://github.com/minetest/minetest/issues/13020 -- 3d line rendering. by Andrey2470T 12:09 ShadowBot https://github.com/minetest/minetest/issues/12828 -- Add vector variation for ContentFeatures 'visual_scale' property. by Andrey2470T 13:11 MTDiscord Thank you! 13:44 MTDiscord So, I remember that sfan said that desour's sound refactor was to be prioritized for 5.7, and desour rebased and seems to have fixed conflicts. Is it still on the table for 5.7 despite the feature freeze? 13:47 Desour I'd say no. we're in feature freeze. and that PR is big. it seemed quite unrealistic for me in the first place to get it into 5.7 (at least back then when 5.7 was planned to be released in february or so) 14:08 rubenwardy no, refactors like that are not allowed to be merged during a feature freeze 14:10 rubenwardy Desour being a core dev definitely helps with the probability of that PR landing 15:51 lhofhansl sfan5: I added two more questions to #13225, mind have a quick lock? Namely: (1) should we do occlusion culling at all? (2) if we do, gate it with the raytraced culling setting? 15:51 ShadowBot https://github.com/minetest/minetest/issues/13225 -- Fix infinite viewing_range by lhofhansl 16:05 lhofhansl !tell Desour That was 5.5k blocks/s 16:05 ShadowBot lhofhansl: OK. 16:08 lhofhansl Going to merge #13225 soon. 16:08 ShadowBot https://github.com/minetest/minetest/issues/13225 -- Fix infinite viewing_range by lhofhansl 16:09 rubenwardy ShadowBot is nicer than MinetestBot 16:09 ShadowBot rubenwardy: Error: not enough values to unpack (expected 2, got 1) 16:09 rubenwardy lol 16:09 rubenwardy ~tell Desour that was 5.5k blocks/s 16:09 ShadowBot rubenwardy: OK. 16:09 rubenwardy huh 16:09 Desour !tell lhofhansl test 16:09 ShadowBot Desour: OK. 16:09 rubenwardy MinetestBot says "tell them yourself" or "sure, whatever" 16:09 rubenwardy oh, it's not here 16:10 Desour !tell _Desour test 16:10 ShadowBot Desour: OK. 16:10 Desour earlier shadowbot didn't want to do the tell 16:12 Desour lhofhansl: how did you measure the time? did you measure the calls per second, or the time inside the function` 16:12 Desour ? 16:14 lhofhansl Desour: I added a scope profiler in EmergeThread::getBlockOrStartGen (on the loadBlock branch). Now I can how often it is called and how much time it takes on average (about 150 microsecs on my machine) 16:15 Desour ah, ok 16:21 lhofhansl Something we might want to do anyway... I'll file a PR :) 16:21 lhofhansl Help with testing all the emerge settings. 16:37 lhofhansl 13225 is done. 17:14 lhofhansl Desour: #13314 17:14 ShadowBot https://github.com/minetest/minetest/issues/13314 -- Add some instrumentation by lhofhansl 18:40 Desour merging #13313 in 15 min 18:40 ShadowBot https://github.com/minetest/minetest/issues/13313 -- Fix rendertarget size being saved as screensize by Desour 18:57 Desour merged.