*** 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 #bzflag | 18:07 | |
*** Sgeo <Sgeo!~Sgeo@ool-18b982ad.dyn.optonline.net> has joined #bzflag | 19:46 | |
BZNotify | bzflag: 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 #bzflag | 20:16 | |
*** FusionDude <FusionDude!~flash@2601:280:c200:4e39:c49f:48c:912c:92b0> has joined #bzflag | 20:18 | |
*** ChanServ sets mode: +v FusionDude | 20:18 | |
*** Flash <Flash!~flash@2601:280:c200:4e39:55b7:f46b:e70c:29d> has quit IRC (Ping timeout: 260 seconds) | 20:22 | |
BZNotify | bzflag: atupone edited pull request #269 "More fixes for SDL2 window management" by macsforme (https://git.io/Jkfbg) | 21:19 |
BZNotify | bzflag: atupone edited pull request #269 by macsforme | 21:19 |
tupone | I didn't :( | 21:20 |
tupone | Just clicked in a wrong place | 21:20 |
blast007 | tupone: 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 |
tupone | I see. Rat's nest is bad beast | 21:22 |
tupone | Quality? | 21:23 |
blast007 | quality high, texturing linear mipmap linear, lighting best, shadows stencil. Anti Aliasing, Aniso, and AntiFlicker off. Smoothing on. | 21:25 |
tupone | blast007: do you think that DEBUG RENDERING is used? Need to keep ? | 21:28 |
tupone | and thanks for measurement | 21:28 |
blast007 | I'll test on some other hardware as well. This CPU is pretty old. I also have some AMD cards. | 21:29 |
blast007 | I would think that some of the debug rendering stuff could go away | 21:29 |
blast007 | the culling/collision tree visualization is probably useful. wireframe is *maybe* useful? depth complexity I don't know. | 21:32 |
blast007 | yeah, 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 |
blast007 | my gaming rig is more balanced | 21:37 |
blast007 | radar just *eats* the CPU | 21:48 |
blast007 | With 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 |
tupone | I know we should work on it | 21:51 |
tupone | I wonder if that reduction is still there when zooming the radar | 21:52 |
blast007 | the weird thing is that I'm getting higher frame rates on my i5-2500k w/ GTX 1060 | 21:53 |
JeffM[m] | replace the flag + with a polygon or texture and you'll probably see an improvement. | 22:17 |
blast007 | you can toggle the flags on radar and it doesn't affect it too much | 22:33 |
blast007 | Rat's Nest has a lot of geometry (for BZFlag standards, anyway) | 22:34 |
blast007 | I guess about halving the FPS kinda makes sense since it's handling the same geometry twice | 22:36 |
JeffM[m] | it should be skipping all walls and all floors | 22:36 |
blast007 | I'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 CPU | 22:38 |
JeffM[m] | the world geo is static and should all be cached | 22: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 card | 22:38 |
blast007 | mmm, okay | 22:39 |
JeffM[m] | is there something being done each frame for the radar? | 22:39 |
blast007 | at least 6 BZDB evals to draw the radar | 22:50 |
JeffM[m] | for what? | 22:50 |
JeffM[m] | does it color the radar each frame? like based on Z depth? | 22:50 |
blast007 | checks 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:56 |
blast007 | looks like I might need Windows 10 to run a CPU profile while also debugging | 22: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 |
blast007 | uses that to adjust the color scale of the shots | 22:59 |
JeffM[m] | are the shots drawn as lines? | 22:59 |
blast007 | lines and points | 22:59 |
JeffM[m] | those will be slower than a texture on a lot of GL implementations | 23:00 |
blast007 | for my test, though, there weren't any shots | 23:00 |
JeffM[m] | ok | 23:00 |
blast007 | RanderRenderer::renderObstacles() is most of the CPU time of RadarRenderer::render() | 23:16 |
blast007 | and RadarRenderer::renderBoxPyrMesh() is most of what RadarRenderer::renderObstacles() spends its time on | 23:17 |
JeffM[m] | it's always a box..... | 23:17 |
blast007 | there's probably no boxes on this map. it's fully mesh. | 23:19 |
JeffM[m] | oh it draws EVERY face | 23:20 |
blast007 | the map could use some noradar attributes on objects | 23:20 |
JeffM[m] | oof | 23:20 |
JeffM[m] | on map load you would probably want to compute the silhouette of the mesh and cache that. | 23:20 |
blast007 | yeah.. | 23:21 |
blast007 | I suppose this is why most games don't care about elevation with their mini map | 23:21 |
JeffM[m] | it'd be similar math to shadows | 23: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 of | 23:22 |
JeffM[m] | reender each object to part of a texture, and draw it with a different color/alpha | 23: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 complexity | 23:26 |
JeffM[m] | Textures used to be the slowest thing bz rendered, now it's the opposite with hardware T&L being everywhere | 23:29 |
blast007 | could probably even optimize it further if groups are being used so that you don't have to render the same geometry twice | 23:29 |
JeffM[m] | yeah | 23: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/!