Minetest logo

IRC log for #minetest-dev, 2013-12-26

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

All times shown according to UTC.

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

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