Chat log from the meeting on 2023-10-31

From OpenSimulator

Jump to: navigation, search
[11:03 AM PT]  Andrew Hellershanks: Hello, everyone.
[11:03 AM PT]  Joe Magarac: Yes. At which point the date became uniform nationwide. Before that, it varied by state.
[11:03 AM PT]  Ubit Umarov: seems us used to change like EU or most EU but decided to change ?
[11:03 AM PT]  Ubit Umarov: ( ie last sunday of October )
[11:05 AM PT]  Andrew Hellershanks: The clocks are changing this weekend. That affects people coming to these meetings.
[11:05 AM PT]  Ubit Umarov: did change last sunday :p
[11:06 AM PT]  Vincent.Sylvester Speaking of changes, there were.... none. We all feelin the winter gloom
[11:06 AM PT]  Andrew Hellershanks: Ubit, The clocks already changed in Europe?
[11:06 AM PT]  Ubit Umarov: Well yeah.. still no changes on code
[11:06 AM PT]  Orbert.Tatham Glad I'm not the only onw
[11:06 AM PT]  Andrew Hellershanks: In north america it is this weekend.
[11:06 AM PT]  Ubit Umarov: Yes they did andrew
[11:07 AM PT]  Ubit Umarov: liek always.. one week or so diference
[11:07 AM PT]  Andrew Hellershanks: Ubit, hm... seems like that was a chance. I though they changed a week after NA.
[11:07 AM PT]  Vincent.Sylvester I did make some changes in my quest to get xunit tests up and running by doing some database prep work, still have to test that though
[11:08 AM PT]  Ubit Umarov: well our rule is kinda simple.. last sunday of October and March
[11:08 AM PT]  Andrew Hellershanks: There is still talk about stopping the changing of the clocks in NA. Not sure if the spring change will be the last time or not.
[11:08 AM PT]  Vincent.Sylvester Never written a test setup completely from scratch so I am a little lost on what to do heh
[11:09 AM PT]  Ubit Umarov: i almost did update master to dotnet6..  but then got hit by some indisposition and ... well didn't
[11:09 AM PT]  Andrew Hellershanks: Vincent, Writing a test setup depends on ones goals. Are you testing overall functionality or are you testing individual functions within a body of code?
[11:09 AM PT]  Ubit Umarov: and didn't look to the tests fo dotnet6 no :(
[11:09 AM PT]  Ubit Umarov: those are a lot of things
[11:10 AM PT]  Ubit Umarov: and ofc of limited use
[11:10 AM PT]  Vincent.Sylvester From what I can tell looking at the old tests it did complex things as crossing tests via the scene helpers and such, but also small scale stuff like serializing a prim and reading it back from db
[11:10 AM PT]  Ubit Umarov: you are testing with nuint3 or xunit ?
[11:10 AM PT]  Vincent.Sylvester xunit
[11:11 AM PT]  Vincent.Sylvester I got that working to an acceptable level
[11:11 AM PT]  Ubit Umarov: soem of te old tests are to..  forget
[11:11 AM PT]  Ubit Umarov: 0 usefulness
[11:11 AM PT]  Vincent.Sylvester Yeah some of them are useless, but some did point at bugs in the past so they are not all useless
[11:12 AM PT]  Ubit Umarov: yeap a few are useful ofc.. did catch some mistakes i made a few times
[11:12 AM PT]  Vincent.Sylvester I don't plan to rewrite them one to one, just get ideas on what parts to test and maybe what tools there are like mock script engine, scene helpers and such
[11:12 AM PT]  Vincent.Sylvester Just a big mountain of stuff so I am a little lost on where to start xD
[11:12 AM PT]  Andrew Hellershanks: Start with the simple things and go from there.
[11:13 AM PT]  Ubit Umarov: that is the only possible solution and basis on all eng
[11:13 AM PT]  Ubit Umarov: break a complex task into small simple ones :)
[11:13 AM PT]  Ubit Umarov: ( and pray .. a lot.. )
[11:14 AM PT]  Andrew Hellershanks: It should be but I don't think some people follow that rule properly.
[11:14 AM PT]  Vincent.Sylvester My plan is to first document tests we had, filter out the most important tests and figure out how they worked. From that might give me an idea on what else to test for
[11:14 AM PT]  Vincent.Sylvester Things like logins, inventory, database serialization, teleports and crossings are important
[11:15 AM PT]  Vincent.Sylvester But ideally test each module throwing data at it and checking if it success or fail as expected
[11:15 AM PT]  Vincent.Sylvester Looking through commit logs for any mention of tests likely also tells me what is easy to break
[11:16 AM PT]  Vincent.Sylvester Will be a while before I have anything solid, but at least I did get the setup to work so we have a write to use xunit for tests now
[11:16 AM PT]  Vincent.Sylvester That was a big pain given all that nuget bs
[11:17 AM PT]  Ubit Umarov: and hope xunit will still be a thing next year :)
[11:18 AM PT]  Vincent.Sylvester nunit and xunit seem to be the go to now. I picked xunit because it was recommended for dotnet use with nunit being second in the list
[11:18 AM PT]  Andrew Hellershanks: I've been adding tests to a project I'm working on but I'm currently doing that to test individual functions. Later I may add tests to check higher level functionality.
[11:19 AM PT]  Vincent.Sylvester Next on my todo is working out how to do record test results and integrate with jenkins, that'll be fun
[11:19 AM PT]  Ubit Umarov: migration to nunit3 should be the simpler path...  but dunno
[11:20 AM PT]  Ubit Umarov: int with jenkinx should be "easy" if you have the console comands etc
[11:20 AM PT]  Vincent.Sylvester Either way have to rewrite the tests the syntax changed at which point might as well start from scratch and do it properly
[11:20 AM PT]  Vincent.Sylvester My thinking at least
[11:20 AM PT]  Ubit Umarov: guess jenkins manuals do tell how
[11:20 AM PT]  Vincent.Sylvester Jenkins is fairly easy to work with so long as they don't change their UI again -.-
[11:21 AM PT]  Andrew Hellershanks: :)
[11:21 AM PT]  Ubit Umarov: well when i change to out main repo to dotnet6 i will need to kill our jenkis
[11:21 AM PT]  Ubit Umarov: bc that machine can't do dotnet6
[11:22 AM PT]  Vincent.Sylvester Gee I wonder who is at fault for that....
[11:22 AM PT]  Motoko.Karu eww.. jenkins :(
[11:22 AM PT]  Ubit Umarov: the only kinda CI we well keep havaing is automatic compile at github
[11:22 AM PT]  Ubit Umarov: wel if i don't forget to to fix its scripts..
[11:23 AM PT]  Vincent.Sylvester Jenkins can do dotnet definitely though, just changing some commands really, rest is the same
[11:23 AM PT]  Vincent.Sylvester Tests should be easy too, just different commands as well
[11:23 AM PT]  Ubit Umarov: jenkis basicly just runs a script.. so can to it
[11:25 AM PT]  Jamie.Jordan hi everybody
[11:25 AM PT]  Ubit Umarov: hi
[11:25 AM PT]  Andrew Hellershanks: Hello, Jamie.
[11:25 AM PT]  Andrew Hellershanks: Don't hesitate to add tests that seem trivial as they can still prove useful to catch things like handling of bad parameters to a function.
[11:26 AM PT]  Ubit Umarov: andrew, usually compilers catch that :)
[11:26 AM PT]  Andrew Hellershanks: Not at runtime they can't.
[11:26 AM PT]  Andrew Hellershanks: Passing a NULL to a function that expects a pointer can't be caught at compile time.
[11:27 AM PT]  Vincent.Sylvester Database serialization is important, that has shown bugs at least twice in the past. Then all basic functions, login, inventory, teleports, crossings, instant message and permissions
[11:27 AM PT]  Andrew Hellershanks: That last one is a can of worms.
[11:27 AM PT]  Vincent.Sylvester This is C# land, we rarely use pointers, only when they are much faster or there is no other way :)
[11:28 AM PT]  Ubit Umarov: permissions are the most recent added tests, if i remember
[11:28 AM PT]  Andrew Hellershanks: Yes, It was just an example of something that is a runtime issue.
[11:28 AM PT]  Ubit Umarov: and yeah confusing as SL permissions rules are
[11:28 AM PT]  Vincent.Sylvester Permission code, parcel and estate access are a rats nest at the moment, writing tests for that will be fun
[11:29 AM PT]  Vincent.Sylvester Needs a flowchart
[11:29 AM PT]  Andrew Hellershanks: It would be good to have tests for perms as it helps put in (sand)stone how perms should work and will ensure they don't break.
[11:29 AM PT]  Ubit Umarov: well for me those are still not a priority
[11:29 AM PT]  Ubit Umarov: sure important so on a (oneday) TODO
[11:30 AM PT]  Ubit Umarov: hmm ot TODO(oneday) ?
[11:30 AM PT]  Vincent.Sylvester Perhaps going through dotnet changes from master and writing tests for those changes would be the most immediate priority
[11:30 AM PT]  Ubit Umarov: jezz and do you plan to do that? :)
[11:31 AM PT]  Vincent.Sylvester Make sure those changes didn't break anything, though some of that is also not easy to do either
[11:31 AM PT]  Ubit Umarov: nahh tests need to be done comparing code actiong to a higher lever definition of what it should do
[11:31 AM PT]  Vincent.Sylvester I still hope that I happen across someone that might want to help with writing tests given I am a little lost with it all, but over time I want to at least get some things set up
[11:32 AM PT]  Vincent.Sylvester Just takes time between all the other stuff I have to do
[11:32 AM PT]  Ubit Umarov: mono to dotnet6 is irrelevant.. (and covered byt it )
[11:32 AM PT]  Ubit Umarov: in fact some changes on dotnet6 may berak tests, bc we changed what the tests did expect
[11:32 AM PT]  Vincent.Sylvester The issue with the sensors for example something that is a bit harder to test for
[11:32 AM PT]  Ubit Umarov: ( bc theyr where wrong or outdated )
[11:33 AM PT]  Vincent.Sylvester Old tests have nothing really on sensor accuracy etc. so that bug slipped past tests
[11:33 AM PT]  Vincent.Sylvester What I mean by mono to dotnet changes is that though, notice a bug, fix bug, write test to make sure it stays fixed
[11:34 AM PT]  Andrew Hellershanks: One issue I've had with writing tests is that they can only catch the issues which are tested. I have run in to a bug or two because I didn't think to test for a particular issue.
[11:34 AM PT]  Ubit Umarov: they are or limited use  yes...
[11:35 AM PT]  Ubit Umarov: ...of..
[11:35 AM PT]  Vincent.Sylvester With how big the codebase is, impossible to test for everything which is why I want to work priorities. Sensor not working is annoying, but not immediately dangerous. Inventory corrupting because bad serialization is a tad bit worse
[11:35 AM PT]  Ubit Umarov: what bad serialization?
[11:36 AM PT]  Andrew Hellershanks: Sometimes. Particularly when you forget to test for something. At other times they have proven invaluable in validating the operation of a function. They helped me test and debug a slightly tricky bitofcode.
[11:36 AM PT]  Ubit Umarov: currently most serialization happens on code that is not ours
[11:36 AM PT]  Ubit Umarov: ie on the so called connectors
[11:37 AM PT]  Vincent.Sylvester I mean the stuff that casts all data to string before sending it to database, same stuff that caused hiccups with the charsets if you recall. Making sure if I add a prim to a region it is still there next time I boot up the region
[11:38 AM PT]  Vincent.Sylvester For example forgetting to add MatOvrd to the db and finding all your prims revert to boxes, that was a fun one
[11:38 AM PT]  Ubit Umarov: well "serialization" did remind me the nonsense ll is addign to viewers
[11:38 AM PT]  Ubit Umarov: on inventory and the pbr things
[11:38 AM PT]  Vincent.Sylvester cool vl in their changelog said they support ais now
[11:38 AM PT]  Vincent.Sylvester Haven't tested if that breaks os compat yet
[11:39 AM PT]  Ubit Umarov: wll our current matovr is now bad...
[11:39 AM PT]  Andrew Hellershanks: Tests to verify that removal of a prim from a scene does remove it and not leave some phantom of the removed prim could be useful.
[11:39 AM PT]  Ubit Umarov: tnat is part of the nonsense above :)
[11:39 AM PT]  Vincent.Sylvester Andrew, yeah that's a bug at the moment, I know I said I was gonna look into that, but time :S
[11:40 AM PT]  Ubit Umarov: wel that is a ahr test, bc prims do stay "phantom" for a while
[11:40 AM PT]  Ubit Umarov: that makes tests take for ever..
[11:41 AM PT]  Vincent.Sylvester If you unlink, link and quickly delete some stuff is on database even if the region looks empty, restart it and the prims come back
[11:41 AM PT]  Ubit Umarov: ( like other things like teleports tests etc )
[11:41 AM PT]  Vincent.Sylvester Some async disconnect somewhere
[11:41 AM PT]  Andrew Hellershanks: Vincent, np. Having a test that shows the problem will help to verify that some code change fixes the bug.
[11:41 AM PT]  Ubit Umarov: never seen that vicent
[11:41 AM PT]  Ubit Umarov: ie can't repo
[11:42 AM PT]  Ubit Umarov: but well may happen
[11:42 AM PT]  Ubit Umarov: no idea how..  but well..
[11:42 AM PT]  Vincent.Sylvester Take a linkset, edit linked parts, unlink one part, duplicate that part by shift drag, then link everything again and take to inventory. Next restart the unlinked prim is back on the ground.
[11:43 AM PT]  Ubit Umarov: changes on prims updates to DB MUST be delayed
[11:43 AM PT]  Vincent.Sylvester There is a mantis on that, it's going to be hard to fix given how those tasks work
[11:43 AM PT]  Ubit Umarov: but should happen on proper shutdown
[11:43 AM PT]  Ubit Umarov: ( that does run all pending changes )
[11:44 AM PT]  Vincent.Sylvester If you do that you can see on database first the linkset, then the unlinked prim gets added, then the new linkset, the original linkset being deleted and then when you take into inventory the new linkset being deleted, leaves the unlinked prim though
[11:45 AM PT]  Vincent.Sylvester I suspect this is because of how these tasks are scheduled async as to not hold things up and it's just done so quickly it gets lost
[11:45 AM PT]  Vincent.Sylvester If you give it a couple seconds to catch up then it's fine, it's those quick edits to a linkset that cause that, when you just want to quickly duplicate a prim of a linkset
[11:47 AM PT]  Vincent.Sylvester The region does not retain it in its runtime memory, it just sticks to the database
[11:52 AM PT]  Vincent.Sylvester Gavin :D
[11:52 AM PT]  Gavin.Hird hi all
[11:52 AM PT]  Ubit Umarov: another that forgot the hour change :)
[11:52 AM PT]  Motoko.Karu Hihi Gavin
[11:52 AM PT]  Ubit Umarov: hi gavin :)
[11:52 AM PT]  Gavin.Hird oh, gosh - darn!
[11:52 AM PT]  Gavin.Hird It totally slipped my mind...
[11:53 AM PT]  Ubit Umarov: yeah almost did to me also
[11:54 AM PT]  Gavin.Hird anything breaking I missed?
[11:54 AM PT]  Andrew Hellershanks: I'm back. RL called me away for a few minutes.
[11:54 AM PT]  Ubit Umarov: not realy
[11:55 AM PT]  Gavin.Hird oh
[11:55 AM PT]  Ubit Umarov: wel land meeting hour will change again next week
[11:55 AM PT]  Ubit Umarov: for us
[11:55 AM PT]  Andrew Hellershanks: Hello, Gavin.
[11:55 AM PT]  Gavin.Hird Hi Andrew
[11:56 AM PT]  Ubit Umarov: from 18:00 utc back to 19:00 utc with grid time change
[11:56 AM PT]  Andrew Hellershanks: The hour is almost up. Any questions for today not related to testing of the code base?
[11:56 AM PT]  Gavin.Hird it is getting pretty dark in the mornings here, so will be good to get back to winter time
[11:56 AM PT]  Ubit Umarov: winter time is closer to local time in most cases
[11:56 AM PT]  Jamie.Jordan all good here
[11:57 AM PT]  Ubit Umarov: well at least here..
[11:57 AM PT]  Gavin.Hird not really. I have noticed LL have seemingly taken a good pause in posting updates. Anyone heard if they are up to something special?
[11:57 AM PT]  Joe Magarac: A final comment. If Open Simulator wants viewer support, it's essential that all differences from SL be documented. Us viewe developers REALLY NEED THAT.
[11:58 AM PT]  Ubit Umarov: tell ll to no change things :p
[11:58 AM PT]  Ubit Umarov: to not..
[11:58 AM PT]  Vincent.Sylvester Easier said than done with SL doesn't have their protocols and things properly documented in the first place
[11:58 AM PT]  Gavin.Hird the AIS update is a real break for the viewer code, and there is more in the offing
[11:58 AM PT]  Joe Magarac: I'm pushing on the SL side. I make updates on their wiki. But, since OS is #2, you have to try harder.
[11:59 AM PT]  Gavin.Hird plus they now build everything on github, which in itself is a challenge
[11:59 AM PT]  Joe Magarac: I have to implement both sides, from scratch. Document it and I will try to keep up.
[11:59 AM PT]  Gavin.Hird unless you want to to the same and pay Microsoft a fortune for build time there
[11:59 AM PT]  Joe Magarac: If I have to reverse engineer it, it takes too long.
[12:00 PM PT]  Gavin.Hird we already have to reverse engineer
[12:00 PM PT]  Vincent.Sylvester Joe, we have one person doing most of the code and just a handful of others that come even close to understanding it, documenting things in our free time when we have time
[12:00 PM PT]  Vincent.Sylvester If you have questions you can ask on mailing list and irc all day all week
[12:01 PM PT]  Andrew Hellershanks: yup. Just remember that if you ask a question on IRC you may have to wait quite a while for an answer. Don't ask, wait a couple of minutes, then leave.
[12:01 PM PT]  Ubit Umarov: why leave? :)
[12:01 PM PT]  Joe Magarac: I need something to code against where there are major differences.
[12:02 PM PT]  Andrew Hellershanks: :)
[12:02 PM PT]  Ubit Umarov: there are major diferences already
[12:02 PM PT]  Ubit Umarov: like avatar baking that needs to be viewer side
[12:02 PM PT]  Gavin.Hird there absolutely is Ubit
[12:02 PM PT]  Ubit Umarov: this is now a old example
[12:02 PM PT]  Joe Magarac: I'm pushing SL for more documentation, and getting some results.
[12:03 PM PT]  Gavin.Hird loads of code to handle VAR regions in teh UI for instance
[12:03 PM PT]  Ubit Umarov: and the new ll changes liek aisv3 will possible never happen, as i said
[12:03 PM PT]  Joe Magarac: I have varregion support working in Sharpview. Mostly. Region seams don't work yet.
[12:03 PM PT]  Ubit Umarov: really not up to look to that nonsense bloat
[12:04 PM PT]  Joe Magarac: Anyway, need to go. Next meeting.
[12:04 PM PT]  Vincent.Sylvester Yeah but SL also gets paid to sit down and write docs along with having more people for that. You are currently looking at everyone that is available for even writing such documentation
[12:04 PM PT]  Vincent.Sylvester Profiles, bakes, hypergrid, var regions, some small inventory things apparently, what else...
[12:05 PM PT]  Vincent.Sylvester Suppose he could just search FS source code for all the opensim switches they have as well
[12:05 PM PT]  Ubit Umarov: vincent AISv3 is not a small thing :)
[12:05 PM PT]  Orbert.Tatham My head aches even glancing that way
[12:06 PM PT]  Vincent.Sylvester Not that inventory thing, the thing with the parent folder
[12:06 PM PT]  Vincent.Sylvester inventory uuid all lowercase and my inventory parent folder is null key not avatar key
[12:06 PM PT]  Vincent.Sylvester Kirsten, looking at you
[12:06 PM PT]  Ubit Umarov: even the stupid little pictures they are adding to inventory is really code changes on all things storage.. all dbs and region store
[12:07 PM PT]  Gavin.Hird there are also small differences in things such as allowed length of sound file, built height, max prim size, number of allowed groups, etc etc
[12:07 PM PT]  Ubit Umarov: well our handly of inventory may still be a bit odd
[12:07 PM PT]  Ubit Umarov: ..handling..
[12:08 PM PT]  Ubit Umarov: for now thing we just refuse it
[12:08 PM PT]  Vincent.Sylvester There is also technically not a limit on group tag lengths and all that, well outside of db field size limits
[12:08 PM PT]  Ubit Umarov: even so a lot better than AIS  "current"
[12:08 PM PT]  Ubit Umarov: whatever crap current means
[12:08 PM PT]  Kayaker Magic: RL calling, gota run.
[12:09 PM PT]  Ubit Umarov: we so send many of those little changes now
[12:09 PM PT]  Ubit Umarov: on extraparameters
[12:10 PM PT]  Ubit Umarov: i mean prim size etc
[12:10 PM PT]  Vincent.Sylvester The url aliases as well
[12:10 PM PT]  Vincent.Sylvester For the stupid hop link mess
[12:10 PM PT]  Vincent.Sylvester Give it another decade those might just start working heh
[12:11 PM PT]  Ubit Umarov: :)
[12:11 PM PT]  Gavin.Hird :_)
[12:11 PM PT]  Andrew Hellershanks: hehe
[12:13 PM PT]  Andrew Hellershanks: It is now almost quarter past the hour. Last chance for any questions/comments for today.
[12:13 PM PT]  Vincent.Sylvester I have one thing, small thing
[12:13 PM PT]  Andrew Hellershanks: Go ahead, Vincent.
[12:13 PM PT]  Vincent.Sylvester Did more tests this week on map tile stuff, added more zoom levels and ran a full refresh
[12:13 PM PT]  Ubit Umarov: don't forget about the hour change again next week !!
[12:14 PM PT]  Vincent.Sylvester 2023/10/30 12:59:58 - [MAP IMAGE WORKER]: Finished generating zoom levels of 11754 tiles in 1096.596511 seconds!
[12:14 PM PT]  Vincent.Sylvester That's 13 zoom levels instead of the normal 9
[12:14 PM PT]  Vincent.Sylvester 12000 region tiles in about 20 minutes
[12:14 PM PT]  Vincent.Sylvester Not as fast as I would like, but damn side quicker than the old system currently in the code
[12:15 PM PT]  Andrew Hellershanks: If my brain isn't failing me that is 600 region tiles per minute or about 10 per second. Sounds good.
[12:16 PM PT]  Vincent.Sylvester Roughly yes
[12:17 PM PT]  Andrew Hellershanks: Any idea roughly how long the current code takes to handle that many tiles?
[12:17 PM PT]  Ubit Umarov: think current code does it on a messy ondemand
[12:17 PM PT]  Vincent.Sylvester Each region registration comes with a fixed one minute delay so much longer if they all register, but the bigger issue is that it doesn't properly render var regions
[12:18 PM PT]  Ubit Umarov: ie when a region does update mapt
[12:18 PM PT]  Vincent.Sylvester Leaving spots empty and so on, when registrations overlap in the minute delay things get really messy
[12:18 PM PT]  Vincent.Sylvester Current code uses fixed memory heavy functions to place each pixel, I just combined the images in memory via pointers, much faster that way, slightly unsafe tho
[12:19 PM PT]  Ubit Umarov: current code uses pointers also
[12:19 PM PT]  Ubit Umarov: i think...
[12:20 PM PT]  Andrew Hellershanks: I would take unsafe with it generating a tile that isn't 100% accurate as along as it won't cause a crash of the code.
[12:20 PM PT]  Ubit Umarov: wel or jsut calls draw things that do use pointers
[12:21 PM PT]  Ubit Umarov: those on win use fast directx things...
[12:21 PM PT]  Vincent.Sylvester bitmap get and set pixel is what it currently uses. I just load the tile into memory and dump it into whichever zoom level directly. It seems to work fine in my testing thus far. It's technically unsafe as pointers, but unless something internally breaks then it should be fine
[12:21 PM PT]  Ubit Umarov: and should use similar on linux
[12:21 PM PT]  Ubit Umarov: no those not actually the issues
[12:21 PM PT]  Ubit Umarov: we do not use bitmap set
[12:21 PM PT]  Ubit Umarov: ( i think )
[12:22 PM PT]  Ubit Umarov: when we do hard pixel xhanges we do use pointers
[12:22 PM PT]  Ubit Umarov: like on local region map draw
[12:22 PM PT]  Ubit Umarov: in fact that is the heavy work
[12:23 PM PT]  Ubit Umarov: grid side is mostly rescale and merge
[12:23 PM PT]  Vincent.Sylvester bm.SetPixel(x, y, c);
[12:24 PM PT]  Vincent.Sylvester vs just doing pointers for pixel to pixel
[12:24 PM PT]  Ubit Umarov: private void FillImage(Bitmap bm, Color c)
            for (int x = 0; x < bm.Width; x  )
                for (int y = 0; y < bm.Height; y  )
                    bm.SetPixel(x, y, c);
