*** WhatsUpDanger <WhatsUpDanger!0ca73d02@gateway/web/cgi-irc/kiwiirc.com/ip.12.167.61.2> has quit IRC (Remote host closed the connection) | 00:11 | |
*** WhatsUpDanger <WhatsUpDanger!0ca73d02@gateway/web/cgi-irc/kiwiirc.com/ip.12.167.61.2> has joined #bzflag | 00:14 | |
*** WhatsUpDanger <WhatsUpDanger!0ca73d02@gateway/web/cgi-irc/kiwiirc.com/ip.12.167.61.2> has quit IRC (Remote host closed the connection) | 00:49 | |
*** Zehra <Zehra!~Zehra@unaffiliated/zehra> has quit IRC (Quit: Gone for now.) | 02:07 | |
*** I_Died_Once <I_Died_Once!~I_Died_On@unaffiliated/idiedonce/x-1828535> has quit IRC (Ping timeout: 250 seconds) | 04:52 | |
*** kierra <kierra!~quassel@104.243.40.186> has left #bzflag ("http://quassel-irc.org - Chat comfortably. Anywhere.") | 05:07 | |
*** moriah <moriah!~quassel@unaffiliated/kierra> has joined #bzflag | 05:11 | |
BZNotify | bzflag: atupone commented on pull request #232 "Vertex buffers object handling" (https://git.io/Je9oR): > ... | 07:26 |
---|---|---|
Flash | tupone: if you can wait for a couple of weeks, I'll have some time during the Christmas break | 07:29 |
macsforme | Flash should give us all a crash course on modern C++ :-) | 07:36 |
Flash | heh. I just did :P | 07:36 |
Flash | https://youtu.be/JfmTagWcqoE | 07:38 |
macsforme | I take it writing C++ must be part of your day job? | 07:39 |
Flash | https://youtu.be/xnqTKD8uD64 | 07:39 |
Flash | writing, reviewing, mentoring | 07:39 |
Flash | https://channel9.msdn.com/posts/C-and-Beyond-2011-Herb-Sutter-Why-C | 07:39 |
Flash | pretty much anything by Herb Sutter :) | 07:39 |
BZNotify | bzflag: atupone synchronized pull request #232 "Vertex buffers object handling" (https://git.io/Je9kl) | 07:57 |
BZNotify | bzflag: atupone synchronized pull request #232 "Vertex buffers object handling" (https://git.io/Je9kl) | 08:05 |
macsforme | tupone: I didn't dive in as deep as Flash did (yet), but I had a hard time understanding your model and what requirements you are trying to fulfill | 08:08 |
tupone | Flash: I can wait :) This class is needed, and is not a rewriting of something is already on bzflag. Coding is welcomed and you have access to my repository so we can fix the code before merging into the main repo | 08:09 |
macsforme | I understand there is some need to centralize VBO creation and destruction so we can do it when we create or destroy a GL context, and I understand tracking indices and tracking memory... but otherwise I don't understand why it is so centralized | 08:10 |
tupone | macsforme: managing internal buffers and avoid switching between them | 08:10 |
macsforme | and actually, you did rewrite a lot of what I did in the embedded port, where I wrote a class to manage vertex arrays... that makes me sad | 08:11 |
macsforme | https://github.com/macsforme/bzflag-embedded/blob/embedded/include/DrawArrays.h | 08:11 |
macsforme | https://github.com/macsforme/bzflag-embedded/blob/embedded/src/ogl/DrawArrays.cxx | 08:11 |
*** Sgeo <Sgeo!~Sgeo@ool-18b982ad.dyn.optonline.net> has quit IRC (Read error: Connection reset by peer) | 08:12 | |
*** Sgeo <Sgeo!~Sgeo@ool-18b982ad.dyn.optonline.net> has joined #bzflag | 08:13 | |
tupone | maybe VAO can reduce the need of avoid switching but I have not used it yet | 08:15 |
macsforme | we don't have VAOs until OpenGL 3 | 08:16 |
tupone | yes, that is one of the reason :) | 08:16 |
macsforme | nor in OpenGL ES until version 3 | 08:17 |
tupone | So I created big buffers and used it for all the glDrawArrays, changing only the indexes | 08:19 |
tupone | at the beginning I used Vertex/Normal/Texture/Color buffers for all, but then I realize that is a waste of memory. Some Draw uses only vertex and color, some only vertex and normal ... | 08:20 |
tupone | so I created a set for VTN, one for VTC, one for VT ... as needed | 08:21 |
macsforme | what kinds of different components will share a VBO? I could understand for drawing a basic quad, but I don't understand further... | 08:24 |
macsforme | I also don't understand why you are tracking VBO names (allocated and free) and reusing them rather than freeing them when done and then asking for a new one when needed | 08:37 |
macsforme | and you are storing vertices, normals, and texcoords in different buffers, rather than interleaving them into one? | 09:07 |
macsforme | I don't think that's how we want to do it... | 09:09 |
*** sehh <sehh!~sehh@unaffiliated/sehh> has joined #bzflag | 13:40 | |
sehh | hey there | 13:41 |
blast007 | hello | 13:41 |
sehh | anyone knows if its possible to compile just the server part? | 13:42 |
blast007 | yes. what operating system are using? | 13:42 |
sehh | centos 8 | 13:42 |
blast007 | you can disable the graphical client and/or bzadmin by passing some flags to the configure script: ./configure --disable-client --disable-bzadmin | 13:43 |
blast007 | so, if building from our git, it'd be: ./autogen.sh && ./configure --disable-client --disable-bzadmin && make | 13:43 |
sehh | ah nice, I'll give that a try and see how far I get. | 13:43 |
sehh | thanks for the info | 13:44 |
blast007 | you're welcome :) | 13:52 |
sehh | erm | 14:07 |
sehh | configure: error: A c++ compiler with C++0x support is required to build BZFlag | 14:07 |
sehh | I'm missing something | 14:07 |
blast007 | needs g++ installed | 14:11 |
*** I_Died_Once <I_Died_Once!~I_Died_On@unaffiliated/idiedonce/x-1828535> has joined #bzflag | 14:12 | |
blast007 | see README.Linux for the needed dependencies, though some of those are only needed if you're building everything | 14:12 |
blast007 | probably this is enough: yum install gcc-c++ libtool c-ares-devel libcurl-devel zlib-devel | 14:13 |
sehh | I believe I'm missing gcc-c++ | 14:14 |
sehh | I had done 'dnf install gcc cpp make.. etc' only and missed gcc-c++ | 14:15 |
sehh | its compiling right now | 14:15 |
sehh | while waiting to compile, I'll now go read README.Linux :] | 14:17 |
*** sehh <sehh!~sehh@unaffiliated/sehh> has left #bzflag ("Leaving") | 14:38 | |
*** spldart <spldart!~spldart@bzflag/contributor/spldart> has quit IRC (Remote host closed the connection) | 16:12 | |
*** WhatsUpDanger <WhatsUpDanger!0ca73d02@gateway/web/cgi-irc/kiwiirc.com/ip.12.167.61.2> has joined #bzflag | 16:25 | |
tupone | macsforme: my first trial was with interleaving, but on my PC was slower then separate buffers | 17:10 |
tupone | and I use a single vbo for a lot of user buffers. This should avoid as most as possible to save call to gl. | 17:11 |
tupone | not to save, to do. I want to save call :) | 17:12 |
BZNotify | bzflag: atupone synchronized pull request #232 "Vertex buffers object handling" (https://git.io/Je9kl) | 17:26 |
BZNotify | bzflag: atupone synchronized pull request #232 "Vertex buffers object handling" (https://git.io/Je9kl) | 17:35 |
macsforme | tupone: optimizations should not be based on only one GPU/driver/OS combination... especially not an integrated GPU in Linux, which is not representative of the average user's system | 17:38 |
macsforme | my impression was that interleaving vertex data is most optimal, generally speaking | 17:38 |
macsforme | this could be why others who tested got worse performance than with the original code, while you saw an improvement | 17:40 |
macsforme | as far as using a single VBO rather than many, I recognize that you are trying to save GL calls by doing optimizations on the CPU side... but I am skeptical whether the overall benefit will be seen, and will be worth the added code complexity (such as memory management issues, as Flash pointed out) | 17:45 |
BZNotify | bzflag: atupone synchronized pull request #232 "Vertex buffers object handling" (https://git.io/Je9kl) | 17:53 |
macsforme | moriah: did you think of any large event replays that would be good for a stress test/benchmark? | 18:01 |
allejo | oh yea, someone nag me to put up a replay server for some events on Troy's server | 18:04 |
blast007 | allejo: hey, put up a replay server. hey, listen. | 18:07 |
* blast007 ducks | 18:07 | |
allejo | i mean, you're not wrong. but like, later today when I have access to my server lol | 18:08 |
the_map | well, it's later. you have access to your server? | 18:11 |
the_map | :p | 18:11 |
tupone | macsforme: I did to save GL call so GPU can benefit from that. | 18:20 |
tupone | Maybe I'm wrong, But at the beginnning of my work, I was switching and did that change (not switching buffers only if possible) and that improved the FPS | 18:22 |
tupone | I have a doubt about using GL_POLYGON on the GPU buffers. It seems that simple mesh like the one in xs.bzexcess.com have that and changing from client buffers to GPU buffers loose half of FPS. I cannot explain it | 18:25 |
tupone | have 3 buffers clients changed with 3 GPU buffers :/ | 18:27 |
blast007 | fun bit of info about game performance. on linux with a Radeon RX 570 8GB, at 1920x1200 on Rats Nest, with radar turned off I was getting 550FPS. With the fast radar, it drops to about 300, fast sorted to around 270, enhanced to 200, and normal to 120. | 18:36 |
The_Noah | :O | 18:42 |
macsforme | I like how things like the console and radar have more of an impact on framerate than actually rendering the 3D view :-P | 18:56 |
macsforme | allejo: maybe I could just ask you... what is the biggest event (as far as number of players) that we have a replay of? | 18:57 |
allejo | kierra was asking me about that, she thinks some of the replays I have for Troy's server might have some large player counts | 18:58 |
allejo | we'll know once I get the replay server up for it (hopefully tonight) | 18:59 |
blast007 | the stagedSceneGenerator could also be useful as a benchmark. could have a bunch of fixed player/shot locations (though the shots may be limited as they're server-side) | 19:19 |
blast007 | world weapons* | 19:19 |
macsforme | I guess it also matters what kind of objects are in the map, if we're benchmarking the renderers for different object types | 19:31 |
allejo | oooo do the box tower | 20:04 |
blast007 | allejo: this one? https://static.bzexcess.com/boxie_warz.bzw | 20:37 |
blast007 | https://static.bzexcess.com/misc_screenshots/BoxieBenchmark/BoxieBenchmark001.png | 20:37 |
allejo | yup! | 20:39 |
blast007 | and here's the lite version: https://static.bzexcess.com/misc_screenshots/boxes01.png | 20:39 |
allejo | lol | 20:39 |
blast007 | there's also a bunch of old maps here: https://static.bzexcess.com/downloads/bzWorlds/ | 20:46 |
blast007 | (some of them are deal links since I had to build that from what was grabbed by archive.org) | 20:47 |
blast007 | kinda forgot about the old script/program that converted images to BZFlag maps (see the Calvin&Hobbes maps there) | 20:48 |
blast007 | JungleFighter1.0.bzw has a large number of objects | 20:49 |
tupone | Is there a way to reprocess mesh to remove polygon? They are deprecated (and slow) | 21:57 |
WhatsUpDanger | just draw it as a triangle fan | 22:06 |
WhatsUpDanger | void split_poly(const std::vector<Vector3> &verts) | 22:15 |
The_Noah | I just tested the radar and console on Urban Jungle and turning them off makes a bug-huge difference. | 22:38 |
*** Zehra <Zehra!~Zehra@unaffiliated/zehra> has joined #bzflag | 23:32 | |
*** spldart <spldart!~spldart@bzflag/contributor/spldart> has joined #bzflag | 23:52 | |
*** ChanServ sets mode: +v spldart | 23:52 | |
moriah | macsforme: this coming sunday we're having a community event on Troy server to commemorate those gone....T-roy's bday was yest. Sent out pms to all reg'd players & posted to forums. Hopefully it will be large event. Allejo says he'll have replay server for it | 23:52 |
Generated by irclog2html.py 2.17.3.dev0 by Marius Gedminas - find it at https://mg.pov.lt/irclog2html/!