Zyn 🦇🔞
@zyntaks.ca
1K followers 790 following 5.6K posts
🔞 24 / 🇨🇦🏳️‍🌈 / Gooey Bat / Weird Horny Stuff + Programming / PFP by: @onedumbmouse.bsky.social / My Hypno Spiral Site: hypno.zyntaks.ca
Posts Media Videos Starter Packs
Reposted by Zyn 🦇🔞
zyntaks.ca
i've OpenMP'd the everloving fuck out of it :)
zyntaks.ca
tempted to see if I can move this work to the GPU, but that seems silly considering it'll have to round-trip back to the CPU before drawing anyways
zyntaks.ca
wtf, the profiler says my matrix-vector multiplication is taking the most time out of anything, significantly more than even the frustum culling, or sorting every single item
zyntaks.ca
Gonna see if I can load it in MSVC for performance testing. I'm using CLion right now but it can't profile on windows.
zyntaks.ca
curious what's causing the performance diff tbh. Steps are:
- Cull drawn objects - copy to a buffer if they pass the test.
- Generate drawcalls (one obj can have calls for different materials), writing to a buffer with sorting key
- Sort calls
- Draw
On 1 thread w/ glm (hopefully SIMD is in play)
zyntaks.ca
in fact, on my PC with an RTX 2080 TI, I only hit 70FPS or so D:
zyntaks.ca
oh no, it improves perf significantly on my macbook but drops the framerate on my PC XD

Likely because the macbook is using a mobile-style GPU architecture and has better single-core perf.
zyntaks.ca
I got it working! It’s crazy how much time is saved explicitly avoiding drawing things that won’t be drawn anyways :P

Like, I totally get why, the whole vertex pass still has to run for each of those offscreen meshes, but it’s still wild
zyntaks.ca
Appears to be from GuardTek(?) based on the urn://gt/cp?randomnumber url scheme
zyntaks.ca
I’m so so tempted
zyntaks.ca
Just discovered my college has unprotected “checkpoint” NFC tags scattered around, presumably for tracking security guards or something.

They’re not write-protected!!!

They just visit a local URL. :):);):)
Reposted by Zyn 🦇🔞
zyntaks.ca
ofc, the framerates could be much better with instancing, but the main thing I'm testing here is culling individual objects, which will usually be distinct models.
zyntaks.ca
Thinking about how my tuition is paying for several TVs in hallways that just display the school logo 24/7/365 for some reason
zyntaks.ca
i uh... i think my renderer's frustum culling is a bit off
zyntaks.ca
tried profiling but apparently the engine spends 99% of its time in a method called "1" :)
makes sense, sure
cursed profiling output where the program is 99.9% occupied by a method called 1.
zyntaks.ca
15,000 textured cubes, uninstanced, is enough to bring it below 60 fps :(
zyntaks.ca
I’m noticing that if I stress-test my rendering engine on my MacBook, the framerate appears to snap *down* to either 60 or 120, whichever it’s capable of reaching.
Limiting makes sense, but it’s odd to limit it to 60 if it’s somewhere in between. I guess it’s meant to make output look steadier.
zyntaks.ca
In today’s society, electrical connectors are bendy and plumbing connectors are rigid.

That’s why we’re innovating and introducing the world to Really Stiff Cables-
zyntaks.ca
He balloon time 🎈
zyntaks.ca
Most miserable guy in existence: “this is how you’re meant to live your life! I’m a real man, a real American, a real go-getter and I wake up at 3am to rise and grind”
zyntaks.ca
A certain temperament * fuck meeeeee