Timestamps are in GMT/BST.
| 00:14:20 | Nothing_Much | g'night everybody |
| 00:15:36 | raptor | night |
| 00:24:00 | | raptor Quit () |
| 00:25:41 | | Flynnn Quit (Quit: This computer has gone to sleep) |
| 00:25:42 | | Flynnn has joined |
| 00:51:21 | | Flynnn Quit (Quit: This computer has gone to sleep) |
| 01:06:45 | Watusimoto | night |
| 01:07:33 | kaen | "Although obvious, the text that shows +XP should be rendered only client side." |
| 01:07:41 | kaen | I don't think we do much rendering server-side :) |
| 01:08:12 | | Nothing_Much Quit (Ping timeout: 240 seconds) |
| 01:11:05 | | Watusimoto Quit (Ping timeout: 255 seconds) |
| 01:30:33 | | koda Quit (Ping timeout: 240 seconds) |
| 01:31:43 | | Flynnn has joined |
| 01:32:19 | | fordcars has joined |
| 01:42:43 | | BFLogBot Commit: ba35f29dd097 | Author: buckyballreaction | Message: Increase extents slightly for screenshot so as to not chop off map edges |
| 02:05:49 | | kaen Quit (Remote host closed the connection) |
| 02:07:45 | | Flynnn Quit (Ping timeout: 240 seconds) |
| 02:07:47 | | kaen_ has joined |
| 02:14:19 | | kaen_ is now known as kaen |
| 02:21:08 | | fordcars Quit (Quit: Page closed) |
| 03:31:31 | | Flynnn has joined |
| 03:35:32 | | raptor has joined |
| 03:35:32 | | ChanServ sets mode +o |
| 03:36:09 | raptor | good evening! |
| 03:37:50 | raptor | i created my first iBrick! |
| 03:40:05 | | Flynnn Quit (Quit: This computer has gone to sleep) |
| 03:43:20 | | Flynnn has joined |
| 03:51:08 | | Platskies has joined |
| 04:05:22 | raptor | oh my goodness, i think I got it |
| 04:12:31 | raptor | I got it! |
| 04:12:36 | | BFLogBot Commit: d40163cc4f5a | Author: buckyballreaction | Message: Merge GeomObject::onPointsChanged with onGeomChanged(). This should simplify the code paths |
| 04:32:49 | | Platskies Quit (Read error: Connection reset by peer) |
| 04:36:24 | raptor | is ServerGame supposed to be running in the editor? |
| 04:37:15 | raptor | I just did a memory profiler and memory keeps growing from the 'checkForZones' call in Ship on the ServerGame |
| 04:40:12 | raptor | what the heck |
| 04:40:45 | raptor | also, since the 'Ship' is running in the editor, there seems to be a Spawn point created at ever location the mouse is |
| 04:41:55 | raptor | here is the profile data: http://sam6.25u.com/upload/massif.out.1967.zip |
| 04:45:17 | sam686 | My internet have massive packet loss (about 40% packet loss, creating so much lag spikes, it kindof started yesterday, and continued today for me |
| 04:45:42 | raptor | is your ISP actively sending reset packets to you? |
| 04:46:05 | sam686 | Easy way to see my internet problem is.. running turrent and watching my connection.. Looks like my internet have heavy packet loss on upload direction. |
| 04:46:24 | sam686 | UDP have no such reset state |
| 04:46:35 | sam686 | both TCP UDP affected from packet loss |
| 04:46:37 | raptor | and for fun, the callgraph of my editor session: http://sam6.25u.com/upload/callgrind.png |
| 04:47:11 | raptor | sam686: it's standard practice for some ISP to drop packets to interrupt torrent traffic |
| 04:47:13 | sam686 | I could stop torrent, but I continue to lag almost just as equally |
| 04:48:30 | sam686 | I get lag yesterday and today with heavy packet loss and lag, including continuous ping showing several time out about 20% of time |
| 04:49:19 | sam686 | I only did the torrent test from 1 hour ago, seems about same amount of lag as my turrent can't reach 5 Mbps upload, only reaching about 0.1 Mbps. |
| 04:49:59 | sam686 | oh and my live stream to twitch constantly disconnects me yesderday and today was fine 3-10 days ago. |
| 04:50:16 | raptor | interesting |
| 04:50:19 | raptor | what ISP? |
| 04:50:37 | sam686 | midcontinent communications |
| 04:50:48 | sam686 | using DOCSIS 3 modem (motorola) |
| 04:51:21 | raptor | could it be the modem overheating or something weird like that? |
| 04:51:32 | raptor | better callgrind graph: http://sam6.25u.com/upload/1callgrind.png |
| 04:52:00 | sam686 | continuous ping to cabme modem itself 192.168.100.1 never shows packet loss |
| 04:52:14 | sam686 | that says nothing wrong with my computer/router/modem |
| 04:52:36 | sam686 | and cable modem is only a little worm, not hot. |
| 04:53:14 | raptor | a full 14% of the CPU usage is just for the stroke font |
| 04:57:05 | | sam686 Quit (Ping timeout: 246 seconds) |
| 04:57:53 | | sam686 has joined |
| 04:57:53 | | ChanServ sets mode +v |
| 04:58:33 | sam686 | My pings... http://sam6.25u.com/upload/text1403/140313_23-56-06.txt |
| 05:01:14 | sam686 | I don't know if you can reliably use sam6.25u.com at the moment as that run from my home |
| 05:01:37 | raptor | yeah, it took a long while to upload that last graphic |
| 05:03:09 | sam686 | good luck downloading, its even slower with my massive packet drop on my upload to anything or your download from sam6.25u.com |
| 05:07:19 | | destroyerimo has joined |
| 05:11:37 | | kaen Quit (Ping timeout: 240 seconds) |
| 05:27:08 | | raptor Quit (Ping timeout: 255 seconds) |
| 05:27:28 | | destroyerimo_ has joined |
| 05:30:45 | | destroyerimo Quit (Ping timeout: 255 seconds) |
| 05:54:22 | | raptor has joined |
| 05:54:22 | | ChanServ sets mode +o |
| 05:57:25 | | Nothing_Much has joined |
| 06:13:19 | | Platskies has joined |
| 06:47:26 | | Flynnn Quit (Quit: This computer has gone to sleep) |
| 06:49:23 | | Flynnn has joined |
| 06:55:15 | raptor | night |
| 06:55:22 | | raptor Quit () |
| 06:55:27 | | BFLogBot Commit: 51113e2ebc89 | Author: buckyballreaction | Message: Change warning font in editor |
| 07:00:02 | | kaen has joined |
| 07:14:15 | | kaen Quit (Ping timeout: 255 seconds) |
| 07:50:15 | | destroyerimo_ Quit (Ping timeout: 255 seconds) |
| 08:10:27 | | Flynnn Quit (Quit: This computer has gone to sleep) |
| 08:16:51 | | HylianSavior has joined |
| 08:23:19 | | TAZ has joined |
| 08:28:20 | | Flynnn has joined |
| 08:40:26 | | Flynnn Quit (Quit: This computer has gone to sleep) |
| 08:40:53 | | Flynnn has joined |
| 08:40:56 | | Flynnn Quit (Client Quit) |
| 08:41:53 | | Platskies Quit (Read error: Connection reset by peer) |
| 09:02:10 | | watusimoto has joined |
| 09:02:12 | | ChanServ sets mode +o |
| 09:29:20 | | vs73nx has joined |
| 09:29:20 | | vs73nx Quit (Changing host) |
| 09:29:20 | | vs73nx has joined |
| 09:37:13 | | TAZ Quit (Quit: Page closed) |
| 09:45:38 | | vs73nx Quit (Quit: Quitting for now… See you all later) |
| 10:28:53 | | Platskies has joined |
| 10:29:09 | | destroyerimo has joined |
| 10:29:20 | | destroyerimo Quit (Read error: Connection reset by peer) |
| 10:31:05 | | Platskies Quit (Read error: Connection reset by peer) |
| 10:33:01 | | Platskies has joined |
| 10:40:10 | | Platskies Quit (Read error: Connection reset by peer) |
| 10:41:51 | | Platskies has joined |
| 11:45:09 | | LordDVG has joined |
| 11:45:23 | | LordDVG Quit (Read error: Connection reset by peer) |
| 11:45:37 | | LordDVG has joined |
| 11:53:08 | | LordDVG Quit (Ping timeout: 240 seconds) |
| 12:06:37 | | LordDVG has joined |
| 12:09:20 | | Watusimoto_ has joined |
| 12:29:38 | | Watusimoto_ Quit (Ping timeout: 240 seconds) |
| 12:48:46 | | koda has joined |
| 13:08:27 | | kaen has joined |
| 13:15:23 | | Invisible2 has joined |
| 13:27:06 | | Invisible2 Quit (Quit: Invisible2) |
| 13:47:02 | | HylianSavior Quit (Read error: Connection reset by peer) |
| 13:48:21 | | HylianSavior has joined |
| 14:00:21 | | YoshiSmb has joined |
| 14:26:12 | | Platskies Quit (Read error: Connection reset by peer) |
| 15:15:23 | | Watusimoto_ has joined |
| 15:19:36 | | bobdaduck has joined |
| 15:30:59 | YoshiSmb | hello ducky! |
| 15:33:38 | bobdaduck | HIUNFLhfqea |
| 15:35:40 | bobdaduck | kaen |
| 15:35:42 | bobdaduck | why you do this |
| 15:35:47 | bobdaduck | :( |
| 15:55:04 | YoshiSmb | ducky, are you hosting? |
| 15:57:56 | bobdaduck | no |
| 15:58:01 | bobdaduck | I am scripting |
| 15:58:38 | YoshiSmb | ok |
| 16:02:13 | | Watusimoto__ has joined |
| 16:02:21 | bobdaduck | Hi Watusimoto_ |
| 16:02:27 | bobdaduck | er, Watusimoto__ |
| 16:02:30 | bobdaduck | ____________ |
| 16:02:53 | | Watusimoto_ Quit (Ping timeout: 252 seconds) |
| 16:09:00 | YoshiSmb | afk |
| 16:09:37 | | Nothing_Much Quit (Ping timeout: 240 seconds) |
| 16:10:37 | | raptor has joined |
| 16:10:37 | | ChanServ sets mode +o |
| 16:11:10 | raptor | good morning! |
| 16:12:36 | raptor | watusimoto: i decided to profile the editor and see memory usage and CPU usage |
| 16:12:45 | raptor | found some interesting data. |
| 16:12:50 | raptor | here is CPU: http://sam6.25u.com/upload/1callgrind.png |
| 16:13:22 | raptor | here is memory (you'll need a viewer like 'massif-visualizer'): http://sam6.25u.com/upload/massif.out.1967.zip |
| 16:30:57 | kaen | huh. string rendering is taking more than I expected |
| 16:31:26 | raptor | 14% is the stroke font alone |
| 16:31:45 | raptor | I replaced some of it with the texture fonts last night, but the dock is what really needs it |
| 16:31:57 | kaen | ahh, yes |
| 16:32:02 | raptor | the other thing that stands out: turret rendering |
| 16:32:31 | raptor | i just added this issue: http://code.google.com/p/bitfighter/issues/detail?id=412 |
| 16:33:49 | bobdaduck | So I'm um |
| 16:34:04 | bobdaduck | starting to feel like this is a developer problem |
| 16:34:39 | raptor | hi |
| 16:34:52 | raptor | test case! |
| 16:34:55 | bobdaduck | I see no way that getGeom can possibly just return a single number |
| 16:35:13 | | YoshiSmb Quit (Ping timeout: 245 seconds) |
| 16:40:42 | kaen | test case! |
| 16:41:55 | | Nothing_Much has joined |
| 16:44:09 | kaen | having just checked all of the endpoints of getgeom, neither do I |
| 16:44:48 | raptor | bobdaduck: is this on DnD or another script? maybe it's time to do a code audit... |
| 16:44:57 | bobdaduck | Different script |
| 16:45:09 | raptor | roughly how many lines? |
| 16:45:14 | bobdaduck | 80 |
| 16:45:31 | raptor | ok, send me the whole thing with directions to duplicate |
| 16:45:37 | raptor | 80 is manageable |
| 16:47:04 | bobdaduck | http://pastie.org/8919384 |
| 16:47:15 | bobdaduck | To duplicate: |
| 16:47:24 | bobdaduck | Open new level, plug in script |
| 16:47:26 | bobdaduck | run |
| 16:47:32 | bobdaduck | look at logs |
| 16:47:34 | bobdaduck | GG |
| 16:48:00 | raptor | ok |
| 16:48:44 | raptor | just after i unbreak my clone.. |
| 16:55:04 | raptor | that crazy 50 lines of junk |
| 16:55:20 | kaen | first thing I notice about turret rendering is that it's push_back'ing points into the vectors |
| 16:56:10 | raptor | removing the tick event stabilizes it! |
| 16:56:22 | raptor | kaen: yeah, it's doing all the math every tick |
| 16:56:35 | kaen | yep, just saw this: Point pos = normal * cos(theta) + cross * sin(theta); |
| 16:56:46 | raptor | EVIL |
| 16:56:57 | kaen | getting hit 14 times per turret per frame |
| 16:57:29 | raptor | maybe we should just do a static array and rotate it |
| 16:58:02 | raptor | 'dancetime' ?? |
| 16:58:48 | bobdaduck | its a better version of deltatime |
| 16:59:37 | raptor | ok, it's not crashy anymore |
| 17:00:34 | bobdaduck | Its not? |
| 17:00:43 | raptor | here is your new onTick method: http://pastie.org/pastes/8919415/text |
| 17:00:51 | raptor | i made two changes |
| 17:00:59 | raptor | ipairs -> pairs (probably not needed) |
| 17:01:12 | raptor | and ObjType.LineItem -> ObjType.Line |
| 17:01:28 | bobdaduck | ....what. |
| 17:01:50 | raptor | and i get this!: http://imagebin.org/299357 |
| 17:02:28 | raptor | which *really* started to slow down the machine after like 10 iterations |
| 17:02:29 | bobdaduck | Yeah its not supposed to do that but I'm already aware that my math is wrong somewhere |
| 17:02:49 | bobdaduck | The luadocs state it as ObjType.LineItem |
| 17:02:54 | raptor | does it? |
| 17:03:00 | raptor | then that's our fault |
| 17:03:20 | raptor | oh ha |
| 17:03:35 | raptor | it doesn't, but... quick glance makes you think it does: ObjType.Line |
| 17:03:39 | raptor | http://bitfighter.org/luadocs/group___obj_type_enum.html |
| 17:03:47 | raptor | unless you see it differently on a different page? |
| 17:04:17 | bobdaduck | I was looking at the lineItem class |
| 17:04:21 | bobdaduck | and assumed it would be consistent |
| 17:04:47 | raptor | hmmm... |
| 17:05:35 | bobdaduck | Also why was it working with LineItem then. |
| 17:05:45 | raptor | because |
| 17:06:05 | raptor | if you logprint 'ObjType.LineItem' you will get 'nil' |
| 17:06:20 | raptor | passing in 'nil' into bf:findAllObjects will return *every* object |
| 17:06:28 | raptor | some of which will be line items |
| 17:07:11 | raptor | others will have non-2 point geometry (like the ship) and when you started accessing the [2] point in the geom, it would trigger a memory error |
| 17:08:07 | raptor | also bobdaduck, you can actually specify math.tau now :) |
| 17:09:10 | bobdaduck | kk |
| 17:09:29 | bobdaduck | Gonna use tau = math.pi * 2 anyway |
| 17:09:38 | bobdaduck | And then claim its somehow superior |
| 17:09:46 | bobdaduck | because I'm an old geezer |
| 17:09:49 | raptor | ha |
| 17:10:10 | raptor | tau = math.tau |
| 17:11:55 | bobdaduck | BLASPHEME |
| 17:38:31 | bobdaduck | Okay I need an algorithm |
| 17:38:58 | raptor | e^it = 1 |
| 17:39:02 | bobdaduck | Thanks! |
| 17:39:06 | | bobdaduck has left #bitfighter |
| 17:42:36 | | bobdaduck has joined |
| 17:42:48 | bobdaduck | Okay but really |
| 17:43:01 | bobdaduck | So for this thing |
| 17:43:12 | bobdaduck | I want to make it iterate like 10 times really fast |
| 17:43:21 | bobdaduck | in sequence, and then stop |
| 17:43:34 | bobdaduck | I guess I could use break; for the last part there |
| 17:43:54 | bobdaduck | but since it requires iterating off of previous iterations |
| 17:44:03 | bobdaduck | how to I make that work on a tick or timer or something? I see no way |
| 17:44:37 | raptor | use Timer::scheduleRepeatWhileTrue |
| 17:45:05 | raptor | use a counter that increments each time it is fired, when it hits 10, return false instead of true |
| 17:45:15 | raptor | oops |
| 17:45:28 | raptor | yeah, that's right |
| 17:45:36 | raptor | i'll show you an example |
| 17:46:55 | bobdaduck | I think I see how it works |
| 17:47:58 | raptor | working example: http://pastie.org/pastes/8919527/text |
| 17:52:27 | bobdaduck | Alright now time to see if I can make this work... |
| 18:04:18 | | watusimoto Quit (Ping timeout: 240 seconds) |
| 18:06:32 | | Flynnn has joined |
| 18:07:12 | | koda Quit (Quit: koda) |
| 18:12:06 | | Flynnn Quit (Quit: This computer has gone to sleep) |
| 18:18:02 | bobdaduck | How do I pull an angle towards another angle? |
| 18:18:47 | raptor | little by little? |
| 18:19:32 | raptor | find the difference between them, divide up the difference into a step, then add a step to the first |
| 18:23:13 | | Watusimoto__ Quit (Ping timeout: 240 seconds) |
| 18:25:47 | | Watusimoto has joined |
| 18:26:00 | bobdaduck | Messy, messy math... |
| 18:26:07 | raptor | calculus! |
| 18:27:47 | bobdaduck | No |
| 18:27:59 | raptor | if it moves, it's calculus |
| 18:28:07 | bobdaduck | Its not moving |
| 18:28:09 | bobdaduck | just geometry |
| 18:28:24 | bobdaduck | but I've modified so many parts of the math so many times without thinking about the other part |
| 18:28:29 | bobdaduck | *parts |
| 18:31:38 | bobdaduck | Okay its only iterating twice despite the counter thing |
| 18:32:16 | raptor | probably a logic issue |
| 18:32:51 | raptor | I have rediscovered shoutcast |
| 18:33:01 | raptor | yay music streams |
| 18:33:06 | raptor | without annoyances |
| 18:34:16 | bobdaduck | Timer:scheduleRepeatWhileTrue(function() iterate(ship) end, 200) |
| 18:34:16 | bobdaduck | counter = counter + 1 |
| 18:34:16 | bobdaduck | if(counter > 50) then |
| 18:34:16 | bobdaduck | counter = 0 |
| 18:34:16 | bobdaduck | return false |
| 18:34:17 | bobdaduck | else |
| 18:34:18 | bobdaduck | return true |
| 18:34:21 | bobdaduck | end |
| 18:34:40 | bobdaduck | That's my structure. That's right, isn't it? |
| 18:36:10 | raptor | is all of that (except the Timer) within your iterate() method? |
| 18:36:32 | bobdaduck | yeah |
| 18:36:41 | raptor | and 'counter' is outside the method? |
| 18:36:43 | bobdaduck | yes |
| 18:36:47 | bobdaduck | and it is returning true |
| 18:36:52 | bobdaduck | and then just never going again |
| 18:37:35 | raptor | can you pastie me the full method in context? |
| 18:38:12 | bobdaduck | Heck, full levelgen |
| 18:38:12 | bobdaduck | http://pastie.org/8919647 |
| 18:38:39 | raptor | counter = counter + 1 must not be in the if() statement |
| 18:39:18 | bobdaduck | didn't fix |
| 18:40:25 | raptor | umm... '30' ?? |
| 18:40:38 | raptor | a tick is usually 33 or higher |
| 18:40:46 | bobdaduck | didn't change anything |
| 18:40:49 | bobdaduck | it used to be 200 |
| 18:43:00 | raptor | ha! |
| 18:43:08 | raptor | it's because you're using a lamnda |
| 18:43:10 | raptor | lambda |
| 18:43:14 | raptor | this: function() iterate(ship) end |
| 18:43:18 | raptor | does return true |
| 18:43:30 | raptor | change it to: function() return iterate(ship) end |
| 18:43:39 | raptor | *doesn't return true |
| 18:44:18 | | bobdaduck gains 500 experience points |
| 18:44:26 | raptor | ARGH |
| 18:44:59 | raptor | i did something to make it spike the CPU and consume over 300MB of RAM |
| 18:45:05 | raptor | in that script of yours... |
| 18:45:14 | bobdaduck | Yeah! |
| 18:45:21 | bobdaduck | I saw that it was cool |
| 18:45:36 | bobdaduck | I think its not returning false properly |
| 18:45:43 | raptor | no it is... |
| 18:46:04 | bobdaduck | okay it is |
| 18:46:14 | bobdaduck | its just not stopping the function when it does that. I think. |
| 18:46:27 | raptor | but it made it only through 18 iterations before it overwhelmed the CPU |
| 18:46:35 | bobdaduck | Oh yeah |
| 18:46:38 | raptor | I think you're adding too many objects |
| 18:46:42 | bobdaduck | that's just because its exponential though |
| 18:46:49 | raptor | haha |
| 18:46:53 | bobdaduck | Now I just need to figure out the math.... |
| 18:47:40 | bobdaduck | It shouldn't spiral like that |
| 18:47:44 | raptor | 2^18 is... like 256000 LineItems |
| 18:47:47 | bobdaduck | it should go straight in a cone thing |
| 18:47:50 | raptor | and you wanted to go to 50!? |
| 18:48:06 | bobdaduck | No |
| 18:48:10 | bobdaduck | I was just testing something |
| 18:48:24 | bobdaduck | How to make it cone instead of spiral? |
| 18:49:12 | raptor | uh |
| 18:49:28 | raptor | i'm not sure exactly what you mean |
| 18:49:44 | bobdaduck | I want all the things to shoot off in generally the direction the ship is facing |
| 18:49:57 | bobdaduck | but as it is it just goes in a spiral around the ship |
| 18:53:43 | raptor | then that means the starting point of each line is not saved from line-to-line |
| 18:55:28 | bobdaduck | uh? |
| 18:57:36 | raptor | so it creates a line |
| 18:57:53 | raptor | then when it creates the next line it starts it at the ship instead of the end of the previous line |
| 18:58:18 | raptor | this means you may need recursion! |
| 18:58:35 | bobdaduck | well I still want the lines going off the lines |
| 18:59:11 | raptor | yes, that's what i mean, you need to save the end of one line for the beginning of the next |
| 19:02:30 | bobdaduck | going off the middle of lines |
| 19:05:01 | raptor | or that |
| 19:05:41 | bobdaduck | So... how what? |
| 19:05:48 | raptor | recursion! |
| 19:06:02 | raptor | it's what nature does! |
| 19:06:02 | bobdaduck | how? |
| 19:06:05 | bobdaduck | xD |
| 19:07:32 | raptor | step 1, realize recursion exists everywhere and that natural things are innately born with the ability to do it |
| 19:07:38 | bobdaduck | rofl |
| 19:07:44 | raptor | step 2, figure out how to do in code |
| 19:07:52 | raptor | it turns out step 2 is quite difficult |
| 19:08:03 | bobdaduck | xDD |
| 19:08:16 | bobdaduck | Usually I cheat around it with global arrays |
| 19:08:40 | raptor | yes, and there is usually a non-recursive way to do any recursive problem |
| 19:09:28 | raptor | here is ok explanation: http://www.cs.utah.edu/~germain/PPS/Topics/recursion.html |
| 19:09:34 | bobdaduck | I know what recursion is xD |
| 19:09:34 | raptor | even close to home! |
| 19:09:51 | bobdaduck | Just not how to implement it here |
| 19:11:18 | | Watusimoto Quit (Ping timeout: 240 seconds) |
| 19:12:08 | raptor | sory, i have to focus more here for a little while, i'll be back a bit later |
| 19:12:40 | bobdaduck | k |
| 19:55:40 | kaen | man, c++14 is like an entirely new language |
| 19:55:42 | kaen | auto add = [](auto a,auto b){return a + b;} |
| 19:55:52 | raptor | what? |
| 19:55:59 | kaen | that's like one keyword away from javascript |
| 19:56:10 | kaen | it's a "generically typed lambda" |
| 19:56:18 | raptor | you're kidding! |
| 19:56:20 | kaen | nope |
| 19:56:29 | raptor | is that to replace templates? |
| 19:56:35 | raptor | (the generic part) |
| 19:56:49 | kaen | no, c++11 lambdas couldn't have generic types |
| 19:57:32 | kaen | auto is mostly to save you from typing std::map<std::string, std::vector<float>> all the time |
| 19:57:37 | kaen | or things like that |
| 19:57:50 | | Watusimoto has joined |
| 19:58:43 | kaen | but in this context, it does allow for template-like behavior from that lambda literal |
| 19:59:17 | kaen | so basically it's like javascript with less sensible syntax now |
| 20:00:40 | kaen | hah! single quotation mark digit separators |
| 20:00:45 | kaen | int x = 1'000'000 |
| 20:02:26 | raptor | what |
| 20:06:04 | Nothing_Much | Hey what's going on? |
| 20:10:14 | bobdaduck | poor getting poorer, rich getting richer |
| 20:11:01 | Nothing_Much | cool |
| 20:22:48 | raptor | yes everyone still gets a cell phone... |
| 20:22:50 | raptor | *yet |
| 20:33:34 | | bobdaduck Quit (Read error: Connection reset by peer) |
| 20:34:41 | | bobdaduck has joined |
| 20:47:07 | | Flynnn has joined |
| 20:47:14 | | Flynnn Quit (Client Quit) |
| 20:54:52 | | kodapad has joined |
| 20:56:25 | | kodapad Quit (Remote host closed the connection) |
| 21:00:03 | | Invisibl1 has joined |
| 21:03:16 | raptor | Watusimoto: are you here? |
| 21:03:21 | Watusimoto | yes |
| 21:03:30 | raptor | hi |
| 21:03:32 | raptor | great |
| 21:03:43 | raptor | so... did you see my comments on my profiling the editor? |
| 21:04:00 | Watusimoto | was it about the turret rendering? |
| 21:04:08 | raptor | one bit, yes |
| 21:04:13 | raptor | but |
| 21:04:20 | raptor | the really interesting stuff was the heap profile |
| 21:04:21 | Watusimoto | I saw that, but nothing else |
| 21:04:47 | raptor | ok, i'll sum it up: with CPU profiling, there were a couple of pain points: |
| 21:04:52 | raptor | 1. turret rendering |
| 21:05:01 | raptor | 2. stroke font rendering |
| 21:05:25 | raptor | the stroke font rendering took about 15% of the CPU utilization in my editor tests |
| 21:05:31 | raptor | turret rendering 5% |
| 21:06:03 | raptor | but the heap profile had some interesting results |
| 21:06:25 | raptor | editor constantly consumes more and more RAM (but not too quickly) |
| 21:06:56 | raptor | and the memory that keeps increasing comes from Ship::checkForZones |
| 21:07:09 | Watusimoto | in the editor?? |
| 21:07:13 | raptor | yep |
| 21:07:18 | raptor | let me get you a nice screenshot |
| 21:08:17 | Watusimoto | stroke font rendering in the editor? there's hardly any font! |
| 21:08:43 | raptor | most is from the dock |
| 21:09:01 | raptor | here's the fun graphic on CPU utilization: http://sam6.25u.com/upload/1callgrind.png |
| 21:09:27 | Watusimoto | checkForZones is only called from ship::idle() |
| 21:09:46 | raptor | it's because ServerGame is runnign in the editor |
| 21:10:02 | Watusimoto | while you're editing? |
| 21:10:46 | raptor | yep |
| 21:10:48 | raptor | and |
| 21:11:12 | raptor | when you move the screen around, it checks for zones everywhere |
| 21:11:25 | raptor | and... i think it creates spawn points at every point you focus one |
| 21:11:27 | Watusimoto | well, rendering is still where the action is |
| 21:12:52 | Watusimoto | so all those bars are basically bar graphs of cpu consumption? |
| 21:13:21 | raptor | consumption, yes |
| 21:14:51 | Watusimoto | and the bars between show # calls and... what? |
| 21:15:36 | | Flynnn has joined |
| 21:15:58 | raptor | huh? |
| 21:16:17 | Watusimoto | there are bars, and #s with x beside them, and sometimes it looks like two numbers |
| 21:16:29 | Watusimoto | though 4 567 could be 4,567 |
| 21:16:34 | raptor | that is correct |
| 21:16:39 | raptor | space is just 1000-delimited |
| 21:16:44 | raptor | that is method calls |
| 21:16:54 | Watusimoto | and what do the bars show? |
| 21:17:00 | Watusimoto | (between the boxes) |
| 21:17:15 | Watusimoto | % of total calls everywhere? |
| 21:17:24 | raptor | all bars are absolute calls of total |
| 21:17:36 | raptor | or absolute percentage of total CPU consumption |
| 21:17:41 | Watusimoto | ok |
| 21:18:13 | Watusimoto | so I look at this and say if there is a problem it is all in the rendering |
| 21:18:39 | raptor | well... wait until i get you a nice graphic with the memory |
| 21:18:51 | raptor | but yes, with the rendering |
| 21:19:00 | raptor | on the CPU utilization metric |
| 21:19:55 | Watusimoto | I'd be interested to know if our TTF font rendering is faster than the stroke rendering |
| 21:20:10 | Watusimoto | there's not enough ttf in the editor to really know |
| 21:20:43 | raptor | it totally is |
| 21:20:59 | Watusimoto | totally is more efficient? |
| 21:21:04 | raptor | i've done tests on it |
| 21:21:09 | Watusimoto | ok |
| 21:21:13 | Watusimoto | I'll accept that |
| 21:21:22 | raptor | it uses about 1/10 to 1/2 the CPU processing |
| 21:21:31 | Watusimoto | wow |
| 21:21:32 | raptor | usually on the 1/10 side after the textures are created and cached |
| 21:21:39 | raptor | maybe even more |
| 21:22:41 | Watusimoto | ok, so we should be using ttf where possible |
| 21:22:53 | Watusimoto | the only problem is the Play font looks pretty bad at small sizes |
| 21:23:02 | Watusimoto | stroke is usually clearer |
| 21:23:06 | raptor | yes, however - i tried it on the doc... and yes, Play was horrendous that small |
| 21:23:31 | Watusimoto | so we either need another ttf that is readable at small fonts, or just stick with stroke |
| 21:23:48 | Watusimoto | with small stuff, styishness is not so important |
| 21:23:55 | Watusimoto | readibility is the main thing |
| 21:26:57 | | tommyaz has joined |
| 21:27:52 | Watusimoto | well, looking at the turrets... I don;t see why they are so slow |
| 21:28:07 | raptor | ok |
| 21:28:19 | raptor | i uhh, uploaded a graphic for the heap stuff... but its 57MB |
| 21:28:24 | Watusimoto | some sins and coses |
| 21:28:32 | Watusimoto | ok with me |
| 21:28:54 | raptor | here it is - i'm abusing sam686's server: http://sam6.25u.com/upload/heap.png |
| 21:29:19 | | Flynnn Quit (Ping timeout: 264 seconds) |
| 21:29:46 | raptor | but this may be more immediately informative: http://imagebin.org/299381 |
| 21:29:51 | Watusimoto | maybe we should be using sprites for some of this stuff |
| 21:30:17 | raptor | we can probably do a static array and rotate it |
| 21:30:22 | raptor | that would be 100x faster |
| 21:30:55 | Watusimoto | oh yes, that's a good idea |
| 21:31:00 | Watusimoto | rather than compute it every time |
| 21:31:06 | Watusimoto | we can probably do that for a lot of things |
| 21:31:24 | raptor | yes... and that would be one step towards GLES 2 as well |
| 21:31:27 | Watusimoto | yes |
| 21:31:52 | raptor | as you can see from that second graphic |
| 21:31:58 | raptor | the heap keeps going up |
| 21:32:30 | raptor | (this was in about a 3-5 min editor session doing any actions I could think of) |
| 21:32:41 | Watusimoto | so undo/redo is growing |
| 21:32:45 | raptor | no |
| 21:33:07 | raptor | look at major offenders, in the right pane |
| 21:33:15 | raptor | Zap::Spawn and l_alloc |
| 21:33:36 | Watusimoto | what?? |
| 21:33:41 | raptor | exactly!! |
| 21:33:51 | Watusimoto | time to put a breakpoint on spawn! |
| 21:34:00 | raptor | it shows the stack there... |
| 21:34:03 | raptor | sort of |
| 21:34:58 | raptor | this level had no levelgen, by-the-way |
| 21:35:34 | raptor | and I only tested a plugin once - the curve tool - near the end of my test |
| 21:36:00 | Watusimoto | weird |
| 21:37:57 | raptor | so I'm curious as to why ServerGame is running in the editor? |
| 21:38:10 | raptor | I don't knwo enough of the editor design to really know if it's needed or not |
| 21:38:41 | Watusimoto | not sure |
| 21:38:46 | Watusimoto | to be honest |
| 21:39:23 | Watusimoto | I'm going to get my current work to a stable place, check it in to a private unnamed branch, then look at this other stuff |
| 21:39:35 | raptor | ok |
| 21:39:55 | raptor | honesly, i didn't think there was a problem - i just decided to profile it for fun |
| 21:40:02 | raptor | and so these are my findings |
| 21:40:05 | Watusimoto | that memory graphic is pretty big |
| 21:40:33 | Watusimoto | It might be good to do a analysis of the server |
| 21:40:47 | Watusimoto | with client in a different process |
| 21:40:54 | Watusimoto | perhaps with and without bots |
| 21:40:58 | raptor | yes, i agree |
| 21:43:05 | raptor | the real question is why is firing an event creating a Spawn point |
| 21:43:47 | raptor | anyways, i need to focus a bit more here at work |
| 21:43:51 | raptor | back a bit later |
| 21:44:14 | Watusimoto | ok, enjoy! |
| 21:47:10 | | Flynnn has joined |
| 21:53:53 | | hylian has joined |
| 21:54:07 | | Flynnn Quit (Quit: This computer has gone to sleep) |
| 21:54:21 | | hylian is now known as Guest41027 |
| 21:56:25 | | HylianSavior Quit (Ping timeout: 240 seconds) |
| 22:09:04 | | amgine123 has joined |
| 22:09:06 | amgine123 | zupe |
| 22:09:23 | amgine123 | raptor are you here i want to ask you somthing |
| 22:10:58 | bobdaduck | amgine123: I will do a bitfighter party soon. |
| 22:11:17 | bobdaduck | You always complain about nobody telling you, so I'm telling you now. |
| 22:11:21 | bobdaduck | Probably like, next week. |
| 22:11:33 | amgine123 | what day ? |
| 22:11:48 | bobdaduck | Dunno |
| 22:11:52 | bobdaduck | friday or saturday |
| 22:14:46 | | bobdaduck Quit (Remote host closed the connection) |
| 22:16:17 | amgine123 | time ? |
| 22:20:18 | | Nothing_Much Quit (Ping timeout: 252 seconds) |
| 22:20:53 | tommyaz | bob can I have one level from me be in the party? |
| 22:22:23 | amgine123 | by chance no one knows a good site for getting computer games free illegialy do you.... |
| 22:23:56 | tommyaz | nope.. I've stuck to the same games for over ten years. have you tried abandonware though? |
| 22:24:14 | tommyaz | abandonware sites have lots of old games for free.. |
| 22:25:34 | amgine123 | well its somewhat new..... |
| 22:26:20 | amgine123 | its not 30 years old moreso 10 |
| 22:26:49 | | kaen Quit (Ping timeout: 240 seconds) |
| 22:26:49 | | LordDVG Quit (Ping timeout: 240 seconds) |
| 22:30:29 | amgine123 | I used to own it but the disk was destoryed long ago i want to play it again Xd |
| 22:31:44 | tommyaz | mann this reminds me of all my age of empires disks |
| 22:31:58 | tommyaz | and my crash bandicoot games |
| 22:32:02 | | kaen has joined |
| 22:32:04 | amgine123 | :) |
| 22:32:07 | tommyaz | bought the games like 5 times |
| 22:32:10 | tommyaz | each! |
| 22:32:27 | amgine123 | yeah im trying to find this game really badly |
| 22:32:33 | tommyaz | what game is it? |
| 22:32:41 | tommyaz | i dont know where to get it |
| 22:32:46 | tommyaz | but my criousity is piqued |
| 22:33:44 | amgine123 | worms armageddon |
| 22:34:07 | amgine123 | i dont care if i get it legaly or not XD |
| 22:37:42 | tommyaz | heard of thattt |
| 22:37:46 | tommyaz | but didnt like it |
| 22:37:51 | tommyaz | the looks i mean |
| 22:37:59 | | kaen Quit (Ping timeout: 240 seconds) |
| 22:38:09 | tommyaz | does anyone know what nothing_much is called on the forums |
| 22:38:14 | tommyaz | I have a P_M for him |
| 22:38:47 | | Invisibl1 Quit (Quit: Invisibl1) |
| 22:42:44 | Watusimoto | raptor: when you get back, there is a problem with the centroid on polywall objects. You can see it on in the editor, when the label is rendered up in the UL corner of the screen. The problme is that the centroid is still at (0,0). |
| 22:44:22 | sam686 | filesize of raptor's uploaded heap.png: 57041 |
| 22:44:24 | sam686 | Converted to uncompressed heap.bmp filesize: 56946 KB |
| 22:44:29 | sam686 | Converted back to heap.png filesize: 540 KB |
| 22:44:46 | sam686 | Was the PNG not compressed? |
| 22:46:23 | | tommyaz Quit (Quit: Page closed) |
| 22:47:07 | Watusimoto | it's a biiiig file |
| 22:47:17 | raptor | hi |
| 22:47:25 | Watusimoto | hi |
| 22:47:48 | raptor | sam686: sorry! i did export as PNG from the viewer, i guess it didn't really do it... |
| 22:48:02 | raptor | Watusimoto: i don't see what you're seeing: upper-left? |
| 22:48:08 | raptor | what label for polywall? |
| 22:48:29 | raptor | oh odd... i see it now |
| 22:48:38 | Watusimoto | playing in the editor, 1) spawns don't seem to be being created or idling in any surprising ways; 2) ServerGame::idle() is never called; 3) luaW_defaultAllocator() is not called at any surprising moments |
| 22:48:44 | raptor | that's for the editor polywall block on the doc |
| 22:48:50 | Watusimoto | yes |
| 22:48:58 | Watusimoto | the centroid for that item is not getting set |
| 22:49:05 | raptor | that's... weird |
| 22:49:08 | Watusimoto | I assume it is a direct result of your recent refactor |
| 22:49:13 | raptor | i'm sure it is |
| 22:49:14 | raptor | but |
| 22:49:27 | Watusimoto | you probably just missed a spot -- I've seen that problem before |
| 22:49:36 | raptor | so my refactor pulled out 2 bugs with extents/centroids... maybe there was another i missed |
| 22:49:52 | Watusimoto | probably. |
| 22:50:22 | Watusimoto | it should be easy enough to find as there no client/server -- it's just a straight object creation + centroid not being set |
| 22:50:38 | Watusimoto | I would track it down myself, but I am falling asleep |
| 22:50:48 | raptor | i have a feeling that the spawn creation has something to do with having one auto-created when there are none |
| 22:50:53 | | sam686 Quit (Ping timeout: 246 seconds) |
| 22:51:07 | amgine123 | interesting fact im creating a plugin that must find the center ofg objects |
| 22:51:11 | Watusimoto | I haven;t been testing levels |
| 22:51:15 | amgine123 | but it seems to be broken |
| 22:51:22 | amgine123 | im stuck onthis part not sure how to program it |
| 22:52:00 | Watusimoto | oh goodie... the editor crashes on me when I test! |
| 22:52:54 | raptor | make clean! |
| 22:53:10 | Watusimoto | good idea |
| 22:53:18 | amgine123 | lol wattismo i think we are working on te same thing |
| 22:54:35 | | sam686 has joined |
| 22:54:35 | | ChanServ sets mode +v |
| 22:54:50 | amgine123 | im stukc on this part of my program |
| 22:54:55 | amgine123 | http://pastie.org/8920256 |
| 22:56:26 | | Nothing_Much has joined |
| 23:00:38 | amgine123 | raptor wattismo are you here ? |
| 23:00:49 | amgine123 | i deleted that part im changing it now or trying at least |
| 23:01:59 | Watusimoto | I'm here, but am mostly asleep |
| 23:03:45 | amgine123 | ah im trying to write this plugin but im stuck |
| 23:04:38 | | kaen has joined |
| 23:05:01 | amgine123 | hi kaen |
| 23:05:04 | amgine123 | you busy ? |
| 23:07:02 | Watusimoto | what are you stuck on? |
| 23:07:26 | amgine123 | oh just a plugin im working on |
| 23:07:44 | amgine123 | you oculd probably blink a eye and finish this plugin for me |
| 23:07:52 | amgine123 | http://pastie.org/8920275 |
| 23:10:06 | Watusimoto | what's the problem? |
| 23:10:09 | Watusimoto | this looks odd: |
| 23:10:10 | Watusimoto | objPosNew = [objectPos]-[objPosavg] |
| 23:10:33 | Watusimoto | I don't think there should be []s in that statement, but not sure withotu knowing what you are doing |
| 23:11:34 | Watusimoto | I'm probably not going to be able to help much more tonight, but it would be very helpful if you explained what the problem was... is the plugin crashing, or working and not doing what you expect, or... |
| 23:12:35 | | koda has joined |
| 23:16:28 | Watusimoto | amgine123: here is the problem... you are missing lots of things like "then" and "end" |
| 23:16:35 | Watusimoto | and those []s need to be removed |
| 23:16:52 | amgine123 | but im declaring varibles ? |
| 23:17:14 | amgine123 | not knowing how to write the last section of code |
| 23:17:14 | Watusimoto | after the plugin crashes, it will tell you in the console what needs to happen, what word it is looking for, and where it thinks it should go |
| 23:17:25 | amgine123 | its not that i jsut dont know how to write the end |
| 23:17:45 | amgine123 | i have tio find te cneter of a gruop of objects then move that center to a new location |
| 23:17:45 | Watusimoto | well, that's not your biggest problem |
| 23:18:05 | Watusimoto | get it to run without doing the end part, and make sure the structure is ok |
| 23:18:11 | Watusimoto | then start playing with the end bit |
| 23:18:20 | Watusimoto | right now, it won;t run, regardless of what you put in the end |
| 23:18:38 | Watusimoto | I'm going to bed, but you should start by resolving all the errors lsited in the console |
| 23:19:03 | Watusimoto | you'll knwo you are making progress if the line numbers keep increasing (meaning you have fixed one problem so the compiler can find a later problem) |
| 23:19:31 | Watusimoto | eventually it will run, and probably not do what you want... but that is the time to ask for help on getting the logic right |
| 23:20:30 | Watusimoto | that is the advice I have to offer for the moment |
| 23:20:39 | Watusimoto | I can talk to you again about it when I'm less sleepy |
| 23:20:42 | Watusimoto | so... good night! |
| 23:20:45 | Watusimoto | and good luck! |
| 23:37:55 | | Flynnn has joined |
| 23:44:35 | | raptor Quit (*.net *.split) |
| 23:44:39 | | Guest41027 Quit (*.net *.split) |
| 23:45:53 | | Guest41027 has joined |
| 23:55:58 | | Darrel Quit (*.net *.split) |