IRC log for #bzflag on 20201108

18:07.13*** join/#bzflag SpringTank (~quassel@69-154-138-57.lightspeed.rcsntx.sbcglobal.net)
19:46.06*** join/#bzflag Sgeo (~Sgeo@ool-18b982ad.dyn.optonline.net)
20:00.48BZNotifybzflag: 03macsforme 03opened pull request #269 "More fixes for SDL2 window management" (06https://git.io/Jkfbg)
20:16.24*** join/#bzflag Zehra (~Keiki_Han@unaffiliated/zehra)
20:18.13*** join/#bzflag FusionDude (~flash@2601:280:c200:4e39:c49f:48c:912c:92b0)
20:18.13*** mode/#bzflag [+v FusionDude] by ChanServ
21:19.32BZNotifybzflag: 03atupone edited pull request #269 "More fixes for SDL2 window management" by 03macsforme (06https://git.io/Jkfbg)
21:19.34BZNotifybzflag: 03atupone edited pull request #269 by 03macsforme
21:20.29tuponeI didn't :(
21:20.46tuponeJust clicked in a wrong place
21:20.49blast007tupone: 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:21.26blast007(this is at 2560x1440)
21:22.53tuponeI see. Rat's nest is bad beast
21:23.28tuponeQuality?
21:25.14blast007quality high, texturing linear mipmap linear, lighting best, shadows stencil.  Anti Aliasing, Aniso, and AntiFlicker off.  Smoothing on.
21:28.20tuponeblast007: do you think that DEBUG RENDERING is used? Need to keep ?
21:28.37tuponeand thanks for measurement
21:29.01blast007I'll test on some other hardware as well.  This CPU is pretty old.  I also have some AMD cards.
21:29.59blast007I would think that some of the debug rendering stuff could go away
21:32.57blast007the culling/collision tree visualization is probably useful.  wireframe is *maybe* useful?  depth complexity I don't know.
21:36.53blast007yeah, 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:37.25blast007my gaming rig is more balanced
21:48.21blast007radar just *eats* the CPU
21:49.19blast007With 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:51.27tuponeI know we should work on it
21:52.42tuponeI wonder if that reduction is still there when zooming the radar
21:53.15blast007the weird thing is that I'm getting higher frame rates on my i5-2500k w/ GTX 1060
22:17.29JeffM[m]replace the flag + with a polygon or texture and you'll probably see an improvement.
22:33.40blast007you can toggle the flags on radar and it doesn't affect it too much
22:34.26blast007Rat's Nest has a lot of geometry (for BZFlag standards, anyway)
22:36.22blast007I guess about halving the FPS kinda makes sense since it's handling the same geometry twice
22:36.46JeffM[m]it should be skipping all walls and all floors
22:37.32blast007I'm not hitting a GPU limit though - it's a CPU limit.  Would that make a difference?
22:38.20JeffM[m]you should profile it and see what it's doing on the CPU
22:38.32JeffM[m]the world geo is static and should all be cached
22:38.38blast007"Why is it mining buttcoins?"
22:38.59JeffM[m]so a vbo with the map flats for radar should take no CPU at all and just live on the card
22:39.11blast007mmm, okay
22:39.36JeffM[m]is there something being done each frame for the radar?
22:50.21blast007at least 6 BZDB evals to draw the radar
22:50.39JeffM[m]for what?
22:50.56JeffM[m]does it color the radar each frame? like based on Z depth?
22:56.51blast007checks 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 flags
22:57.15blast007looks like I might need Windows 10 to run a CPU profile while also debugging
22:58.16blast007(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.29JeffM[m]what does it do with the muzzle height?
22:59.26blast007uses that to adjust the color scale of the shots
22:59.41JeffM[m]are the shots drawn as lines?
22:59.54blast007lines and points
23:00.26JeffM[m]those will be slower than a texture on a lot of GL implementations
23:00.39blast007for my test, though, there weren't any shots
23:00.45JeffM[m]ok
23:16.32blast007RanderRenderer::renderObstacles() is most of the CPU time of RadarRenderer::render()
23:17.16blast007and RadarRenderer::renderBoxPyrMesh() is most of what RadarRenderer::renderObstacles() spends its time on
23:17.36JeffM[m]it's always a box.....
23:19.02blast007there's probably no boxes on this map.  it's fully mesh.
23:20.00JeffM[m]oh it draws EVERY face
23:20.01blast007the map could use some noradar attributes on objects
23:20.10JeffM[m]oof
23:20.58JeffM[m]on map load you would probably want to compute the silhouette of the mesh and cache that.
23:21.05blast007yeah..
23:21.35blast007I suppose this is why most games don't care about elevation with their mini map
23:21.41JeffM[m]it'd be similar math to shadows
23:22.17blast007(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.59JeffM[m]you could still do that sort of
23:23.20JeffM[m]reender each object to part of a texture, and draw it with a different color/alpha
23:26.04JeffM[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.32JeffM[m]it'd make every object have the same effective time for radar drawing regardless of it's complexity
23:29.21JeffM[m]Textures used to be the slowest thing bz rendered, now it's the opposite with hardware T&L being everywhere
23:29.34blast007could probably even optimize it further if groups are being used so that you don't have to render the same geometry twice
23:29.46JeffM[m]yeah
23:30.55JeffM[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.

Generated by irclog2html.pl Modified by Tim Riker to work with infobot.