@dotstdy@mastodon.social
@dotstdy@mastodon.social avatar

dotstdy

@dotstdy@mastodon.social

phd in branch predicting, ceo of euro gaming

This profile is from a federated server and may be incomplete. Browse more on the original instance.

dotstdy, to random
@dotstdy@mastodon.social avatar

One thing that I think really needs to happen is that datacenters are treated more like "Industry" and are forced to actually report their resource consumption publicly. The bullshit games of obfuscation from google, microsoft, facebook, et al, need to end.

dotstdy, to random
@dotstdy@mastodon.social avatar

Unironically wrote linked list cycle detection today with the tortoise and hare trick. Made it out of the interview brain teaser and into real life.

dotstdy, to random
@dotstdy@mastodon.social avatar

Heck yeah, now I can use a bpf program to disable preemption in my spinlock bodies! Checkmate spinlock haters. (It doesn't actually allow this) https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=55d30cc90fd4

dotstdy, to random
@dotstdy@mastodon.social avatar

The Firefox mobile app is really not good :(

dotstdy,
@dotstdy@mastodon.social avatar

@DenJohn on Android, where it frequently hangs and needs to be manually killed and restarted.

dotstdy,
@dotstdy@mastodon.social avatar

@DenJohn it doesn't crash, the whole app locks up and stops responding until you kill and restart it.

dotstdy,
@dotstdy@mastodon.social avatar

@gabrielesvelto @DenJohn Sounds quite similar at least, yeah. Though I haven't really narrowed it down to a cause. Sometimes I'm just using it and it gets stuck.

dotstdy, to random
@dotstdy@mastodon.social avatar

So now we have replaced the fast fixed-function UI text rendering with an extremely slow (and probably slightly incorrect) compute version. Success? I guess so.

https://github.com/jsimmons/narcissus/commit/3851fb6d2cf8c5d56ecb029a12476dd1d220c10b#diff-84a451052161b35dc8c74ea47c846ed82d81a4951010407196e1b36997840f52

dotstdy,
@dotstdy@mastodon.social avatar

@pervognsen that's next, yarp. yoda_patience.gif

dotstdy, (edited )
@dotstdy@mastodon.social avatar

@pervognsen Yeah, that's the basic plan. One extra caveat is that will do all UI rendering through this path, so it will also have a primitive type packed in there somewhere too. And perhaps an explicit (stable) sort on depth per tile, rather than relying on order as it does now. Oh plus the extra stage of moving this and presentation to async compute, which I don't have hooked up at all yet. :)

dotstdy,
@dotstdy@mastodon.social avatar

@pervognsen Yeah, that's actually how it used to work before too. Since it was info packed into the vertex buffer, type + index + a bit of extra data in each vertex. I just removed that layer for now to make it slightly simpler to get running. Thankfully it didn't really take much messing around and kinda "worked" first go (caveat for mostly ignoring blending, and also for almost certainly being off by some degree on the pixel centers).

dotstdy, to random
@dotstdy@mastodon.social avatar

the phrase "blazingly fast" really upsets me

dotstdy,
@dotstdy@mastodon.social avatar

@pervognsen LOL, personally I was impressed by the "try changing your compiler flags" guy

dotstdy,
@dotstdy@mastodon.social avatar

@pervognsen the more zeroes the better the benchmark. It is known.

dotstdy, to random
@dotstdy@mastodon.social avatar

Bug of the week (nay, year) it turns out was caused by a mix of bad data setup in a particular area, combined with hashmap[key] inserting an item if no such item existed. I think this particular behavior is a pretty common source of quite painful bugs, and shoutout the colleague who finally debugged it.

dotstdy, to random
@dotstdy@mastodon.social avatar

"the good AI can do for t̶h̶e̶ ̶w̶o̶r̶l̶d̶ my bank account will outweigh its environmental impact" - microsoft

pervognsen, (edited ) to random
@pervognsen@mastodon.social avatar

Another thing I noticed in the SDL 3 preview (which was apparently already added in vestigial form later in SDL 2) is that they have support now for a callback-based life cycle so you can integrate properly with platforms which expect that without having to resort to inversion-of-control hacks like fibers for interop. While I always liked the "app controls the main loop" aspect of the classic SDL event pumping model, that ship has sailed if you care about cross-platform support.

dotstdy,
@dotstdy@mastodon.social avatar

@pervognsen @floooh yeah, then you can also use a mailbox style present instead of fifo too. granted, you still need to do something about the 8Khz mouse situation, and if you're delaying to a frame boundary you're back to the original issue of where to put that boundary.

dotstdy,
@dotstdy@mastodon.social avatar

@pervognsen @floooh you can move the time dependent stuff, but how you batch and process the input events has the same problem as the ordinary event loop, since you want to batch as late as possible and also bound the swapchain depth. If you're on a desktop card you can probably render much faster than present, but perhaps you don't want to render at 2000Hz because every mouse event triggers a render.

dotstdy,
@dotstdy@mastodon.social avatar

@pervognsen @floooh unrelated note: the cursor is not actually on a separate plane in Wayland / Linux and it causes all the hilarious issues you might imagine with VRR. (I think more accurately it's on a separate plane but the "every frame is perfect" design goal of Wayland means they don't commit it separately, so it has a lot of weird interactions between the compositor and a vrr app)

dotstdy,
@dotstdy@mastodon.social avatar

@pervognsen @floooh right, my point there is just that in that scenario you're not improving latency at all. Since your input events are just queuing changes for the next render call. It's only better for latency if you're really jamming those renders immediately with a swapchain that isn't 5 images deep.

dotstdy,
@dotstdy@mastodon.social avatar

@pervognsen @floooh yeah, I guess you're right there. It's not entirely queuing free, but as the render time approaches zero it's going to be fine. This is after all why so many toolkits like the approach. It just just breaks down if you have non-trivial rendering work. I think mixing event based and animated content is also going to be interesting.

pervognsen, to random
@pervognsen@mastodon.social avatar

There's a retired couple living in my mom's apartment complex who seems to spend 12 hours every day sunbathing outside during the summer months. They did this when we were visiting last year and they're continuing the streak apparently. After you've lived in a warm climate for a while, the whole idea of sunbathing starts to seem obscene, but this is something else.

dotstdy,
@dotstdy@mastodon.social avatar

@pervognsen @msinilo @BartWronski @neilhenning yeah it's a very strange feeling, to go back. i can certainly understand why people get "homesick" for that deep familiarity. even if i slightly judge them for it... :')