[12:24 PM PT]  Ubit Umarov: one function LOL
[12:24 PM PT]  Vincent.Sylvester Does some heavy lifting that thing
[12:25 PM PT]  Ubit Umarov: called on one place, to fill water with a fixed color if there is no def texture
[12:25 PM PT]  Ubit Umarov: guess not even used :)
[12:25 PM PT]  Ubit Umarov: but in fact bad code
[12:26 PM PT]  Ubit Umarov: bitmap creatiosn does even has a option to do that
[12:26 PM PT]  Vincent.Sylvester Setpixel is also in the resampled thing that writes the tiles, output.SetPixel on that
[12:26 PM PT]  Ubit Umarov: ( ofc all that bitmap code is officialy not supported by ms on dotnet )
[12:26 PM PT]  Orbert.Tatham Ok, folks, my turn to bail out
[12:26 PM PT]  Orbert.Tatham Srr you next week
[12:27 PM PT]  Orbert.Tatham 8see
[12:27 PM PT]  Andrew Hellershanks: ok, Orbert. See you next week. Keep in mind the time change.
[12:27 PM PT]  Vincent.Sylvester Getpixel and setpixel slow, pointers fast
[12:27 PM PT]  Ubit Umarov: well yeah that is officiall very slow
[12:28 PM PT]  Ubit Umarov: hm and think bitmap has native comands do so it
[12:29 PM PT]  Ubit Umarov: wle i did change region side code mostly on warp3d
[12:29 PM PT]  Ubit Umarov: not much grid side
[12:30 PM PT]  Vincent.Sylvester Think once I am done with that entire setup it'll be a nice addition to speed up and more importantly fix up maptiles being less messy when regions register quickly one after the other
[12:30 PM PT]  Andrew Hellershanks nods
[12:30 PM PT]  Andrew Hellershanks: Sounds good, Vincent.
[12:30 PM PT]  Vincent.Sylvester Cause I lock the set of tiles robust has and then add them so it can't get into conflicts with itself as it currently does
[12:31 PM PT]  Vincent.Sylvester Course does mean when a region registers it might take however long the check interval is set for region to show up on all zoom levels, but map in viewer is slow to update anyhow so not a big deal
[12:31 PM PT]  Vincent.Sylvester Anyway that's all from my side for this week
[12:31 PM PT]  Andrew Hellershanks: ty, Vincent.
[12:32 PM PT]  Andrew Hellershanks: On that note I will call this gathering to a close.
[12:32 PM PT]  Andrew Hellershanks: Thank you all for coming. See you again next week.
[12:32 PM PT]  Motoko.Karu Thanks everyone
[12:32 PM PT]  Gavin.Hird map in viewer should only be slow on initial load. On subsequent accesses it is fast
Personal tools
About This Wiki