Guild icon
DDraceNetwork
Development / developer
Development discussion. Logged to https://ddnet.tw/irclogs/ Connected with DDNet's IRC channel, Matrix room and GitHub repositories — IRC: #ddnet on Quakenet | Matrix: #ddnet-developer:matrix.org GitHub: https://github.com/ddnet
Between 2022-04-19 00:00:00Z and 2022-04-20 00:00:00Z
Avatar
Avatar
Ryozuki
well that guy is just aasking features like they are free candy
kek
04:50
u
Avatar
Since we don't have full C++17 support with the GCC version there.

Checklist

  • [ ] Tested the change ingame
  • [ ] Provided screenshots if it is a visual change
  • [ ] Tested in combination with possibly related configuration options
  • [ ] Written a unit test if it works standalone, system.c especially
  • [ ] Considered possible null pointers and out of bounds array indexing
  • [ ] Changed no physics that affect existing maps
  • [ ] Tested the change with [ASan+UBSan or valgrind's m...
Avatar
i hate debian 9 now
Avatar
b9fc6bc add livefreeze commands to rcon - edg-l 50e6744 fix typo - edg-l 6b15abe put it above left up down - edg-l 08f856d Merge #5004 - bors[bot]
07:55
f596a1d Add 15 € donation by ~FallenKing~ - def-
Avatar
will tune prediction get fixed
Avatar
fix it urself
08:17
greenthing
Avatar
4e3d5c5 Get rid of optional, not available on Debian9 build - def- e06b3d9 Merge #5007 - bors[bot]
Avatar
Avatar
lynn
will tune prediction get fixed
What is broken about it? Do we have an issue on it?
Avatar
Avatar
Ryozuki
i hate debian 9 now
My condolences
Avatar
Avatar
Learath2
What is broken about it? Do we have an issue on it?
according to Sorah there's an issue with dragger-related tuning, showing connections to tees even if laser_bounce_delay is 0 (edited)
08:40
removing antiping fixes this
08:40
im not sure if there's an issue for it, it's an odd one to search for
Avatar
Um what would laser_bounce_delay even mean in the context of draggers? 😄
08:41
I don't see the tuning referred to in dragger.cpp
Avatar
i dont really understand how it works personally but it should not show the laser when the tee gets teleported
08:41
it's easy to replicate on my Volleyball map
Avatar
3b742cc Add 15 € donation by Auftragsmöwe - def-
Avatar
[quakenet] lynn BOT 2022-04-19 10:43:24Z
irc moment
Avatar
lol did debian edit the LTS release death date?
14:42
i could swear it was 2023 last time i looked
14:43
ah we chose ubuntu18
14:43
right
Avatar
I think Ubuntu for CI tests, but Debian for official build since Debian uses an older glibc
Avatar
i think our current glibc dependencies are pretty low
Avatar
debian 9 ends july right?
14:46
can we use c++20 then
Avatar
not even from 2016 or whenever debian 9 is from
Avatar
Avatar
Ryozuki
debian 9 ends july right?
ubuntu18
14:46
is the problem xd
14:46
ok we probs static link c++ right?
14:47
so it might be fine
Avatar
GCC does not yet support full C++20 anyway, so you definitely can't use all features
14:47
c++17 then
Avatar
if newer libc symbols arent used it wont matter theoretically xd
Avatar
Yes, C++17 should be mostly fine with GCC 7, only feature lists GCC 8: https://gcc.gnu.org/projects/cxx-status.html#cxx17
Avatar
DR: [[nodiscard]] for constructors [[nodiscard]] with message c++20 has some quality of life stuff
14:49
and i hope c++2248 then finally supports char8_t so, that we dont have to care about passing UTF8 around anymore cross platform xd
Avatar
is nodiscard used to not ignore return values?
14:49
like rust must_use?
Avatar
probs
14:49
c++17 already supports it
Avatar
but c++20 makes it better xd
Avatar
but it's nice to have a custom error message
14:50
explaining why you have to use the return value
Avatar
Avatar
Learath2
What is broken about it? Do we have an issue on it?
tunning for collision is broken too
15:08
you can see it on the oco map
Avatar
How did these things even break without anyone noticing:/
15:09
I might take a look if ddnet decides to compile on mac this week
Avatar
on oco map collision is turend off for the complete map
Avatar
can someone use nightly really quick with opengl and confirm that its broken rn?
15:09
i guess i broke it somehow
Avatar
but it struggles because of prediction. and somehow ddnet overwrites this collision paramter
Avatar
Avatar
Jupstar ✪
i guess i broke it somehow
Tuning? What does that have to do with gl?
Avatar
not tuning related
15:10
i just want confirmation that my setup isnt broken
15:10
but that i broke the code
Avatar
Avatar
Jupstar ✪
i guess i broke it somehow
I can build it... takes maybe 5min xD
Avatar
xd
15:11
viewport is wrong and i worked on that, but only vulkan, but maybe smth broke it xd
Avatar
@Jupstar ✪ you could always do a git stash save and check if your change broke it
Avatar
can also try old version if its not my setup xd
15:13
else it must be one of the last 2-3 prs from me
15:15
somehow fullscreen related xd
Avatar
you mean this:
Avatar
yes
Avatar
xd
Avatar
but in window it works
15:20
partially
Avatar
[quakenet] ChillerDragon BOT 2022-04-19 15:20:47Z
Yo @Ryozuki do you know makedeb? https://docs.makedeb.org/introduction/welcome/ this seems to be "yay" for debian haha https://github.com/AFK-OS/una
A simplicity-focused packaging tool for Debian archives.
Una (Una's Not APT) - A complete MPR helper. Contribute to AFK-OS/una development by creating an account on GitHub.
Avatar
dropdown is broken
Avatar
i dont use debian
15:21
only for sv
Avatar
[quakenet] ChillerDragon BOT 2022-04-19 15:21:19Z
u used too and still
15:21
PolyMC ppl advertise that on debian install page
15:21
An Open Source Minecraft launcher with the ability to manage multiple instances, accounts and mods. Focused on user freedom and free redistributability.
Avatar
dropdown is broken in all window setting with opengl
15:23
but it must be in graphics_threaded.*
15:23
i am just blind xD
Avatar
I can at least tell you in f60ae47be10a282cc7b5d7bab7a275c223ba916b from 12.04 it worked xD
Avatar
ah
15:24
found it
15:24
2x m_ScreenWidth
Avatar
why does this happen so often xD too much copy pasta
Avatar
wrong from 50f9aa88d334365f3225d5c0347920f9e750549e

Checklist

  • [x] Tested the change ingame
  • [ ] Provided screenshots if it is a visual change
  • [ ] Tested in combination with possibly related configuration options
  • [ ] Written a unit test if it works standalone, system.c especially
  • [ ] Considered possible null pointers and out of bounds array indexing
  • [ ] Changed no physics that affect existing maps
  • [ ] Tested the change with [ASan+UBSan or valgrind's memcheck](https...
Avatar
0b5122d Fix wrongly used viewport parameters - Jupeyy 001ccca Merge #5009 - bors[bot]
Avatar
@Jupstar ✪ after spending too much time with trying that other solution, I took a step back and tried to figure out what exactly is wrong and how to best fix it. turns out, I only need an srgb_to_rgb function in the shader and call it on the sampled color from the texture, before mixing it with the other colors
Avatar
ok still weird
15:55
that also means the backend converted the flat images to srgb at some point?
15:55
but why isnt there a flat RGB texture format
15:55
impossible xd
Avatar
I'm not sure exactly, but I suppose its a side effect of rendering to an srgb texture
Avatar
ok
Avatar
its weird
15:56
but now it renders nicely with webgl :)
15:56
I'm gonna try to rly soon
Avatar
kinda inverted function * normal function = neutral element xD
Avatar
yeah ^^
Avatar
and can i also compile to native code?
Avatar
yes, runs on both
Avatar
cool
Avatar
much much more fps on native
Avatar
yeah
15:57
thats what i am interested in xD
15:57
the difference
15:58
for the ddnet web client its huge
15:58
10k vs 300fps xd
15:59
but since pthreads are badly supported and GLES3 might use some workarounds to work on webgl2 i dunno what causes the bottleneck
15:59
or if browsers are that slow
Avatar
rust wgpu right?
Avatar
or maybe javascript only allows certain amount of FPS
Avatar
Avatar
Ryozuki
rust wgpu right?
yeah
Avatar
but zooming out also was worse
15:59
so no idea
Avatar
There is a ddnet web client?
Avatar
its just ddnet compiled for webasm
Avatar
or another source?
Avatar
Avatar
Tater
There is a ddnet web client?
https://aliveclan.de/ddnettest/load_map.html using render demo you will load the full client render map is stripped down tho keep in mind it has no HTTP/curl or UDP support
16:01
since curl has no websockets backend and UDP wont work on websockets
Avatar
yes, but only till the end of "The Pipeline", after that I mostly used the docs and rarely came back to the tutorial for documentation
Avatar
-20% waifu pfp
Avatar
on dm1, zoomed out to full map: for me its 80 fps in firefox, where I have many tabs open, 140 in chromium with it being the single tab, ~2800 with the vulkan backend, not sure where the bottlenecks are
Avatar
ok i see
16:03
yeah firefox was slwoer for me too
16:03
and zooming completly broke firefox
16:04
while chrome still worked
Avatar
Avatar
Jupstar ✪
-20% waifu pfp
monkaS
Avatar
zooming works fine for me, and with practically no performance overhead ^^
Avatar
i used a huge map
16:04
maybe that makes a difference
Avatar
which one is it?
Avatar
gimme a second
Avatar
can you link it in heinrichs collection?
Avatar
Back in Time 3.map
16:06
its a official ddnet map but let me find the link
Avatar
its not yet in heinrichs collection
Avatar
ah, nice
Avatar
then one zoom step further for unknown reason
16:08
16:08
from 200 fps to 30fps
16:08
on firefox
16:09
dunno if its some weird mipmap glitch
16:09
but on chrome it doesnt happen
Avatar
maybe it somehow maps around VRAM to safe memory on the host and then has to load it or smth like that
16:11
you generate the vertices different @Patiga , maybe its better for u 😄
Avatar
yeah, I'm not sure if my approach will be faster in the end, thought so in the start
Avatar
it wont be faster than ddnet ones if u mean that 😛
Avatar
for tilemaps I just use one quad that fills the entire screen, and the fragment shader does the rest
16:12
why? ^^
Avatar
let me look into your shader again
16:14
u dont use mipmaps?
16:14
ok dunno how old the shaders are u sent me
16:14
color is float
Avatar
yeah I don't have mip maps yet
Avatar
maybe ur buffers are even a bit bigger than DDNets ones
16:15
i dunno what groupinfo is used for
Avatar
group info just has the group offset in it
Avatar
so you use local groups?
Avatar
but my buffers are also constant, is that also like that in the ddnet code?
Avatar
yes
16:16
but we use more drawcalls instead of drawing too much
16:16
to save time on the GPU
Avatar
it kinda mimics the map format, map consists of groups of layers
Avatar
ok
Avatar
how does ddnet do it? always render a constant amount of tiles, repeating if its not enough?
Avatar
well best is to show u
16:17
gimme a second
16:18
16:19
one row at a time but from the same buffer and never too much
16:19
so the GPU state never changes
16:19
the rasterizer should detect no fragment overlapping
16:20
so its nicely batched on the fragment stage
Avatar
and what is contained in the buffer for the tiles?
Avatar
layout (location = 0) in vec2 inVertex; #ifdef TW_TILE_TEXTURED layout (location = 1) in vec3 inVertexTexCoord; #endif
16:21
5 * 4 bytes
16:21
and 3 coordinates
16:21
bcs we use 2d array textures
Avatar
Avatar
Jupstar ✪
and 3 coordinates
3 texture coordinates*
16:22
no other data is streamed tho
16:22
so saves a bit of bandwidth
Avatar
I don't get it yet, you have a buffer that contains the vertices of a row of tiles?
Avatar
yeah every tiles row to row
16:24
and then additionally the CPU has information about tile offsets
16:24
thats why everyone is mad at me that is uses a lot of RAM xd
16:24
but it has direct access, without any calculations xd
Avatar
ah so the cpu sends the gpu each row of tiles, essentially
16:25
and does the cpu calculate the coordinates of the vertices, or are they precomputed somehow?
Avatar
it basically says render from this offset in the buffer, this amount of tiles
16:25
and then per row
16:25
all precomputed
16:25
it just starts draw calls and sets the tile color
Avatar
wait it sends offset + amount of tiles, so is that buffer just a row of tiles or is it the entire 2d tile layer?
Avatar
on the GPU it does only save what it uses
16:27
on the CPU it saves the offset per tile and stores 1 bit, if the tile is active or not
Avatar
okay could we maybe start at the beginning? we are on the cpu and have a 2d array of tiles, so what do we compute as the cpu?
Avatar
first we calculate all vertices of all tiles that are not index 0
16:28
upload all vertices to gpu
16:29
now we on the CPU we see how big the current scene is
16:29
first tile index of the first visible tile will contain the index of the current tile offset that is about to render
Avatar
now we see how many tiles there are to render in this line
16:29
and that repeats per line
Avatar
yeah that sounds good, I might need to try that to
16:31
and that way I also see how it can be much faster, since its just primitive draw calls, that should be fast
16:31
my approach scales better tho :>
Avatar
^^
16:31
how do you render border tiles btw?
16:31
or do you simply not
Avatar
i managed to beat the native driver in a instanced rendering optimization: https://github.com/Jupeyy/ddnet/commit/67c1ab36cc8db0cd49e976d2dfaaeacbb723c009 but its only like 35fps to 42fps when zooming out far (edited)
16:32
and below that its not really worth it
Avatar
so on my setup the gpu simply has the 2d array of tiles. in the frament shader it indexes into that texture, clamping between 0 and max_tiles
Avatar
border rendering is really most challenging one in optimization without storing data from a previous frame
16:33
the GPU clock speeds are simply too low
16:33
looping 4k tiles is slow
Avatar
hmm, yea
Avatar
especially the border cornes(not the left right top bottom lines, they are kinda ok) 😄
Avatar
I wonder what kind of optimizations could be found for that the-fragment-shader-does-everything-for-the-tilemaps approach
Avatar
what is that xd
16:34
i dont get it
16:34
u want to skip the vertex shader?
Avatar
nah maybe that fragment shader could be written more efficiently
Avatar
border tiles, ns shoot up XD
16:36
which program is that?
Avatar
renderdoc
Avatar
[quakenet] ChillerDragon BOT 2022-04-19 17:26:42Z
@Ryozuki when new blog post explaining the network code?
17:28
A retro multiplayer shooter. Contribute to ChillerDragon/teeworlds development by creating an account on GitHub.
Avatar
line 291?
17:32
or ~312 for the conn case
Avatar
[quakenet] ChillerDragon BOT 2022-04-19 17:34:18Z
But isnt that called after it is being used already?
17:38
Stockfish 15 continues to push the boundaries of chess, providing unrivalled analysis and playing strength. In our testing, Stockfish 15 is ahead of Stockfish 14 by 36 Elo points and wins nine times more game pairs than it loses.
17:38
greenthing
Avatar
36 elo, that's at least 3 washing machines
Avatar
Avatar
[quakenet] ChillerDragon
But isnt that called after it is being used already?
?
17:52
its not being used there
Avatar
[quakenet] ChillerDragon BOT 2022-04-19 17:54:15Z
``unsigned char *pEnd = m_Data.m_aChunkData + m_Data.m_DataSize;
17:54
aaa
17:54
unsigned char *pEnd = m_Data.m_aChunkData + m_Data.m_DataSize; this line is reading/using m_Data.m_aChunkData isnt it?
Avatar
it sets a pointer to the final size to later on compare against
Avatar
is it possible for windowed mode to have a border? for me it's just shows the game on top of my desktop with no title bar, but I assume that's intentional.
Avatar
Avatar
Tater
is it possible for windowed mode to have a border? for me it's just shows the game on top of my desktop with no title bar, but I assume that's intentional.
no
19:33
windowed = normal window
19:33
with title and everything
Avatar
why can't I see the title then
Avatar
press META + KEY UP
Avatar
the windows key
19:34
super key
Avatar
kde calls it meta key xd
Avatar
that works ty
Avatar
@ChillerDragon gamelayer gets not selected in latest master with Ctrl+Right click tested on cave fly
Avatar
[quakenet] tee BOT 2022-04-19 20:03:18Z
hi
20:03
anyone here?
Avatar
Avatar
[quakenet] tee
anyone here?
I think so 😄
Avatar
this should not be directly merged as it changes the physics of maps When a player was solo, plasma turrets always fired whether they were on or off. This changes the physics of all maps that use P...
Exported 279 message(s)