Time |
Nick |
Message |
00:09 |
|
est31 joined #minetest-dev |
00:10 |
est31 |
this is a statement by a debian packager about small point releases: https://github.com/minetest/minetest/issues/2610#issuecomment-167263938 |
00:11 |
est31 |
every of our releases is small point now hehe |
00:12 |
est31 |
this bug would highlight a case where we could do small point releases |
00:12 |
est31 |
but idk |
00:12 |
est31 |
before long calinou shows up and proposes to release all two weeks |
00:12 |
est31 |
bc we arent a distro |
00:13 |
est31 |
then other ppl show up and want us to not do any features anymore, just bugfixes |
00:13 |
est31 |
release discussions are always the same |
00:14 |
est31 |
pilzadam knows it: we talk alot, and at the end everything stays the same |
00:14 |
est31 |
sapier, i know find_node_near can be abused sorta yes |
00:15 |
est31 |
but idk limiting it feels just wrong |
00:15 |
est31 |
if people want sth fast and with a long radius they should use areastores |
00:16 |
est31 |
these scale super well |
00:16 |
est31 |
well, the only issue is that areastores are fully held in RAM |
00:16 |
est31 |
but other than that, they scale well. |
00:17 |
est31 |
(and one can write the extension to use disk storage as well) |
00:17 |
sfan5 |
does that mean we'll be considering doing a release soon-ish? |
00:17 |
sapier |
I didn't wanna suggest limiting it but maybe adding same check as for ABM time |
00:17 |
sapier |
ppl tend to not realize HOW bad it is ... myself included |
00:18 |
sapier |
I think I found a solution ... causing way more cpu load in total but reducing lag to < 123ms |
00:19 |
sapier |
well solution is a lot of code but quite simple |
00:20 |
sapier |
instead of checking full cube at once I split check to shell by shell base ... guess it's still gonna fail if you try to check radius 1000 ;-) but at least till 40 it's quite useable |
00:20 |
est31 |
doesnt it already work shell by shell |
00:22 |
sapier |
nope |
00:22 |
sapier |
shell by shell in different steps |
00:23 |
sapier |
current one tries to check all shells in same step |
00:25 |
est31 |
what is "step" for you |
00:25 |
sapier |
of course I had to implement this in lua and can't use the way more fast c++ functions any longer |
00:25 |
sapier |
serverstep |
00:25 |
est31 |
so why do you have to implement it in lua |
00:25 |
est31 |
I dont understand |
00:25 |
sapier |
the thing that causes lag |
00:26 |
est31 |
is c++ less powerful |
00:26 |
sapier |
in this case yes |
00:26 |
est31 |
why |
00:26 |
sapier |
because I'd need way more infrastructure to do this in c++ |
00:27 |
sapier |
basically I'd need ot have the lua async api as well as event handling in place |
00:27 |
est31 |
the async api is useless it doesnt reduce lag in any way |
00:27 |
est31 |
or well |
00:27 |
sapier |
if you use it correct it does |
00:28 |
est31 |
it can run while c++ runs |
00:28 |
est31 |
but still you need envlock |
00:28 |
sapier |
async api is only part of the work to be done for it to completely work |
00:28 |
est31 |
so whats running in minetest whats outside of envlock |
00:29 |
sapier |
as I said async api is only part for it to gain full benefit we need partial maplocks too |
00:30 |
est31 |
yeah |
00:30 |
sapier |
till this is done reducing lag by spliting a part to small pieces is the only way to reduce lag |
00:30 |
est31 |
minetest's infrastructure isnt right for changes like you propose |
00:30 |
sapier |
and as this is extremely specific to a particular task you can only do it in lua |
00:30 |
est31 |
isn't ready I mean |
00:31 |
est31 |
if you added it now it would just mean additional overhead without any benefit. |
00:31 |
est31 |
and the current async api isnt the way forward either |
00:31 |
est31 |
it isnt true multithreading |
00:32 |
est31 |
just lending out the lua global lock to some async thread |
00:32 |
est31 |
or is it? |
00:32 |
sapier |
I don't undestand your point the api itself is completely capable of doing multithreaded operation |
00:32 |
sapier |
everything else is implementation detail |
00:33 |
sapier |
imho it's better to have a clean api in place and extend it's capabilities later then having some half grown half implemented wannabe api in place |
00:33 |
est31 |
is the async api even available outside of mainmenu |
00:34 |
est31 |
i cant find it in lua_api.txt |
00:34 |
sapier |
no it can't be used. as I said it's never been completed |
00:35 |
sapier |
mainmenu was just first usage for it but I didn't continue the work ... I'd continue now but for what I remember hmmmm is already working on it so I don't wanna wast his or my time |
00:36 |
est31 |
I think what hmmmm wants to get in the end regarding the async api is very fine |
00:37 |
est31 |
i remember conversations with him |
00:37 |
sapier |
I believe to remember this way too yet async api to gain full benefit requires splitting the envlock ... I started that work too |
00:38 |
sapier |
well I added the check to find out where we need it ;-) so not very much is done by now |
00:38 |
est31 |
but yeah, I guess this would be something ideal for using async operation and a split up maplock |
00:38 |
sapier |
right now async api could only boost numbercrunching |
00:38 |
est31 |
(this = find_nodes_near) |
00:38 |
est31 |
and there isnt much numbercrunching in minetest |
00:39 |
sapier |
e.g. if someone wrote a mapgen capable of doing everything in it's own data and write it to map in a later step |
00:39 |
est31 |
yeah |
00:39 |
sapier |
I don't see a lot of other tasks that would benefit |
00:40 |
sapier |
almost everything else requires access to map |
00:40 |
est31 |
but there is always overhead for copying the stuff between async threads to main thread |
00:40 |
sapier |
true and that's something you can't avoid thus have to make it more performant |
00:40 |
sapier |
async thereads aren't lightweight |
00:40 |
sapier |
for small tasks they're useless |
00:41 |
est31 |
yeah |
00:41 |
sapier |
async is only worth if you have to do a couple of seconds of computing time |
00:41 |
est31 |
thats why i think its bad idea to use async api for find_node_near if the radius is smaller than, say, 10 |
00:41 |
est31 |
and in most cases it is just 10 or so |
00:41 |
sapier |
yes |
00:42 |
sapier |
imho a warning similar to the abm warning telling ppl what just happened would be more then enough |
00:42 |
est31 |
then they know where the lag comes from? |
00:42 |
sapier |
maybe adding another parameter to it would be worth thinking about too |
00:43 |
est31 |
idk, best would be pie chart or sth |
00:43 |
sapier |
min radius |
00:43 |
sapier |
thus you could check in steps |
00:43 |
est31 |
mhhh min radius |
00:43 |
sapier |
est31: there's a mod profiler in minetest you can se which mods cause lag |
00:43 |
est31 |
yeah sounds simple enough and useful enough |
00:44 |
sapier |
mod_profiling = true |
00:44 |
sapier |
detailed_profiling = true |
00:44 |
est31 |
mod profiler is cool |
00:44 |
est31 |
i know |
00:45 |
sapier |
mod profiler is one of the pieces I managed to get from mobf to core ;-) |
00:45 |
est31 |
<sfan5> does that mean we'll be considering doing a release soon-ish? <---- well this apoleon wanted some point release because we fixed his bug |
00:46 |
est31 |
point releases would be novel |
00:46 |
est31 |
and we would need a way to distinguish them from usual releases |
00:46 |
est31 |
and it would introduce problems, we'd need version branches or so |
00:46 |
sapier |
I've plenty of usefull pieces there yet nothing as helpfull as mod profiler :) |
00:47 |
est31 |
t4im greatly improved it |
00:47 |
est31 |
idk whether its integrated into the engine already |
00:47 |
sapier |
mod profiler? |
00:47 |
est31 |
https://github.com/t4im/profiler |
00:48 |
sapier |
nice why hasn't this been merged by now? |
00:48 |
Fixer |
can i use mod profiler on RELEASE build? |
00:48 |
est31 |
idk |
00:49 |
|
sapier1 joined #minetest-dev |
00:49 |
sapier1 |
Fixer: profiler is lua only so you should be able to |
00:50 |
Fixer |
it feels like server guys do not use it often enough, it should endorsed |
00:50 |
sapier1 |
actually no |
00:50 |
Fixer |
should be* |
00:50 |
sapier1 |
you shouldn't run it permanent as it causes overhead |
00:50 |
Fixer |
to look what things are laggy |
00:50 |
sapier1 |
modders should run it |
00:50 |
Fixer |
no, just for troubleshoot |
00:51 |
sapier1 |
oh yes that's what it's been meant for |
00:51 |
Fixer |
yeah |
00:51 |
sapier1 |
vanessae and myself did find a lot of issue using it |
00:51 |
Fixer |
I've advised people to try it to look what is lagging so badly, but I never seen actual results %) |
00:53 |
est31 |
it cant detect engine lag |
00:53 |
sapier1 |
nope but usually you do not have engine lag but mod lag |
00:53 |
est31 |
if a mod spawns a million rats, the overhead might not be large |
00:53 |
est31 |
in the profiler |
00:53 |
Fixer |
i mean at least mod lags |
00:53 |
est31 |
but the engine will have lag |
00:54 |
sapier1 |
actully you'd see the spawning of a million rats in profiler |
00:54 |
est31 |
yeah bad example |
00:54 |
est31 |
I should go to bed |
00:55 |
sapier1 |
usually you find things like the find_nodes_in issue |
01:00 |
sapier1 |
but still it's modders to think about how to split what they have to do to small pieces ... at least if they do have mods that do bigger things :-) |
01:03 |
|
sapier1 left #minetest-dev |
01:07 |
|
behalebabo joined #minetest-dev |
01:59 |
|
ElectronLibre joined #minetest-dev |
02:11 |
|
younishd_ joined #minetest-dev |
04:04 |
|
lemon joined #minetest-dev |
04:04 |
lemon |
hello |
07:22 |
|
asl97 joined #minetest-dev |
08:11 |
|
Hunterz joined #minetest-dev |
10:50 |
|
alket joined #minetest-dev |
11:05 |
|
sapier joined #minetest-dev |
11:11 |
|
Calinou joined #minetest-dev |
11:18 |
|
ElectronLibre joined #minetest-dev |
11:33 |
|
Amaz joined #minetest-dev |
11:37 |
|
alket joined #minetest-dev |
11:38 |
|
rubenwardy joined #minetest-dev |
11:57 |
|
Fixer joined #minetest-dev |
12:09 |
|
rubenwardy joined #minetest-dev |
12:22 |
|
ElectronLibre joined #minetest-dev |
13:23 |
|
Krock joined #minetest-dev |
13:26 |
|
younishd_ joined #minetest-dev |
13:40 |
|
zupoman joined #minetest-dev |
14:27 |
|
DFeniks joined #minetest-dev |
14:50 |
|
behalebabo joined #minetest-dev |
15:43 |
|
Amaz joined #minetest-dev |
15:44 |
|
zat joined #minetest-dev |
16:29 |
|
hmmmm joined #minetest-dev |
17:21 |
|
dzho joined #minetest-dev |
17:26 |
|
dzho joined #minetest-dev |
17:28 |
|
Gael-de-Sailly joined #minetest-dev |
18:18 |
|
Lunatrius joined #minetest-dev |
18:40 |
|
Amaz joined #minetest-dev |
19:05 |
|
nolsen joined #minetest-dev |
19:57 |
sofar |
I'd like to merge this (later, not just yet) into minetest_game itself: |
19:57 |
sofar |
https://forum.minetest.net/viewtopic.php?f=9&t=13732&p=201429#p201429 |
19:57 |
sofar |
would appreciate if people can comment on whether that would be something that would be mergable |
19:58 |
sofar |
since implementing it as a standalone mod is very cumbersome (I'd basically have to redefine lots of /doors/ code to override the handler functions) |
19:59 |
sofar |
and as a patch to minetest_game it's ... well tiny amounts of code, really |
20:05 |
|
rubenwardy joined #minetest-dev |
20:19 |
|
Gael-de-Sailly joined #minetest-dev |
20:19 |
|
rubenwardy joined #minetest-dev |
20:36 |
|
Siva joined #minetest-dev |
20:37 |
|
PenguinDad joined #minetest-dev |
20:50 |
|
VargaD joined #minetest-dev |
20:50 |
|
PenguinDad joined #minetest-dev |
21:33 |
sofar |
how do I edit probability values for mts files? is there an editor of some sorts? |
21:34 |
sfan5 |
nope |
21:34 |
sfan5 |
you're gonne have to jump into a hex editpr |
21:34 |
sofar |
vi -b? |
21:34 |
sfan5 |
-p |
21:35 |
sofar |
well that's rough |
21:36 |
sfan5 |
actually no that won't work |
21:36 |
sfan5 |
mts files contain compressed data |
21:36 |
sfan5 |
tl;dr it's a lot of work, don't do it unless you need to |
21:38 |
sofar |
well I want to add some better trees |
21:38 |
sofar |
so, no choice |
21:42 |
sofar |
you know |
21:43 |
sofar |
sfan5: all it needs to fix that problem is to have an in-game tool that edits node metadata and adds the probability, and a modified schematic save tool to read/convert that to the mts probability format |
21:44 |
kaadmy |
worldedit has schematic chances |
21:47 |
sofar |
euh, it's rather ... crude |
21:48 |
sofar |
no idea what number I'm putting in |
21:48 |
kaadmy |
0-255 iirc |
21:48 |
sofar |
0.1 ? 10? 1/10? |
21:49 |
kaadmy |
0-255 for chance of appearing, 255 is always, 127 is 50% |
21:50 |
kaadmy |
yep, checked and it's correct(from checking the code) |
21:50 |
kaadmy |
https://github.com/Uberi/Minetest-WorldEdit/blob/master/worldedit_commands/init.lua#L1130 |
21:52 |
sofar |
crashy, don't punch the wrong node :) |
21:59 |
kaadmy |
heh |
22:02 |
|
SilverLuke joined #minetest-dev |
22:04 |
sofar |
well either worldedit's place doesn't use it properly, or half my probabilities are lost |
22:04 |
sofar |
had a bunch of nodes with 75% not appear |
22:05 |
sofar |
placed it 3x, total 12 nodes with 75% prob, not one appeared |
22:05 |
kaadmy |
75%=192? |
22:05 |
sofar |
yeah |
22:05 |
kaadmy |
hmm |
22:06 |
sofar |
128 and 16 work ok, afaics |
22:07 |
sofar |
oh hey, WE calls minetest.place_schematic() |
22:07 |
sofar |
maybe a restart is needed |
22:08 |
* sofar |
not sure if he wants to fight that battle today |
22:09 |
sofar |
tried making normalmaps yesterday, failed at that too |
22:23 |
|
enesbil joined #minetest-dev |
23:02 |
|
zupoman joined #minetest-dev |
23:18 |
|
Siva_AndroIRC joined #minetest-dev |
23:47 |
|
Calinou joined #minetest-dev |
23:51 |
|
est31 joined #minetest-dev |