IRC logs of Freenode #BZFlag for Sunday, 2020-11-08

*** Sgeo <Sgeo!~Sgeo@ool-18b982ad.dyn.optonline.net> has quit IRC (Read error: Connection reset by peer)10:46
*** SpringTank <SpringTank!~quassel@69-154-138-57.lightspeed.rcsntx.sbcglobal.net> has quit IRC (Ping timeout: 240 seconds)17:48
*** SpringTank <SpringTank!~quassel@69-154-138-57.lightspeed.rcsntx.sbcglobal.net> has joined #bzflag18:07
*** Sgeo <Sgeo!~Sgeo@ool-18b982ad.dyn.optonline.net> has joined #bzflag19:46
BZNotifybzflag: macsforme opened pull request #269 "More fixes for SDL2 window management" (https://git.io/Jkfbg)20:00
*** Zehra <Zehra!~Keiki_Han@unaffiliated/zehra> has joined #bzflag20:16
*** FusionDude <FusionDude!~flash@2601:280:c200:4e39:c49f:48c:912c:92b0> has joined #bzflag20:18
*** ChanServ sets mode: +v FusionDude20:18
*** Flash <Flash!~flash@2601:280:c200:4e39:55b7:f46b:e70c:29d> has quit IRC (Ping timeout: 260 seconds)20:22
BZNotifybzflag: atupone edited pull request #269 "More fixes for SDL2 window management" by macsforme (https://git.io/Jkfbg)21:19
BZNotifybzflag: atupone edited pull request #269 by macsforme 21:19
tuponeI didn't :(21:20
tuponeJust clicked in a wrong place21:20
blast007tupone: Windows 7, i5-2500k, nVidia GTX 1060 3GB - on Rat's Nest, I'm only seeing a 1 to 2 FPS difference between interlaced on and off (both around 255FPS).  A stock 2.4.20, though, gets around 288FPS.21:20
blast007(this is at 2560x1440)21:21
tuponeI see. Rat's nest is bad beast21:22
tuponeQuality?21:23
blast007quality high, texturing linear mipmap linear, lighting best, shadows stencil.  Anti Aliasing, Aniso, and AntiFlicker off.  Smoothing on.21:25
tuponeblast007: do you think that DEBUG RENDERING is used? Need to keep ?21:28
tuponeand thanks for measurement21:28
blast007I'll test on some other hardware as well.  This CPU is pretty old.  I also have some AMD cards.21:29
blast007I would think that some of the debug rendering stuff could go away21:29
blast007the culling/collision tree visualization is probably useful.  wireframe is *maybe* useful?  depth complexity I don't know.21:32
blast007yeah, this 2500k is a big limiting factor.  I was only hitting arount 20 5o 25% TDP of my GPU because the CPU couldn't feed the card fast enough.  Even with Furmark, I can't fully load the card.21:36
blast007my gaming rig is more balanced21:37
blast007radar just *eats* the CPU21:48
blast007With the interlaced GL1.5 client, an i7-5930k @ 4.2GHz w/ GTX 980 Ti was only getting 177FPS.  Turned radar off, and I get over 500.21:49
tuponeI know we should work on it21:51
tuponeI wonder if that reduction is still there when zooming the radar21:52
blast007the weird thing is that I'm getting higher frame rates on my i5-2500k w/ GTX 106021:53
JeffM[m]replace the flag + with a polygon or texture and you'll probably see an improvement.22:17
blast007you can toggle the flags on radar and it doesn't affect it too much22:33
blast007Rat's Nest has a lot of geometry (for BZFlag standards, anyway)22:34
blast007I guess about halving the FPS kinda makes sense since it's handling the same geometry twice22:36
JeffM[m]it should be skipping all walls and all floors22:36
blast007I'm not hitting a GPU limit though - it's a CPU limit.  Would that make a difference?22:37
JeffM[m]you should profile it and see what it's doing on the CPU22:38
JeffM[m]the world geo is static and should all be cached22:38
blast007"Why is it mining buttcoins?"22:38
JeffM[m]so a vbo with the map flats for radar should take no CPU at all and just live on the card22:38
blast007mmm, okay22:39
JeffM[m]is there something being done each frame for the radar?22:39
blast007at least 6 BZDB evals to draw the radar22:50
JeffM[m]for what?22:50
JeffM[m]does it color the radar each frame? like based on Z depth?22:50
blast007checks if the radar is on, evals the radar range, checks if it should hide the FOV lines, evals the muzzle height, checks if it should use color shots, and evals three booleans to see if it should render flags22:56
blast007looks like I might need Windows 10 to run a CPU profile while also debugging22:57
blast007(since I want to set a breakpoint at the start/end of the radar render method to profile only that part of it)22:58
JeffM[m]what does it do with the muzzle height?22:58
blast007uses that to adjust the color scale of the shots22:59
JeffM[m]are the shots drawn as lines?22:59
blast007lines and points22:59
JeffM[m]those will be slower than a texture on a lot of GL implementations23:00
blast007for my test, though, there weren't any shots23:00
JeffM[m]ok23:00
blast007RanderRenderer::renderObstacles() is most of the CPU time of RadarRenderer::render()23:16
blast007and RadarRenderer::renderBoxPyrMesh() is most of what RadarRenderer::renderObstacles() spends its time on23:17
JeffM[m]it's always a box.....23:17
blast007there's probably no boxes on this map.  it's fully mesh.23:19
JeffM[m]oh it draws EVERY face23:20
blast007the map could use some noradar attributes on objects23:20
JeffM[m]oof23:20
JeffM[m]on map load you would probably want to compute the silhouette of the mesh and cache that.23:20
blast007yeah..23:21
blast007I suppose this is why most games don't care about elevation with their mini map23:21
JeffM[m]it'd be similar math to shadows23:21
blast007(if we didn't care about elevation, we'd just have to render a top down view to a texture and then overlay icons/points/lines)23:22
JeffM[m]you could still do that sort of23:22
JeffM[m]reender each object to part of a texture, and draw it with a different color/alpha23:23
JeffM[m]cache a texture Index and UV coords for the AABB of the object with each obstacle and you can use that for radar rendering.23:26
JeffM[m]it'd make every object have the same effective time for radar drawing regardless of it's complexity23:26
JeffM[m]Textures used to be the slowest thing bz rendered, now it's the opposite with hardware T&L being everywhere23:29
blast007could probably even optimize it further if groups are being used so that you don't have to render the same geometry twice23:29
JeffM[m]yeah23:29
JeffM[m]optimally it'd all go into a big VBO and a custom shader that did the coloring. just let it live on the card, and change the muzzle height the shader reads from every frame.23:30

Generated by irclog2html.py 2.17.3.dev0 by Marius Gedminas - find it at https://mg.pov.lt/irclog2html/!