Time |
Nick |
Message |
00:44 |
|
domtron joined #minetest-dev |
01:08 |
|
domtron joined #minetest-dev |
01:38 |
|
domtron joined #minetest-dev |
02:00 |
|
domtron joined #minetest-dev |
02:06 |
|
domtron joined #minetest-dev |
02:12 |
|
rambomedic joined #minetest-dev |
02:26 |
|
harrison__ joined #minetest-dev |
02:30 |
|
nyuszika7h_ joined #minetest-dev |
02:34 |
|
Kray joined #minetest-dev |
02:38 |
|
domtron joined #minetest-dev |
02:42 |
|
rambomedic joined #minetest-dev |
02:56 |
|
Megaf joined #minetest-dev |
02:59 |
|
OldCoder joined #minetest-dev |
03:00 |
|
domtron joined #minetest-dev |
03:20 |
|
domtron joined #minetest-dev |
03:50 |
|
domtron_ joined #minetest-dev |
03:53 |
|
us_0gb joined #minetest-dev |
03:58 |
|
smoke_fumus joined #minetest-dev |
04:42 |
|
rambomedic joined #minetest-dev |
04:52 |
|
Miner_48er joined #minetest-dev |
05:52 |
|
harrison joined #minetest-dev |
07:03 |
|
Gethiox joined #minetest-dev |
07:21 |
|
rambomedic joined #minetest-dev |
07:32 |
|
Gethiox joined #minetest-dev |
07:45 |
|
darkrose joined #minetest-dev |
07:45 |
|
darkrose joined #minetest-dev |
07:59 |
|
Gethiox joined #minetest-dev |
08:24 |
|
deltib joined #minetest-dev |
08:34 |
|
sapier joined #minetest-dev |
08:46 |
sapier |
thxyz what's typical size of that FMBitset? |
08:47 |
sapier |
with size I' meand number of elements in there .... and prior someone notes I know thexyz isn't here right now ;-) |
08:48 |
VargaD |
hi sapier |
08:50 |
sapier |
VargaD: how's your investigation progressing? :-) |
08:52 |
VargaD |
I have compiled freeminer, it is incredibly slow, just like minetest (I'm a 4 year old Atom N450 netbook because of christmas) |
08:52 |
VargaD |
but still more playable than minecraft :) |
08:53 |
sapier |
:-) yes we think about speeding up build from time to time but by now everyone was to frightended about even trying, especially as there ain't a guarantee it's even possible |
08:54 |
VargaD |
yes the build is also slow, but I don't think that it can be faster |
08:54 |
VargaD |
building C++ with optimastions is slow |
08:54 |
sapier |
reducing header coupling sometimes helps but it's a lot of work with limited result |
08:54 |
VargaD |
maybe building with clang make is a bit faster |
08:55 |
VargaD |
that is the easiest way :) |
08:55 |
sapier |
not maybe this is already prooven |
08:55 |
sapier |
it's about 1/3 |
08:56 |
VargaD |
I don't think it is good to minetest to move reduce the size of headers |
08:56 |
VargaD |
it make many optmasatons impossible and LTO is still experimental |
08:57 |
sapier |
as I said noone is really working at this (as far as I know) |
08:59 |
VargaD |
What do you think about thexyz's performance improvement in ABM? |
08:59 |
sapier |
and header size reduction would be more decoupling minetest subsystem from each other adding defined interfaces between them ... minetest actually hase come far from the monolithic block it once was. reducing coupling is a open issue that has to be done by some time in order to cleanup basic design |
09:01 |
sapier |
seems interesting, I just wonder why he used a vector, as of speed pov a int array would be even faster, especially as char isn't native datatype on any of our supported architectures |
09:02 |
sapier |
of course this would add another 7 bytes of overhead |
09:02 |
sapier |
(on 64 bit os) |
09:04 |
|
proller joined #minetest-dev |
09:10 |
VargaD |
I'm not convinced that it make minetest faster |
09:11 |
VargaD |
I still don't know exactly what does this code do |
09:12 |
VargaD |
We need to benchmark that code somehow, to decide which way is faster |
09:12 |
sapier |
if I understand thexyz correct he already did this |
09:12 |
VargaD |
using bitset istead of set should be much faster |
09:14 |
sapier |
that his first commit |
09:14 |
VargaD |
yes I see |
09:15 |
VargaD |
in the next commit he replaced it to his own bitset implementation |
09:16 |
VargaD |
the content size seems compile time constant, so it would be better to use a data structure that is allocated on stack |
09:17 |
VargaD |
less pointer use should make to code faster and do less allocations |
09:17 |
sapier |
yes that's the part I'm not conviced to be really faster too |
09:17 |
VargaD |
FMBitset could be a template with size given in template argument |
09:18 |
sapier |
templates aren't liked very much ;-) there are some things they're usefulll but at this very special location? |
09:23 |
VargaD |
how do you make a general bitset data structure that has compile time constant size? |
09:24 |
sapier |
I'm not sure it is required to be compile time constant |
09:25 |
sapier |
guess this is one of the times you have to decide general <-> speed ;-) |
09:26 |
VargaD |
How much ActiveABM do we allocate? |
09:27 |
sapier |
guess noone is using abms very much as they are known to be slow |
09:27 |
sapier |
but that's my personal view only I could be wrong about that |
09:29 |
VargaD |
so ActiveABM is somethink a mod can attach to some nodes? |
09:30 |
VargaD |
and it is also slow, so we allocate a few of them |
09:30 |
sapier |
yes |
09:30 |
sapier |
the problem starts once you attach a abm to a common node |
09:30 |
sapier |
e.g. dirt, cobble |
09:31 |
sapier |
as you can specify a chance and time this can kill performance |
09:31 |
VargaD |
when you attach ActiveABM to a common node that class allocated many times? |
09:31 |
sapier |
e.g. if you do it once a second with chance 1 on dirt ;-) 16x16x16 calls to that abm if a single block of dirt is active |
09:32 |
sapier |
usually there are more blocks active |
09:32 |
VargaD |
oh |
09:33 |
VargaD |
std::bitset has compile time size and also use less memory, trash cache less, maybe that is a good enough solution |
09:34 |
sapier |
possible but thexyz must have tested something, I'd like to know what he found out |
09:41 |
VargaD |
wow freeminer has a lot of commits notv merged to minetest |
09:41 |
VargaD |
Why do they forked minetest? |
09:42 |
sapier |
because proller didn't want to do the work necessary to clean up a commit for merge to minetest ... and to be fair he started his work at a time where minetest development slowed down due to lack of time of core devs |
09:43 |
VargaD |
it would be nice to unite development again... |
09:43 |
proller |
because average time of pull approve is half year |
09:44 |
sapier |
most of prollers commits where interesting, but most contained absolutely unrelated features within s a single pull request, often a usefull one and a controversial one in same |
09:44 |
thexyz |
yes what? |
09:44 |
thexyz |
std::bitset's count() is O(N), that's why I wrote my very own bitset |
09:44 |
proller |
sapier, because i try to do something instead of speaking |
09:45 |
sapier |
proller I wont explain this again I already told you community development is only about 50% of coding |
09:45 |
VargaD |
thexyz: oh I see |
09:46 |
thexyz |
if you feel like improving it then do that but since my profiler isn't complaining about this piece of code anymore and I don't see anything terribad about it I'm not feeling like changing this stuff to allocate on stack |
09:46 |
sapier |
thexyz why do you use a vector instead of allocating memory and access per [] |
09:46 |
VargaD |
thexyz: how do you test performance? |
09:46 |
VargaD |
Do you have a mod that triggers this code? |
09:47 |
VargaD |
allocation memory and using vector isn't different in preformance |
09:47 |
thexyz |
no, I've tested this in a separate app and then just run through profiler with fix and without |
09:47 |
VargaD |
it is much safer to use vector |
09:47 |
thexyz |
to confirm that bitset's .count is indeed O(n) |
09:48 |
VargaD |
the only improvement I see is to make size compile time constant so it isn't allocated at all |
09:48 |
thexyz |
sapier: well I just felt like it, there's less code and no difference |
09:48 |
VargaD |
but maybe that isn't worth to hassle to use template |
09:48 |
thexyz |
VargaD: maybe, I didn't think about using a template |
09:49 |
sapier |
what complexitiy is [] for std::vector? |
09:49 |
VargaD |
O(1) |
09:49 |
thexyz |
constant |
09:49 |
thexyz |
what's with this question |
09:49 |
sapier |
hmm ok forget about the array :-) |
09:50 |
VargaD |
it is a template, the compiler generates exactly the same code, it isn't worth to wite code that handles memory allocations |
09:50 |
VargaD |
when you compile it is exactly the same |
09:50 |
sapier |
I assume a good compiler will do the int alignment too |
09:51 |
VargaD |
only when you ask it |
09:51 |
VargaD |
but alignment won't do much here |
09:52 |
VargaD |
this can't be vectorased anyway |
09:52 |
sapier |
reading a char is in worst case read, shift, mask |
09:53 |
sapier |
writing is even worse ... shift read, mask, set, write |
09:53 |
|
Gethiox joined #minetest-dev |
09:53 |
sapier |
but this is highly dependent on architecture and compiler |
09:53 |
VargaD |
I don't think that works like that, the cpu should handle that well, maybe it is worth to try |
09:54 |
sapier |
as I said this depends on architecture and compiler, I know for sure mips for example can't do single byte writes |
09:55 |
sapier |
at least the version I work with ;-) |
10:00 |
sapier |
wow x86 is quite comforable on this .. if compiler does compile sane code 1 2 4 8 are atomic (as long as aligned correctly for those >1) |
10:02 |
VargaD |
do we run minetest server on mips? |
10:02 |
VargaD |
:) |
10:03 |
sapier |
don't know if anyone has a mobile device ;-) |
10:03 |
sapier |
my phone is arm |
10:03 |
VargaD |
those are arm |
10:03 |
VargaD |
some routers are mips |
10:04 |
sapier |
yes mips isn't very common these days |
10:04 |
VargaD |
loongson is also mips |
10:04 |
sapier |
but usually we use x86 and there it's not an issue |
10:09 |
VargaD |
does freeminer and minetest world/network compatible? |
10:10 |
sapier |
world yes network ... I think they still are but freeminer may have switched to enet already thexyz can tell more about this |
10:10 |
VargaD |
they have a lot of interesting improvements |
10:11 |
sapier |
minetest decided to switch to tcp for reliable communication instead of using enet but right now noone is working at it |
10:11 |
proller |
.. and newer will.. |
10:11 |
VargaD |
enet has a udp based reliable communicatino as far as I remeber |
10:12 |
proller |
ant its work! |
10:12 |
VargaD |
probably, many project using enet |
10:12 |
VargaD |
and they work fine |
10:12 |
proller |
minetest have wat wtf based communication |
10:12 |
VargaD |
that is quite a bad thing :( |
10:13 |
VargaD |
it would be nice to port enet to minetest |
10:13 |
proller |
my server sometimes resends 100+ pps |
10:13 |
VargaD |
sapier: I'm willing to do the port, but will you accept a clean pull request? |
10:13 |
sapier |
we discussed this about 100 times the last week I wont discuss again |
10:14 |
sapier |
it's not up to me to accept it but I'd start with something less controversial then enet ;-) |
10:15 |
sapier |
enet has some issues too ... no ipv6 support, compatibility break, one man show, |
10:15 |
VargaD |
oh I see |
10:17 |
VargaD |
it is a good idea to use TCP in a realtime game? |
10:17 |
sapier |
but enet works way better then current network code, yet breaking compatibility to anything we need to be sure it's the way to go for next years, obviously not everyone is convinced enet is way to go ... and no it's not only my opinion |
10:17 |
sapier |
thought is UDP/TCP combination |
10:18 |
sapier |
of course TCP only isn't an option |
10:18 |
proller |
need in UDP/TCP/SCTP/RTMP/etcMP combination!!11 |
10:18 |
proller |
we need more protocols! |
10:18 |
VargaD |
SCTP isn't widely suported :) |
10:19 |
proller |
linux+*bsd okay |
10:19 |
sapier |
linux+windows are required ... bsd macos androind are benefits we take if we have chance |
10:20 |
VargaD |
Why don't you use boost or C++11? Sorry for my silly questions sapier :( |
10:20 |
proller |
okay. we must implement gre! open ppp session to minetest server an make p2p net with other clients. |
10:20 |
sapier |
.... didn't read the bad b word ... |
10:21 |
sapier |
c++11 is beeing thought about but for now visual studio 2010 usage stops us from using it |
10:21 |
sapier |
proller plz write your tirades to #minetest |
10:21 |
VargaD |
yes visual studio is quite bad in C++11 |
10:23 |
VargaD |
Thank you for your patience sapier |
10:25 |
sapier |
I try to help where I can varga but keep in mind minetest is a project with more then one core devs and there are different opinions about some issues |
10:27 |
sapier |
as you might have noticed networking code and pull quality are most controversial points right now, 3d engine and security have been others in past ... and using json for everything (maybe code too ;-P) is a all time favourite ;-) |
10:29 |
VargaD |
I see there are a lot of developers and many branches on github |
10:29 |
sapier |
as I said coding is at most 50% of time ;-) most time you will spend on defending and persuading ppl your variant is really best |
10:30 |
VargaD |
minetest is a remarkable application, I'm sure we can solve the issues |
10:30 |
sapier |
take it a neverending strugle for perfection ;-) |
10:31 |
VargaD |
of course but commits should be clean and perfect :) |
10:35 |
|
Gethiox joined #minetest-dev |
10:47 |
|
proller joined #minetest-dev |
10:50 |
|
Gethiox joined #minetest-dev |
10:52 |
|
Akien joined #minetest-dev |
11:04 |
|
Gethiox joined #minetest-dev |
11:22 |
|
ImQ009 joined #minetest-dev |
11:59 |
|
rsiska joined #minetest-dev |
12:10 |
|
ImQ009 joined #minetest-dev |
12:25 |
|
john_minetest joined #minetest-dev |
12:29 |
* specing |
digs extra:john_minetest |
13:07 |
|
ImQ009 joined #minetest-dev |
13:07 |
|
Jordach joined #minetest-dev |
13:19 |
|
NakedFury joined #minetest-dev |
13:19 |
|
Sokomine joined #minetest-dev |
13:33 |
|
Jordach joined #minetest-dev |
13:34 |
Jordach |
wrong channel john. |
13:46 |
|
EvergreenTree joined #minetest-dev |
13:52 |
|
smoke_fumus joined #minetest-dev |
13:58 |
|
nore joined #minetest-dev |
13:59 |
sapier |
you can see fps in one of the debug tabs john_minetest |
13:59 |
sapier |
it's a little bit hidden |
14:02 |
sapier |
where is a win32 build? |
14:03 |
sapier |
as far as I know we don't do official builds some "latest" in forum usually is a fake ;-) it's only latest for a small time ;-) |
14:04 |
sapier |
but as far as I know that fps fix doesn't have any effect on windows |
14:04 |
* sfan5 |
puts a kitten on john_minetest's head |
14:04 |
|
blaaaaargh joined #minetest-dev |
14:05 |
sapier |
not the windows one ;-) |
14:07 |
sapier |
true |
14:11 |
RealBadAngel |
if some1 wanna build something then maybe this repo? https://github.com/RealBadAngel/minetest |
14:12 |
RealBadAngel |
theres code that generates normal maps on the fly |
14:19 |
sapier |
ok guys I started working at UDP/TCP protocol handling, I intend to write this in a 100% backward compatible way using dual protocol handling for transition time |
14:29 |
|
Gethiox joined #minetest-dev |
14:35 |
|
robmyers joined #minetest-dev |
14:35 |
|
robmyers joined #minetest-dev |
14:40 |
|
PilzAdam joined #minetest-dev |
14:42 |
|
Evolykane joined #minetest-dev |
14:43 |
VargaD |
sapier: can I help you in implementing the new network protocol? |
14:53 |
|
smoke_fumus joined #minetest-dev |
14:59 |
sfan5 |
sapier: does that mean if packetdata.startswith("\x4f\x45\x74\x03"): <old way> else: <new way> ? |
15:09 |
sapier |
no it means it will support old as well as new clients |
15:10 |
sapier |
transportation method is unrelated to packetdata on proper layered environments |
15:10 |
|
iqualfragile joined #minetest-dev |
15:10 |
sapier |
thanks vargad but this task isn't big enough to be split in usefull parts |
15:13 |
|
Zeitgeist_ joined #minetest-dev |
15:23 |
|
proller joined #minetest-dev |
15:26 |
|
kaeza joined #minetest-dev |
15:28 |
|
PilzAdam joined #minetest-dev |
15:45 |
|
blaaaaargh joined #minetest-dev |
15:54 |
|
Megaf joined #minetest-dev |
15:55 |
|
Evolykane joined #minetest-dev |
16:06 |
|
proller joined #minetest-dev |
16:21 |
|
Megaf joined #minetest-dev |
16:33 |
|
kahrl joined #minetest-dev |
16:39 |
|
Gethiox joined #minetest-dev |
16:40 |
|
daswort joined #minetest-dev |
16:54 |
|
Miner_48er joined #minetest-dev |
17:00 |
|
Anchakor_ joined #minetest-dev |
17:05 |
|
zat joined #minetest-dev |
17:13 |
|
hmmmm joined #minetest-dev |
17:26 |
|
Calinou joined #minetest-dev |
18:52 |
|
sfan5 joined #minetest-dev |
19:04 |
RealBadAngel |
sfan5, can you make win build with this? https://github.com/RealBadAngel/minetest/commit/a48d0e9bed5d478e1b9c468484eb81420ffed28b |
19:07 |
|
PilzAdam joined #minetest-dev |
19:09 |
RealBadAngel |
hi PilzAdam |
19:22 |
|
proller joined #minetest-dev |
19:27 |
|
zat joined #minetest-dev |
19:40 |
|
kaeza joined #minetest-dev |
19:47 |
|
Calinou joined #minetest-dev |
19:54 |
|
ImQ009 joined #minetest-dev |
20:08 |
|
diemartin joined #minetest-dev |
20:12 |
|
john_minetest joined #minetest-dev |
20:14 |
|
iqualfragile joined #minetest-dev |
20:21 |
|
john_minetest joined #minetest-dev |
20:23 |
|
Ritchie joined #minetest-dev |
20:36 |
|
EvergreenTree joined #minetest-dev |
20:56 |
Calinou |
there is some prediction stuff in Minecraft, but not much |
20:56 |
Calinou |
CraftBukkit is very server-side focused |
20:56 |
Calinou |
(Bukkit is an API.) |
21:08 |
Calinou |
the client can't get new models: they are all _hardcoded_ (yes) |
21:08 |
Calinou |
same for textures and sounds |
21:08 |
Calinou |
sounds can be played by server at various volumes and pitches, without requiring separate files |
21:14 |
thexyz |
yes |
21:14 |
thexyz |
also, google is your friend |
21:15 |
thexyz |
I see |
21:15 |
thexyz |
sadly this is not related to minetest core development |
21:15 |
RealBadAngel |
afaik both client and server require mods |
21:15 |
Calinou |
google isn't your friend |
21:15 |
* Calinou |
rolls eyes |
21:15 |
RealBadAngel |
so for modified server you need modified client |
21:15 |
RealBadAngel |
with very same mods |
21:17 |
RealBadAngel |
it may had changed already, im not playing mc for a long time |
21:25 |
|
Miner_48er joined #minetest-dev |
22:20 |
iqualfragile |
RealBadAngel: last time i looked modding support even in craftbuckit was not satisfying |
22:20 |
|
diemartin joined #minetest-dev |
22:22 |
|
john_minetest left #minetest-dev |
22:29 |
RealBadAngel |
so anybody to test: https://github.com/RealBadAngel/minetest/commit/a48d0e9bed5d478e1b9c468484eb81420ffed28b.patch ? |
22:31 |
|
EvergreenTree joined #minetest-dev |
22:35 |
|
Yepoleb_ joined #minetest-dev |
22:43 |
kaeza |
wish I could, but my crappy card does not support normalmaps :( |
22:54 |
RealBadAngel |
kaeza, this code generates them on the fly |
22:57 |
kaeza |
http://pastebin.com/Z0MPAgUe |
23:01 |
RealBadAngel |
git am ? why not git apply ? |
23:03 |
RealBadAngel |
http://stackoverflow.com/questions/12240154/what-is-the-difference-between-git-am-and-git-apply |
23:05 |
kaeza |
do you have to enable anything besides "Generate normalmaps"? |
23:05 |
kaeza |
(and "Shaders") |
23:05 |
RealBadAngel |
shaders, bumpmapping, generate normalmaps |
23:05 |
RealBadAngel |
disable filtering (at least for 16x textures) |
23:05 |
kaeza |
nope, all black |
23:06 |
RealBadAngel |
do you have any errors compiling shaders? |
23:09 |
|
Gethiox joined #minetest-dev |
23:42 |
|
diemartin joined #minetest-dev |
23:45 |
|
sapier joined #minetest-dev |