pervognsen, (edited ) to random
@pervognsen@mastodon.social avatar

Thanks to whoever mentioned Vivaldi the other day. I've been giving it a try and liking it so far. Not sure how I feel about it still being Chromium based but I like pretty much everything Vivaldi is doing in terms of usability and design, so far.

dotstdy,
@dotstdy@mastodon.social avatar

@chandlerc @pervognsen the gaming one is tricky to pin down because it's very vibes driven. Eg if you go back and read the discourse around horse armor at the time, it's very wild considering how much that is accepted now. It's also muddied by the outrage cottage industry. But yeah, I think for me at least the main thing is that in the case of something like YouTube premium it doesn't seem realistic that it would change their core revenue model. And that core model determines things I care about

pervognsen, (edited ) to random
@pervognsen@mastodon.social avatar

This GH issue is pretty funny, but seems to have finally gotten the ball rolling on the Wayland side after the threat/worry that SDL 3.0 might not support Wayland natively (more specifically, it would not select SDL's Wayland backend by default) due to some issues that made it untenable for games. https://github.com/libsdl-org/SDL/pull/9345

dotstdy,
@dotstdy@mastodon.social avatar

@pervognsen Aye, I completely gave up on the wayland community after that debacle. It's very weird to be trying to convince people they should aim to make things work. :') I also sent a few emails trying to describe how game main loops actually function and why it's important that they function that way. But to no avail. WCYD

dotstdy, (edited )
@dotstdy@mastodon.social avatar

@pervognsen LOL yeah, that's a good point. The best one imo is games like Elden Ring which detect you messing with the frame rate in the anti-cheat. So if you play ER on wayland and tab away from the game you get booted with an anti-cheat message and have to restart the entire game to go online again. On the other hand, it would make it a lot easier to cheat dodge damage in New World, so who's to say whether it's bad or not.

  • All
  • Subscribed
  • Moderated
  • Favorites
  • megavids
  • khanakhh
  • kavyap
  • thenastyranch
  • everett
  • tacticalgear
  • rosin
  • Durango
  • DreamBathrooms
  • mdbf
  • magazineikmin
  • InstantRegret
  • Youngstown
  • slotface
  • JUstTest
  • ethstaker
  • ngwrru68w68
  • cisconetworking
  • modclub
  • tester
  • osvaldo12
  • cubers
  • GTA5RPClips
  • normalnudes
  • Leos
  • provamag3
  • anitta
  • lostlight
  • All magazines