07:26 <+bridge> [ddnet] :bluekitty: 07:55 <+bridge> [ddnet] 🧂 do u need some? 07:55 <+bridge> [ddnet] 🧂 08:20 <+bridge> [ddnet] https://www.reddit.com/r/rust/comments/sh947t/hvm_a_nextgen_massively_parallel_betaoptimal/ 08:20 <+bridge> [ddnet] any haskell fans? xd 09:01 <+bridge> [ddnet] https://lsd.gnunet.org/lsd0001/ 09:01 <+bridge> [ddnet] interesting project 09:01 <+bridge> [ddnet] (published yesterday) 09:01 <+bridge> [ddnet] https://news.ycombinator.com/item?id=30154830 09:56 <+bridge> [ddnet] @heinrich5991 I can add the force tile layers and map bg today 10:48 <+bridge> [ddnet] @fokkonaut should I reopen the pr? 10:49 <+bridge> [ddnet] I guess 11:55 <+bridge> [ddnet] progress with my pdf parser written with a parser combinators library 11:55 <+bridge> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/938024741539840030/unknown.png 11:55 <+bridge> [ddnet] nested arrays :monkaS: 11:55 <+bridge> [ddnet] :greenthing: 11:55 <+bridge> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/938024829083353148/unknown.png 11:57 <+bridge> [ddnet] since nom went from macros to just functions its way better imho 11:57 <+bridge> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/938025184567373844/unknown.png 11:57 <+bridge> [ddnet] cuz rust-analyzer had a hard time with it xd 12:58 <+bridge> [ddnet] GL 1.x 12:58 <+bridge> [ddnet] GL 3.3 12:58 <+bridge> [ddnet] 1.png 12:58 <+bridge> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/938040685104365608/1.png 12:58 <+bridge> [ddnet] 2.png 12:58 <+bridge> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/938040706939904061/2.png 12:58 <+bridge> [ddnet] and vulkan 12:58 <+bridge> [ddnet] 3.png 12:59 <+bridge> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/938040733972185108/3.png 12:59 <+bridge> [ddnet] text rendering performance 12:59 <+bridge> [ddnet] (for streamed text) 12:59 <+bridge> [ddnet] i hope this will help M1 12:59 <+bridge> [ddnet] moltenVK should not have so much overhead 12:59 <+bridge> [ddnet] vulkan poggers 12:59 <+bridge> [ddnet] did u implement the renderer in vulkan? 13:00 <+bridge> [ddnet] yeah most stuff is finished 13:00 <+bridge> [ddnet] madman 13:00 <+bridge> [ddnet] but todo list still long xD 13:00 <+bridge> [ddnet] ``` 13:00 <+bridge> [ddnet] - viewport & scissor on fly changes (distinct the pipelines better for faster non clipped rendering) 13:00 <+bridge> [ddnet] - implement remaining render* calls (quads and streamed tiles missing) 13:00 <+bridge> [ddnet] - dynamic descriptor pool allocations when needed (maybe smaller pool sizes) 13:00 <+bridge> [ddnet] - implement texture destroy correctly (descriptors missing) 13:00 <+bridge> [ddnet] - v-sync not working? (or just radv bug?) 13:00 <+bridge> [ddnet] - implement new command buffer commands in OpenGL backend 13:00 <+bridge> [ddnet] - disallow alpha textures (new cmd for text textures) 13:00 <+bridge> [ddnet] - screenshots and video recorder not working 13:00 <+bridge> [ddnet] - decide on a heap 13:00 <+bridge> [ddnet] - check other swap chain images, if finished to free resources faster 13:00 <+bridge> [ddnet] 13:00 <+bridge> [ddnet] ``` 13:00 <+bridge> [ddnet] interestingly radeon\_si beats vulkan in a pure GPU bound scenario xD 13:00 <+bridge> [ddnet] xD 13:00 <+bridge> [ddnet] what are valve devs doing (also checked with zink to be sure)+ 13:01 <+bridge> [ddnet] but in CPU bound, vulkan completly destroys opengl 13:02 <+bridge> [ddnet] you can test it, but it will probs consume around 2-3GB VRAM, bcs it doesnt really clear stuff rn 13:02 <+bridge> [ddnet] https://github.com/Jupeyy/ddnet/tree/pr_vulkan 13:02 <+bridge> [ddnet] :monkaS: 13:02 <+bridge> [ddnet] i got only 4gb vram 13:02 <+bridge> [ddnet] xD 13:03 <+bridge> [ddnet] i actually want deen to test it 13:04 <+bridge> [ddnet] he just has to link moltenvk somehow, cant help him with that 13:04 <+bridge> [ddnet] im gonna test it 13:05 <+bridge> [ddnet] if only git downloaded at more than 3mb/s 13:11 <+bridge> [ddnet] idk why i cant checkout that branch 13:12 <+bridge> [ddnet] git remote add jupstar https://github.com/Jupeyy/ddnet.git 13:12 <+bridge> [ddnet] 13:12 <+bridge> [ddnet] git fetch --all 13:12 <+bridge> [ddnet] git checkout jupstar/pr\_vulkan 13:14 <+bridge> [ddnet] ur remote is actually quite big lol 13:14 <+bridge> [ddnet] yes 13:14 <+bridge> [ddnet] its a grave 13:14 <+bridge> [ddnet] maybe do some cleanup xd 13:15 <+bridge> [ddnet] Segmentation fault (core dumped) 13:15 <+bridge> [ddnet] xd 13:15 <+bridge> [ddnet] ``` 13:15 <+bridge> [ddnet] [Switching to Thread 0x7fff967fc640 (LWP 78956)] 13:16 <+bridge> [ddnet] 0x00007fff87a11a24 in ?? () from /usr/lib/amdvlk64.so 13:16 <+bridge> [ddnet] (gdb) bt 13:16 <+bridge> [ddnet] #0 0x00007fff87a11a24 in () at /usr/lib/amdvlk64.so 13:16 <+bridge> [ddnet] #1 0x0000555555601973 in CCommandProcessorFragment_Vulkan::Cmd_Render(CCommandBuffer::SCommand_Render const*) (this=0x5555559b2c50, pCommand=0x555555bda320) 13:16 <+bridge> [ddnet] at /home/ryozuki/Documents/ddnet/src/engine/client/backend/vulkan/backend_vulkan.cpp:1194 13:16 <+bridge> [ddnet] #2 0x0000555555603985 in CCommandProcessorFragment_Vulkan::RunCommand(CCommandBuffer::SCommand const*) (this=0x5555559b2c50, pBaseCommand=0x555555bda320) 13:16 <+bridge> [ddnet] at /home/ryozuki/Documents/ddnet/src/engine/client/backend/vulkan/backend_vulkan.cpp:1805 13:16 <+bridge> [ddnet] #3 0x0000555555605376 in CCommandProcessor_SDL_GL::RunBuffer(CCommandBuffer*) (this=0x5555559b8330, pBuffer=) 13:16 <+bridge> [ddnet] at /home/ryozuki/Documents/ddnet/src/engine/client/backend_sdl.cpp:232 13:16 <+bridge> [ddnet] #4 0x00005555556047ea in CGraphicsBackend_Threaded::ThreadFunc(void*) (pUser=pUser@entry=0x55555593be30) at /home/ryozuki/Documents/ddnet/src/engine/client/backend_sdl.cpp:77 13:16 <+bridge> [ddnet] #5 0x00005555555c12c7 in thread_run(void*) (user=) at /home/ryozuki/Documents/ddnet/src/base/system.cpp:820 13:16 <+bridge> [ddnet] #6 0x00007ffff5193259 in start_thread () at /usr/lib/libpthread.so.0 13:16 <+bridge> [ddnet] #7 0x00007ffff50bc5e3 in clone () at /usr/lib/libc.so.6 13:16 <+bridge> [ddnet] ``` 13:16 <+bridge> [ddnet] https://github.com/ddnet/ddnet/issues/1 13:16 <+bridge> [ddnet] https://github.com/ddnet/ddnet/issues/2 13:16 <+bridge> [ddnet] https://github.com/ddnet/ddnet/issues/3 13:16 <+bridge> [ddnet] https://github.com/ddnet/ddnet/issues/4 13:16 <+bridge> [ddnet] https://github.com/ddnet/ddnet/issues/5 13:16 <+bridge> [ddnet] https://github.com/ddnet/ddnet/issues/6 13:16 <+bridge> [ddnet] https://github.com/ddnet/ddnet/pull/7 13:16 <+bridge> [ddnet] a backtrace for u 13:16 <+bridge> [ddnet] ugh 13:16 <+bridge> [ddnet] the bot went wild 13:16 <+bridge> [ddnet] with dbg\_gfx 3 you'll get all kind of validation layers 13:16 <+bridge> [ddnet] [2022-02-01 13:15:40][gfx]: GPU renderer: AMD Radeon RX 580 Series 13:16 <+bridge> [ddnet] [2022-02-01 13:15:40][gfx]: GPU version: Vulkan 1.3.203 13:16 <+bridge> [ddnet] let me check 13:17 <+bridge> [ddnet] maybe i allocate too much stuff xd 13:17 <+bridge> [ddnet] i just spammed everything with memory 13:17 <+bridge> [ddnet] hm 13:17 <+bridge> [ddnet] my gpu has 4gb vram probs 13:18 <+bridge> [ddnet] it dies after the loading bar 13:18 <+bridge> [ddnet] well i never get to see the menu 13:19 <+bridge> [ddnet] maybe choose a different background map 13:19 <+bridge> [ddnet] https://www.toptal.com/developers/hastebin/feqojoholi.less 13:19 <+bridge> [ddnet] with the dbg gfx 3 13:19 <+bridge> [ddnet] its a validation layer error i guess 13:20 <+bridge> [ddnet] > /build/vulkan-validation-layers/src/Vulkan-ValidationLayers-1.2.203/layers/core_validation.cpp: No such file or directory. 13:20 <+bridge> [ddnet] oh shoot 13:20 <+bridge> [ddnet] am i missing smth? xd 13:20 <+bridge> [ddnet] no idea tbh 13:20 <+bridge> [ddnet] for me they just work ™️ 13:20 <+bridge> [ddnet] it spams a lot of [2022-02-01 13:18:55][vulkan]: allocated chunk of memory with size: 83886080 for frame 0 (buffer) 13:20 <+bridge> [ddnet] [2022-02-01 13:18:55][vulkan]: allocated chunk of memory with size: 1048576 for frame 0 (image) 13:21 <+bridge> [ddnet] yeah 13:21 <+bridge> [ddnet] best is you quickly change storage.cfg to 13:21 <+bridge> [ddnet] 13:21 <+bridge> [ddnet] add\_path $DATADIR 13:21 <+bridge> [ddnet] add\_path $DATADIR 13:21 <+bridge> [ddnet] add\_path $CURRENTDIR 13:21 <+bridge> [ddnet] ``` 13:21 <+bridge> [ddnet] UNASSIGNED-GeneralParameterError-UnrecognizedValue(ERROR / SPEC): msgNum: -1100021871 - Validation Error: [ UNASSIGNED-GeneralParameterError-UnrecognizedValue ] Object 0: VK_NULL_HANDLE, type = VK_OBJECT_TYPE_DEVICE; | MessageID = 0xbe6eff91 | VkValidationFeaturesEXT: value of pEnabledValidationFeatures[0] (32767) does not fall within the begin..end range of the core VkValidationFeatureEnableEXT enumeration tokens and is not an extension ad 13:21 <+bridge> [ddnet] Objects: 1 13:21 <+bridge> [ddnet] [0] 0, type: 3, name: NULL 13:21 <+bridge> [ddnet] ``` 13:21 <+bridge> [ddnet] so it doesnt load useless skins and stuff 13:21 <+bridge> [ddnet] a validation error 13:22 <+bridge> [ddnet] thats an extension 13:22 <+bridge> [ddnet] maybe your GPU doesnt support it, but its not required for rendeering, it just is a synchronization validation layer 13:22 <+bridge> [ddnet] basically like the thread sanitizer 13:22 <+bridge> [ddnet] ``` 13:22 <+bridge> [ddnet] [2022-02-01 13:18:57][vulkan_debug]: Validation Error: [ VUID_Undefined ] Object 0: handle = 0x7fff809c8490, type = VK_OBJECT_TYPE_DEVICE; | MessageID = 0x79de34d4 | vkCmdBindDescriptorSets: required parameter pDescriptorSets specified as NULL. 13:22 <+bridge> [ddnet] ``` 13:22 <+bridge> [ddnet] this one happens just before the crash tho 13:23 <+bridge> [ddnet] yeah i assume you have too much skins or smth like that 13:23 <+bridge> [ddnet] xd 13:23 <+bridge> [ddnet] currently the descriptor pool is static 13:23 <+bridge> [ddnet] maybe 13:23 <+bridge> [ddnet] thats on the todo xd 13:23 <+bridge> [ddnet] xd 13:23 <+bridge> [ddnet] just add a storage.cfg and add 13:23 <+bridge> [ddnet] add\_path $DATADIR 13:23 <+bridge> [ddnet] add\_path $DATADIR 13:23 <+bridge> [ddnet] add\_path $CURRENTDIR 13:23 <+bridge> [ddnet] well ill test again when its "finished" xd 13:23 <+bridge> [ddnet] ok 13:24 <+bridge> [ddnet] it doesnt crash now 13:24 <+bridge> [ddnet] nice 13:24 <+bridge> [ddnet] i get about 3200 fps 13:24 <+bridge> [ddnet] how to force opengl 13:24 <+bridge> [ddnet] is that alot for your GPU\`xd 13:25 <+bridge> [ddnet] you cant in this pr 13:25 <+bridge> [ddnet] ah 13:25 <+bridge> [ddnet] i added some new stuff havent backported yet 13:26 <+bridge> [ddnet] i get 2000 fps with the same map and storage.cfg 13:26 <+bridge> [ddnet] definitly an improvement 13:26 <+bridge> [ddnet] poggers 13:26 <+bridge> [ddnet] epic 13:30 <+bridge> [ddnet] i think its better if instead of a script to compile shaders we do it from cmake 13:30 <+bridge> [ddnet] 13:30 <+bridge> [ddnet] probably more portable 13:30 <+bridge> [ddnet] yeah 13:30 <+bridge> [ddnet] i add it to the todo 13:30 <+bridge> [ddnet] nice 13:34 <+bridge> [ddnet] > void UnloadTextures(IGraphics::CTextureHandle (&aTextures)[2]) 13:34 <+bridge> [ddnet] i think i never seen this syntax before 13:34 <+bridge> [ddnet] its to make sure you use an array of size 2 13:35 <+bridge> [ddnet] is it different to void UnloadTextures(IGraphics::CTextureHandle &aTextures[2]) 13:35 <+bridge> [ddnet] ?' 13:35 <+bridge> [ddnet] does that compile? 13:35 <+bridge> [ddnet] but yeah 13:35 <+bridge> [ddnet] idk xd 13:36 <+bridge> [ddnet] generally added [] does not mean that its an array 13:36 <+bridge> [ddnet] but a pointer xD 13:36 <+bridge> [ddnet] ah 13:36 <+bridge> [ddnet] your way is the c++ way to pass a reference 13:36 <+bridge> [ddnet] instead of a pointer 13:37 <+bridge> [ddnet] xd 13:37 <+bridge> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/938050330195787786/unknown.png 13:37 <+bridge> [ddnet] yeah \:D 13:37 <+bridge> [ddnet] TIL 13:38 <+bridge> [ddnet] > For one, it is often necessary to null-check pointers for safety protocols. 13:38 <+bridge> [ddnet] No, this is stupid, IMO. You don't check for other invalid pointers either. 13:39 <+bridge> [ddnet] xd 13:39 <+bridge> [ddnet] i never read the text when i search for stuff like that xD 13:40 <+bridge> [ddnet] anyway impressive work 13:40 <+bridge> [ddnet] or better\: i prefer manuals over tutorials 13:40 <+bridge> [ddnet] thanks 13:40 <+bridge> [ddnet] well its hard to find what u want in the manual if you don't know the name of what you are searching 13:40 <+bridge> [ddnet] so sometimes tutorials make it easier to find 13:41 <+bridge> [ddnet] true, but then i dont really read it xD 13:41 <+bridge> [ddnet] xd 13:41 <+bridge> [ddnet] atleast not whjat the author thinks or whatever 13:41 <+bridge> [ddnet] i just want to know how it works xD 13:44 <+bridge> [ddnet] ah ye 13:44 <+bridge> [ddnet] xd 14:45 <+bridge> [ddnet] why ddnet use openngl3? 14:45 <+bridge> [ddnet] isnt it old 14:45 <+bridge> [ddnet] there is directx12, or it wont work? 14:46 <+bridge> [ddnet] bro vulkan is newer 14:46 <+bridge> [ddnet] vulkan best 14:46 <+bridge> [ddnet] but yeah opengl 3.3 is from 2006 iirc 14:46 <+bridge> [ddnet] vulkan from 2016, and vulkan 1.1 (what i use) is from 2018 14:46 <+bridge> [ddnet] it's not like support for opengl has an EOL yet 14:47 <+bridge> [ddnet] yeah but opengl really sucks everywhere except linux xD 14:47 <+bridge> [ddnet] newer than directx12? 14:47 <+bridge> [ddnet] dx12 came out in 2014 14:48 <+bridge> [ddnet] yea but thhey update it every month 14:48 <+bridge> [ddnet] no? 14:48 <+bridge> [ddnet] windows doesnt allow opengl drivers to have better access to the framebuffer or other way around, so stuff doesnt really render well in fullscreen 14:48 <+bridge> [ddnet] 14:48 <+bridge> [ddnet] macos completly removed it and has OpenGLonMetal which is kinda slow \:D 14:48 <+bridge> [ddnet] wait so we have more fps on vulkannn than opgl? 14:48 <+bridge> [ddnet] dx12 is good, but its windows only and maybe a little bit easier than vulkan, same with metal(macos) 14:48 <+bridge> [ddnet] vulkan is state of the art \:D 14:49 <+bridge> [ddnet] yeah vulkan in the screenshots outputs 3.3k fps, gl 3.3 2.6k fps 14:49 <+bridge> [ddnet] I'm a big fan of "just pass it off to a graphics library", but I do different things than you guys 14:49 <+bridge> [ddnet] 🥲 its so funn to understand nothing comp with pc, while i will end college soonn as programmer 14:49 <+bridge> [ddnet] yeah i generally understand it, vulkan is overkill for 2d game 14:49 <+bridge> [ddnet] but teeworlds is for tryhards anyway xD 14:50 <+bridge> [ddnet] yeah so wee need that extra 1 fos 14:50 <+bridge> [ddnet] yeah so wee need that extra 1 fps 14:50 <+bridge> [ddnet] THATS THE SPIRIT 15:58 <+bridge> [ddnet] indeed 15:58 <+bridge> [ddnet] gotta reach 10k fps 15:58 <+bridge> [ddnet] dx12 is not crosscomplatible and vulkan is newer and cross compatible 15:59 <+bridge> [ddnet] well, you're there to learn something, not to hear about what you know already. sounds good 16:00 <+bridge> [ddnet] i tested it and got 1.2k more fps on linux 16:01 <+bridge> [ddnet] but this is definitly cuz something is wrong with our opengl stuff, maybe not optimized or because we use 3.3 and not a more modern? 16:01 <+bridge> [ddnet] cuz on dota 2 the fps difference is like 10 when i test vulkan and opengl 16:08 <+bridge> [ddnet] 10times or 10fps 16:08 <+bridge> [ddnet] 10 fps 16:12 <+bridge> [ddnet] i'd say the binding concept of "older" openGL is just too much overhead, e.g. the Multeasy benchmark is also much faster, even tho its very similar vulkan 16:12 <+bridge> [ddnet] 16:12 <+bridge> [ddnet] But for streamed stuff, it's mostly because the advanced memory control, possible that newer opengl is faster. Newer GL is also more bindless, kills alot of CPU overhead 16:13 <+bridge> [ddnet] (similar to vulkan in terms of exectution flow) 16:44 <+bridge> [ddnet] could someone make a github issue for the idea of making blacklist for the server browser? 16:45 <+bridge> [ddnet] i want to avoid exec servers 😳 16:45 <+bridge> [ddnet] Mh, I guess it is more fun that way, but one should really focus on also improving themselves during that time. College curriculums are like a decade behind nowadays :D 18:16 <+bridge> [ddnet] @deen\: wanna try the vulkan thing with moltenvk? I dunno what `brew install molten-vk` exactly installs, but i guess it cant be that hard to get the dependencies right xd 18:19 <+bridge> [ddnet] I have it installed, what now? 18:20 <+bridge> [ddnet] try to build 18:20 <+bridge> [ddnet] https://github.com/Jupeyy/ddnet/tree/pr_vulkan 18:20 <+bridge> [ddnet] i want to improve the M1 performance xd 18:22 <+bridge> [ddnet] You know we have a peak of 1% Mac users? 😄 18:22 <+bridge> [ddnet] well vulkan also works on linux so i am fine 18:22 <+bridge> [ddnet] and maybe it also improves the windows situation 18:23 <+bridge> [ddnet] linux is another 1% 18:23 <+bridge> [ddnet] 😄 18:23 <+bridge> [ddnet] vulkan also works on windows 18:23 <+bridge> [ddnet] xD 18:24 <+bridge> [ddnet] `src/engine/client/backend/vulkan/backend_vulkan.cpp:16:10: fatal error: 'vulkan/vulkan.h' file not found` 18:24 <+bridge> [ddnet] can you somehow view what brew installed? 18:24 <+bridge> [ddnet] I'll just try `brew install vulkan-headers` 18:24 <+bridge> [ddnet] ah sounds good \:D 18:25 <+bridge> [ddnet] Oops, now I have it twice on my system: 18:25 <+bridge> [ddnet] ``` 18:25 <+bridge> [ddnet] ./Cellar/molten-vk/1.1.6/libexec/include/vulkan/vulkan.h 18:25 <+bridge> [ddnet] ./Cellar/vulkan-headers/1.3.204/include/vulkan/vulkan.h 18:25 <+bridge> [ddnet] ``` 18:29 <+bridge> [ddnet] Got it built: 18:29 <+bridge> [ddnet] ``` 18:29 <+bridge> [ddnet] [2022-02-01 18:29:06][gfx]: Created Vulkan 1.1 context. 18:29 <+bridge> [ddnet] zsh: segmentation fault ./DDNet 18:29 <+bridge> [ddnet] ``` 18:30 <+bridge> [ddnet] Crashdump 18:30 <+bridge> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/938124072599035965/message.txt 18:30 <+bridge> [ddnet] ok 18:30 <+bridge> [ddnet] well i dunno if you have alot of custom stuff, but maybe a storage.cfg with 18:30 <+bridge> [ddnet] 18:30 <+bridge> [ddnet] add\_path $DATADIR 18:30 <+bridge> [ddnet] add\_path $DATADIR 18:30 <+bridge> [ddnet] add\_path $CURRENTDIR 18:30 <+bridge> [ddnet] 18:30 <+bridge> [ddnet] can help 18:30 <+bridge> [ddnet] 18:30 <+bridge> [ddnet] Or do ./DDNet "dbg\_gfx 3" 18:30 <+bridge> [ddnet] nothing more 18:30 <+bridge> [ddnet] oh such a short log 18:32 <+bridge> [ddnet] maybe debug build tells you why? 18:40 <+bridge> [ddnet] Only another crash report: 18:40 <+bridge> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/938126556302291074/message.txt 18:40 <+bridge> [ddnet] a shit mb 18:40 <+bridge> [ddnet] #define CONF\_BACKEND\_VULKAN 1 18:41 <+bridge> [ddnet] i only enabled it for linux oups xD 18:42 <+bridge> [ddnet] where? 18:42 <+bridge> [ddnet] just somewhere in backend\_sdl.cpp on top 18:42 <+bridge> [ddnet] black window now 18:43 <+bridge> [ddnet] \:/ 18:43 <+bridge> [ddnet] Log: 18:43 <+bridge> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/938127391233019994/message.txt 18:43 <+bridge> [ddnet] > [mvk-info] vkCreateMacOSSurfaceMVK(): You are not calling this function from the main thread. NSView should only be accessed from the main thread. When using this function outside the main thread, consider passing the CAMetalLayer itself in VkMacOSSurfaceCreateInfoMVK::pView, instead of the NSView. 18:43 <+bridge> [ddnet] This stands out 18:44 <+bridge> [ddnet] oh yeah 18:44 <+bridge> [ddnet] should we switch the main and gpu thread on macos? 😄 18:44 <+bridge> [ddnet] that would probably also fix the crash when moving window around 18:44 <+bridge> [ddnet] why does macos love single threaded so much xD 18:45 <+bridge> [ddnet] if that doesnt break anything sure, but actually vulkan is designed to be multithreaded anyway 18:45 <+bridge> [ddnet] maybe its just this single call 18:45 <+bridge> [ddnet] not quite sure rn how to fix it easily \:D 18:50 < jupstar> ``` void CGraphicsBackend_Threaded::RunBuffer(CCommandBuffer *pBuffer) { /* WaitForIdle(); std::unique_lock Lock(m_BufferSwapMutex); m_pBuffer = pBuffer; m_BufferInProcess.store(true, std::memory_order_relaxed); m_BufferSwapCond.notify_all();*/ m_pProcessor->RunBuffer(pBuffer); } ``` 18:50 <+jupstar> that makes it signel threaded i think 18:54 <+bridge> [ddnet] works, should I test the Multeasymap scenario? 18:54 <+bridge> [ddnet] It crashes on close though 18:54 <+bridge> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/938130277350383646/message.txt 18:54 <+bridge> [ddnet] sure, but i guess single threaded it has a hard time \:D 18:55 <+bridge> [ddnet] yeah i didnt really work on cleanup yet \:D 18:55 <+bridge> [ddnet] is it not possible to go thru the corner of two death tiles? 18:56 <+bridge> [ddnet] No, currently not\: https://status.t2bot.io/ 18:56 <+bridge> [ddnet] 140 fps 18:56 <+bridge> [ddnet] (Release build) 18:56 <+bridge> [ddnet] uff, let me check singlethreaded to compare 18:56 <+bridge> [ddnet] without dbg\_gfx 3? 18:57 <+bridge> [ddnet] well rip, i get 1300 fps xD 18:57 <+bridge> [ddnet] oh i see, thanks for fast reply \:P 18:59 <+bridge> [ddnet] yes, without 18:59 <+bridge> [ddnet] ok RIP, thats extremly underwhelming 18:59 <+bridge> [ddnet] The graph looks weird, it's jumping between 4000 and 0 fps 18:59 <+bridge> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/938131575655247892/Screenshot_2022-02-01_at_18.59.37.png 19:00 <+bridge> [ddnet] mhh thats indeed strange 19:00 <+bridge> [ddnet] i wonder if thats a problem with the threaded stuff 19:01 <+bridge> [ddnet] I can try removing the wait 19:01 <+bridge> [ddnet] ah sure 19:02 <+bridge> [ddnet] Ehm, also my system is at 100%, forgot I'm doing something at the same time. Have to stop that first 😄 19:02 <+bridge> [ddnet] that would defs show that locking is insanly slow on macos for some reason 19:02 <+bridge> [ddnet] OHH OK XD 19:02 <+bridge> [ddnet] day saved \:D 19:02 <+bridge> [ddnet] I don't know how well macOS deals with lots of processes competing 19:02 <+bridge> [ddnet] but the UI feels a bit laggy, similar to Linux 19:03 <+bridge> [ddnet] yeah but bro M1 has to beat this game without laggs xD 19:03 <+bridge> [ddnet] its expensive it must be good ™️ 19:05 <+bridge> [ddnet] 150 fps now, didn't help much 19:05 <+bridge> [ddnet] did you just delete everything in `CGraphicsBackend_Threaded::WaitForIdle` ? 19:05 <+bridge> [ddnet] no, only the crash bug specific waitforidle 19:05 <+bridge> [ddnet] but yeah strange that the graph looks so weird 19:06 <+bridge> [ddnet] MoltenVK graph 19:06 <+bridge> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/938133171130753094/Screenshot_2022-02-01_at_19.05.15.png 19:06 <+bridge> [ddnet] OpenGL graph 19:06 <+bridge> [ddnet] https://cdn.discordapp.com/attachments/293493549758939136/938133200293728306/Screenshot_2022-02-01_at_19.06.04.png 19:06 <+bridge> [ddnet] 1000 fps would be realistic 😄 19:07 <+bridge> [ddnet] is that vsync? 19:07 <+bridge> [ddnet] nope, I thought so too first 19:07 <+bridge> [ddnet] at least gfx_vsync is off, and my screen has 75hz, not 144 19:07 <+bridge> [ddnet] oh ok 19:07 <+bridge> [ddnet] 120 hz is the internal screen though, so maybe something goes wrong 19:08 <+bridge> [ddnet] yeah really weird it caps perfectly to 144hz xD 19:08 <+bridge> [ddnet] on both screens 19:09 <+bridge> [ddnet] hm, maybe you're right. maybe moltenvk does that internally somehow 19:09 <+bridge> [ddnet] all menus show exactly 144 fps 19:09 <+bridge> [ddnet] https://github.com/KhronosGroup/MoltenVK/issues/1407 19:09 <+bridge> [ddnet] 19:09 <+bridge> [ddnet] might be known issue 19:10 <+bridge> [ddnet] https://github.com/KhronosGroup/MoltenVK/issues/1407 19:10 <+bridge> [ddnet] ha, we found the same 😄 19:12 <+bridge> [ddnet] https://github.com/KhronosGroup/MoltenVK/issues/1407 19:12 <+bridge> [ddnet] 19:12 <+bridge> [ddnet] might be known issue 19:13 <+bridge> [ddnet] (bridge delay) 19:14 <+bridge> [ddnet] but i guess i'll still finish the vulkan renderer, ryo and me are just too big vulkan fans xd 19:14 <+bridge> [ddnet] and might be a better solution to #4600 19:14 <+bridge> [ddnet] https://github.com/ddnet/ddnet/pull/4600 19:15 <+bridge> [ddnet] yeah, nice. and let's see again when that bug is fixed 19:58 <+bridge> [ddnet] @deen\: btw have you tried in fullscreen too? does that even work? xdmaybe it is the compositor 19:58 <+bridge> [ddnet] linux 1% but with the most dev support in ddnet :greenthing: 19:58 <+bridge> [ddnet] does the mac m1 come with some kind of gpu? 19:58 <+bridge> [ddnet] or is it integrated 19:59 <+bridge> [ddnet] everything is one one die 19:59 <+bridge> [ddnet] the SSD the RAM 19:59 <+bridge> [ddnet] everything xD 19:59 <+bridge> [ddnet] thats the whole point of that thing 19:59 <+bridge> [ddnet] ah lol 19:59 <+bridge> [ddnet] but i guess its not that good for gaming 20:00 <+bridge> [ddnet] from benchmark sources around in the internet, it should atleast beat my desktop pc 20:00 <+bridge> [ddnet] so that's quite good 20:00 <+bridge> [ddnet] but the price is the biggest problem 20:00 <+bridge> [ddnet] for that price u get a rtx 3090 xd 20:00 <+bridge> [ddnet] ur desktop pc with the vega gpu? 20:00 <+bridge> [ddnet] yeah 20:00 <+bridge> [ddnet] wat 20:01 <+bridge> [ddnet] but vega is also 14nm, it's dated 20:02 <+bridge> [ddnet] i mean its just marketing value, but it seems like everytime the nm changes, there is like 15% more single core perf and like 20-30% more gpu perf 20:02 <+bridge> [ddnet] > The average gaming FPS of Radeon Pro Vega 64 in Fortnite is 4% more, than Apple M1 8 Core GPU. 20:02 <+bridge> [ddnet] xd 20:03 <+bridge> [ddnet] thats insane tho 20:03 <+bridge> [ddnet] that a igpu is this good 20:03 <+bridge> [ddnet] yeah, hardware generally exploded the last years 20:03 <+bridge> [ddnet] the ssd is not on the same die 20:03 <+bridge> [ddnet] i mean rtx 3060 is faster than like rtx 2080 ti xD 20:04 <+bridge> [ddnet] ye 20:04 <+bridge> [ddnet] but i cant buy any modern gpu 20:04 <+bridge> [ddnet] @Ryozuki\: https://www.youtube.com/watch?v=V2HKm6B9EsY 20:04 <+bridge> [ddnet] thanks to crypto bros 20:04 <+bridge> [ddnet] same with fullscreen 20:04 <+bridge> [ddnet] its a meme 20:04 <+bridge> [ddnet] @deen\: ok too bad \:D 20:05 <+bridge> [ddnet] i'd love to know how fast it is xd 20:05 <+bridge> [ddnet] the screen is phenomal btw. I wanted my external screen to be similar and would have to pay ~5000 € for that 20:05 <+bridge> [ddnet] wow why that? 20:06 <+bridge> [ddnet] miniled, 220 ppi 20:06 <+bridge> [ddnet] just looks so much nicer 20:07 <+bridge> [ddnet] i see, but i guess an external monitor isnt even that small is it? xd 20:07 <+bridge> [ddnet] 20:07 <+bridge> [ddnet] but i only care about input delay anyway 20:08 <+bridge> [ddnet] I noticed I don't care much about input delay after a certain level, also barely notice the difference between 75 and 144 hz, only when I look closely. But maybe it's because I don't game enough 20:08 <+bridge> [ddnet] yeah xd 20:08 <+bridge> [ddnet] i think u can notice a lot up to 120hz 20:08 <+bridge> [ddnet] alteast i do 20:08 <+bridge> [ddnet] i even think 165 sucks against 240hz 20:08 <+bridge> [ddnet] but my old TV as screen had horrible delay, 50-100 ms, that felt like being on a remote server 20:08 <+bridge> [ddnet] 240hz sounds crazy given that most games dont pass 100 fps 20:09 <+bridge> [ddnet] bro I AM crazy 20:09 <+bridge> [ddnet] what i want is firefox to fix their shit 20:09 <+bridge> [ddnet] if u have 2 browsers 20:09 <+bridge> [ddnet] and one is on a 60hz screen 20:09 <+bridge> [ddnet] the other on 144hz is fps locked 20:09 <+bridge> [ddnet] (on linux i3) 20:09 <+bridge> [ddnet] i manually set the FPS in firefox 20:09 <+bridge> [ddnet] bcs for me it capped to 60fps, very annoying 20:10 <+bridge> [ddnet] how? 20:10 <+bridge> [ddnet] it caps to 60fps for me too 20:10 <+bridge> [ddnet] when i have a tab on the 60hz display 20:10 <+bridge> [ddnet] (for all tabs) 20:10 <+bridge> [ddnet] i just searched and found something on reddit, maybe i'll find it 20:10 <+bridge> [ddnet] :feelsbadman: 20:11 <+bridge> [ddnet] ddnet in 2022: Vulkan render and migration to postgresql 20:11 <+bridge> [ddnet] :greenthing: 20:11 <+bridge> [ddnet] why there is a bot tag 20:11 <+bridge> [ddnet] next to ur name 20:11 <+bridge> [ddnet] i AM a bot 20:11 <+bridge> [ddnet] cuz he is on matrix 20:12 <+bridge> [ddnet] its a bridge bot 20:12 <+bridge> [ddnet] layout.frame\_rate 20:12 <+bridge> [ddnet] dunno if there were more configs 20:15 <+bridge> [ddnet] https://en.wikipedia.org/wiki/Bus_factor 20:15 <+bridge> [ddnet] funny term 20:15 <+bridge> [ddnet] what is ddnet's bus factor? 20:15 <+bridge> [ddnet] :monkalaugh: 20:16 <+bridge> [ddnet] > The term was first applied to software development, where a team member might create critical components by crafting code that performs well, but which also is unavailable to other team members, such as work that was undocumented, never shared, encrypted, obfuscated or not published. Thus a key component would be effectively lost as a direct consequence of the absence of that team member, making the member key. If this component was key t 20:27 <+bridge> [ddnet] https://news.ycombinator.com/item?id=30163983 20:27 <+bridge> [ddnet] lol 21:12 <+bridge> [ddnet] It's a good time for DB startups 21:13 <+bridge> [ddnet] Also, I only just realized SAP's MaxDB is written by the same guy who made MySQL and MariaDB (all named after his children Max, My and Maria) 21:21 <+bridge> [ddnet] interesting fun fact indeed, who names their kid My tho xd 21:21 <+bridge> [ddnet] i thought it's litteraly "my sql" 23:33 <+bridge> [ddnet] [Jupstar ✪](https://matrix.to/#/@jupeyy:matrix.org)\: is convicted botter 23:33 <+bridge> [ddnet] (@Kaan)