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 |