Luanti logo

IRC log for #luanti-dev, 2025-09-20

| Channels | #luanti-dev index | Today | | Google Search | Plaintext

All times shown according to UTC.

Time Nick Message
00:38 SFENCE joined #luanti-dev
01:56 SFENCE joined #luanti-dev
02:46 aliasreadytaken joined #luanti-dev
02:57 SFENCE joined #luanti-dev
03:28 SFENCE joined #luanti-dev
04:00 MTDiscord joined #luanti-dev
04:20 MTDiscord1 joined #luanti-dev
04:24 Sompi joined #luanti-dev
04:50 SFENCE joined #luanti-dev
05:05 SFENCE_ joined #luanti-dev
05:15 lhofhansl joined #luanti-dev
05:19 lhofhansl dedicated_server_step also influences how often new blocks are found and sent to the client. So larger server steps things like emergequeue_limit_generate, emergequeue_limit_diskonly, and max_simultaneous_block_sends_per_client have to be tuned up or block transmission is slow.
05:19 lhofhansl I always wondered by a local server (same machine but not started from the UI) would load a scene so much more slowly. Now I understand why.
05:39 SFENCE joined #luanti-dev
05:42 lhofhansl I've always said Luanti is too hard to configure. Many of the option are related. Like server step and emerge queue size and max_simultaneous_block_sends_per_client just mentioned, or viewing_range and max block sent/generate distances, etc.
05:42 lhofhansl Even if we nice UI and graphics and all, casual player will fiddle with things like viewing_range and then probably just give up.
05:43 SFENCE joined #luanti-dev
05:47 SFENCE joined #luanti-dev
05:48 SFENCE_ joined #luanti-dev
05:51 SFENCE joined #luanti-dev
05:56 SFENCE_ joined #luanti-dev
06:03 SFENCE joined #luanti-dev
06:07 SFENCE joined #luanti-dev
06:13 SFENCE_ joined #luanti-dev
06:14 detas433 joined #luanti-dev
06:15 detas433 joined #luanti-dev
06:39 YuGiOhJCJ joined #luanti-dev
08:46 sfan5 sounds like we should have those values be independent of the server step
08:47 sfan5 or raise the defaults enough so that they're not a bottleneck
09:31 YuGiOhJCJ joined #luanti-dev
09:32 jstein joined #luanti-dev
11:24 turtleman joined #luanti-dev
11:26 Krock will merge #16397 and #16487 in 15 minutes
11:26 ShadowBot https://github.com/luanti-org/luanti/issues/16397 -- Permit invoking core.generate_decorations so as to generate biomes respecting the biome map by corarona
11:26 ShadowBot https://github.com/luanti-org/luanti/issues/16487 -- [NO SQUASH] Deduplicate guiEditBox code by SmallJoker
11:40 Krock it is happening
13:03 repetitivestrain Thanks
13:28 fluxionary joined #luanti-dev
13:52 Desour joined #luanti-dev
14:24 [MatrxMT] joined #luanti-dev
14:25 SFENCE joined #luanti-dev
14:28 lhofhansl joined #luanti-dev
14:31 ivanbu joined #luanti-dev
14:34 lhofhansl Could folks post the cost of loading a block on their machine? (3rd panel in the debug view.) It's about 20us on my machine (i.e. it could deserialize 50k blocks/s from disk/sqlite). With that we could estimate a good queue size. For example 50k * 0.09 = 4500 means we should be able to queue about that many blocks.
15:15 Eragon joined #luanti-dev
15:23 Desour "ServerMap: load block" is between 80 and 110 us on my machine, on master
15:24 repetitivestrain 48 to 60 us on sqlite and on my laptop
15:24 Eragon joined #luanti-dev
15:25 cheapie I'm seeing about 35 in the rather small world I just loaded for testing, I'll have to check on a larger one at some point
15:39 wrrrzr joined #luanti-dev
15:46 panwolfram_ joined #luanti-dev
15:48 sfan5 40-50us
15:57 jonadab joined #luanti-dev
15:57 wrrrzr joined #luanti-dev
17:09 wrrrzr joined #luanti-dev
17:09 Krock It turns out (after too many hours) that using CGUIEditBox in guiChatConsole does not get rid of much code, because it is also required by ncurses. This sucks.
17:22 luatic lhofhansl: I'm seeing 100-150 us on my machine on a slightly outdated master
17:28 fluxionary joined #luanti-dev
17:29 cheapie I'm currently decompressing a large (~100GB) world to try out, it'll take a while longer
17:29 cheapie I'll test it on both an HDD and SSD once that finishes
17:29 cheapie (might as well throw in a crappy SSD too alongside the good one, I'm curious about that now)
18:19 SFENCE joined #luanti-dev
18:37 SFENCE joined #luanti-dev
18:49 SFENCE joined #luanti-dev
18:59 behalebabo_ joined #luanti-dev
19:03 cheapie With that large (~100GB) world I'm seeing about 50 for "load block" and around 30 for "deSer block" in more sparsely-populated areas, up to about 120 and 70 respectively in the denser ones
19:16 lhofhansl joined #luanti-dev
19:20 lhofhansl Wow. My machine must be fast. Maybe we can make it adaptable...
19:21 lhofhansl I.e. each time we encounter a queue full in RemoteClient::GetNextBlocks we increase up to some max. (Then again why not just set it to that max)
19:21 cheapie I get the feeling most of the core devs have fast machines, considering what the default settings are :P
19:22 lhofhansl He he
19:22 cheapie (speaking of which, hopefully we can get some "low/medium/high" presets eventually instead of me having to walk players through reducing their settings all the time)
19:22 lhofhansl Actually not sure I agree. The default settings (viewing_range, etc) are quite moderate machines. :)
19:22 MTDiscord <wsor4035> i mean, to be fair you try and run luanti on a potato all the time....... so yeah
19:23 cheapie I keep running into players on potatoes too
19:24 lhofhansl I am a fan of presets... See: #16002 a little down in the comments.
19:24 ShadowBot https://github.com/luanti-org/luanti/issues/16002 -- [DISCUSS] Adjust defaults for better machines?
19:24 MTDiscord <nathan4220776> WTF? The client settings are not "too low".
19:24 MTDiscord <nathan4220776> They're already quite high already.
19:25 lhofhansl The 190 node viewing_range. I think that;s a joke.
19:25 MTDiscord <nathan4220776> That's really far.
19:25 cheapie Yes, 190 is so high as to be a joke
19:25 cheapie On VE-C I have to turn that down, and even on lighter servers I can't turn it up too much or things slow down a lot
19:25 lhofhansl Oh man. I tried with 2000, but usually do 1000.
19:26 lhofhansl Is it slow on the client? Or slow for the server to produce the nodes?
19:26 MTDiscord <nathan4220776> Most servers only give data within a couple hundred blocks anyway, so 190 is already on the edge of what's useful.
19:26 cheapie client
19:26 MTDiscord <nathan4220776> ( ͡° ͜ʖ ͡°)
19:26 cheapie At VE-C's spawn, the defaults get me like 30FPS on a good day
19:26 MTDiscord <nathan4220776> You might enjoy the Acedia Anarchy server, then.
19:27 MTDiscord <nathan4220776> It allows for truly large view ranges.
19:27 lhofhansl But we've optimize this a lot in last year or so, the servers should be able to allow a higher viewing_range.
19:27 cheapie And this is on a 5950X + RX 6600 too, so not the latest and greatest but not "slow"
19:27 lhofhansl cheapie: So the FPS is too low?
19:27 cheapie Meanwhile there are still quite a few people out there with integrated graphics from 8 years ago or whatever
19:27 cheapie lhofhansl: yes
19:28 lhofhansl Wow. I get 60 with a viewing_range of 1000.
19:28 MTDiscord <nathan4220776> I know this is easier said than done, but maybe there could be an OBS-style benchmark that automatically suggests performance settings based on rendering a standard scene of some kind.
19:28 MTDiscord <nathan4220776> And virtual machines. :D
19:28 fluxionary joined #luanti-dev
19:28 lhofhansl In any case, presets are good. We can also have lower presets then. This is good information.
19:28 cheapie lhofhansl: Try joining VE-C sometime and see what performance you get there, I'm curious if there's like some bug that affects only my configuration or something
19:28 cheapie daconcepts.com:37000
19:30 lhofhansl Many servers are misconfigured...? Because it is quite hard to understand the relationship of all the settings. Do server owners increase the emerge queues and the number of packet set to client simultaneously?
19:30 cheapie sfan5 has done a lot of testing on there and made some improvements on the client end of things, still slow though, I think "too many drawcalls" was the last I heard
19:30 MTDiscord <nathan4220776> Speaking of which, there are gameplay reasons why server owners might not want to allow loading distances anyway.
19:31 cheapie The server itself runs great these days, I don't think there's anything wrong on that end
19:31 MTDiscord <nathan4220776> It's possible to automatically search for blocks of a certain type on the client's side.
19:31 SFENCE joined #luanti-dev
19:31 MTDiscord <nathan4220776> If you can search for nodes within a few thousand nodes of you, that could be problematic in some cases.
19:31 lhofhansl Need to increase client_mesh_chunk to at least 4... Another obscure setting. Depending on H/W increasing that can get you 5x the client FPS.
19:32 MTDiscord <nathan4220776> I mean, I'd personally really like that, but it's understandable that other people may not want this.
19:32 cheapie That setting kills performance for me if I set it to anything but 1
19:32 lhofhansl cheapie: Sure. Just need to think through how the server gets the blocks to the client. If that is not right it will take a long time to blocks to show up at the client.
19:32 cheapie lhofhansl: I'm still not talking about slow map loading, I'm talking about miserable FPS once it does load
19:33 lhofhansl cheapie: On a 5950X + RX 6600 with the proper drivers. That seems very strange.
19:35 cheapie I used to have a 2700X, I had to upgrade that just to get Luanti to run faster so I could use view ranges over 100
19:35 lhofhansl In any case... Presets! Need more than 3, though. Thinking about t-shirt sizes...XXS, XS, S, M, L, XL, XXL or something. I can get my 2000 at XXL other folks can get 50 on XXS. :)
19:35 cheapie The RX 500 -> 6600 upgrade did less for the way I usually play (no eye candy) but it doesn't slow down as much if I turn eye candy on now
19:36 cheapie I would like to hear sometime what sort of performance you get in that specific world, especially near the spawn
19:37 cheapie And if it somehow runs well there, try the original spawn ("Central City" on the "Cityknot" travelnet next to the spawn)
19:37 lhofhansl lemme try!
19:38 cheapie I'll join in a moment so I can compare, one moment
19:41 lhofhansl loading media...
19:41 cheapie That might take a while
19:42 lhofhansl It does :)
19:43 cheapie I'm assuming Lars is you
19:44 cheapie With the view range at 190 and standing where I am now, I'm seeing about 55 FPS but with quite a bit of stuttering, if I move the camera around quickly it drops into the 30s
19:44 cheapie This is in 1920x1200 by the way
19:45 lhofhansl I get 30fps at spawn. Server max send distance seems to be set low (to match 190 viewing range)
19:46 cheapie max_block_send_distance is at the default (12)
19:47 cheapie I don't know if you saw what SevenRichieWhite said, but with a 3350G + 1050Ti he's seeing 30 FPS at a view range of 120
19:47 lhofhansl Exactly where you stand I get 30-40FPS... Now there are many things that can slow down FPS. Collision detection is one for example.
19:48 cheapie I'm getting about 50 FPS right now, but with a dtime jitter of around 200%
19:49 cheapie Usually I play on there with a view range of 100, which gets me 60 FPS most of the time and cuts down on the stuttering a lot
19:50 cheapie If you want to fly around and load more or whatever, there's a gear icon near the bottom of the inventory screen - if you click that, you can change your speed using one of the settings in there
19:50 SFENCE joined #luanti-dev
19:51 lhofhansl Looked with Linux perf counters... Nothing undue. It does render 13m vertices, though, 12k drawcalls/s (which is a lot).
19:51 cheapie That's about what sfan5 told me too IIRC
19:52 cheapie Out where you just were (before you quit) I can get 60 FPS and low dtime jitter with a view range of 190
19:53 cheapie By the way, if you ever want to play with celevator, that's probably the server to do it on... that's not really related to performance or the engine itself though
19:54 luatic I tried implementing rudimentary batching of drawcalls at Irrlicht level about a month ago, somehow that didn't seem to suffice to improve performance significantly
19:54 luatic https://github.com/luanti-org/luanti/issues/14018#issuecomment-3175000402
19:56 lhofhansl sfan5 has done some batching (mesh_buffer_min_vertices), but that makes it worse for me in any scenario I have tested.
19:57 lhofhansl So not entirely sure this is slow in particular. Just "nature scenes" render much faster for me.
19:57 cheapie 30 FPS isn't "slow"?
20:00 lhofhansl And my graphics card is less than 30% utilized. That's not good either.
20:01 cheapie luatic: I just tried that perf/register-meshbuf branch on VE-C, I can confirm it doesn't really help much (and adds some weird flickering and other artifacts)
20:02 cheapie dtime jitter seems a little lower but it feels about the same
20:02 lhofhansl No 30 FPS is slow!
20:02 cheapie lhofhansl: That was my point
20:06 lhofhansl Away from spawn I get 100 FPS!
20:06 cheapie Yeah, in more sparse areas it runs better
20:06 cheapie Still not view range 2000 well, but at least "defaults run fine" well :P
20:07 lhofhansl luatic: Looking at your PR
20:07 SFENCE joined #luanti-dev
20:07 [MatrxMT] <birdlover32767> 30-40us on a 50mb sqlite world for me
20:08 luatic not quite in PR state yet, more of an experimental branch
20:12 lhofhansl Note that entities also cause FPS drop due the n^2 collision detection we do. We do that on the server, and also on the client in each frame.
20:13 luatic That is not n^2 anymore
20:13 luatic But if someone measures a performance problem there, happy to take a look at it. There surely is a lot of optimization, e.g parallelization, potential still.
20:14 lhofhansl No? collision_move_simple check all other entities in range, right?
20:14 luatic Yes, but with the introduction of a spatial index that range check has become much faster.
20:14 lhofhansl Sure... If the other entities are not close. If they are close, it won't help.
20:15 * cheapie has brief flashbacks of the 'areas' mod before there was a spatial index for *that*
20:15 lhofhansl (Just looking at the sample code in the PR, which seems to create entities close by)
20:17 lhofhansl Ok... Need to step. My take-away: Even for fast machines we have worlds that render slowly on the client. And so adjusting defaults is not just up :)
20:17 * cheapie nods
20:18 lhofhansl Let's have more discussion on #16002... I'll what I learned today.
20:18 ShadowBot https://github.com/luanti-org/luanti/issues/16002 -- [DISCUSS] Adjust defaults for better machines?
20:18 lhofhansl ciao
22:32 panwolfram joined #luanti-dev
23:05 Eragon joined #luanti-dev
23:13 Eragon_ joined #luanti-dev
23:17 Eragon_ joined #luanti-dev

| Channels | #luanti-dev index | Today | | Google Search | Plaintext