HackerTrans
TopNewTrendsCommentsPastAskShowJobs

FragmentShader

no profile record

comments

FragmentShader
·2년 전·discuss
We know MacOS is Unix. We know Linux server runs most of the internet. We know Android is Linux. Thanks for your input.

We were obviously talking about the classic Linux Desktop distros, and based on the whole conversation you should know that. If ChromeOS and Android were categorized as Linux distros, then nobody would hate/love Linux Desktop per se.
FragmentShader
·2년 전·discuss
> This isn't 2010 any more.

I've used Linux Desktop for 2 years in 2018 for IT studies, it was mandatory. We were like 20 students and there was a new Linux-related complaint, timewaste and workaround every day. Nobody got their degree and thought "Y'know what? i'm gonna use linux at home!"

I still use Linux for servers nowadays, though.

> If you're doing any dev work at all native linux will cause way less headaches than WSL/mingw or whatever.

I use visual studio and I don't dev for linux, so I don't have this problem.

> Even the old folks in my family are all using linux these days because everything they do is in a browser and it's easier for them than windows.

If all you do is use a web browser, you might as well just use a chromebook.

> That and microsoft constantly changing things out from under you and reverting settings

My settings are never touched, but I agree they sometimes change stuff in a way that bothers me. Like, removing file explorer functionality in W11 and remaking it months later. But they usually make up for it by adding other cool features. Such as native (but slow) unzipping, file explorer tabs, power toys and so on.
FragmentShader
·2년 전·discuss
i'd rather have MS taking 8GB away from my 1TB disk than having Linux taking away at least 6 hours of my life per week cause something broke or cause I have to hoop through the entire internet to install or configure some shit that could've been a single click in windows.
FragmentShader
·2년 전·discuss
> but when you create your own engine you are _fiercely_ aware of _everything_ it can and can't do

The problem is that if you start gamedev by making engines, then you aren't aware of what you need to do.

To give an example, if you make font rendering and looks blurry/pixelated, what now? Oh, and a simple 2D game takes 8 seconds to load, wonder why?

Meanwhile, if you have ever made a Unity game, chances are you already know the keywords "SDF" and "Texture compression", because you tore down an already big engine for optimizing your game and accidentally learned about what features a game needs.
FragmentShader
·2년 전·discuss
Is there any software that can generate CSS visually by combining nodes in a graph, akin to shader graphs in game engines? (https://unity-connect-prd.storage.googleapis.com/20200902/le...). It'd be so useful for stuff like this.
FragmentShader
·2년 전·discuss
The problem is that it's gonna be hard to use WebGPU in such cases, because when you go that "high" you usually require bindless resources, mesh shaders, raytracing, etc, and that would mean you're a game company so you'd end up using platform native APIs instead.

Meanwhile, for web, most web games are... uhhh, web games? Mobile-like? So, you usually aim for the best performance where every shader ALU, drawcall, vertex and driver overhead counts.

That said, I agree on your take. Things such as this (https://voxelchain.app/previewer/RayTracing.html) probably would run way worse in WebGL. So, I guess it's just a matter of what happens in the future and WebGPU is getting ready for that! I hope that in 10 years I can have at least PBR on mobiles without them burning.
FragmentShader
·2년 전·discuss
> The webgpu and webgl apis are pretty different so im not sure you can call it “technically the same code”.

Isn't Bevy using WGPU under the hood, and then they just compile with it both WebGL and WebGPU? That should be the same code Bevy-wise, and any overhead or difference should be caused by either the WGPU "compiler" or the browser's WebGPU.
FragmentShader
·2년 전·discuss
> I think a better comparison would be more representative of a real game scene, because modern graphics APIs is meant to optimize typical rendering loops and might even add more overhead to trivial test cases like bunnymark.

I know, but that's the unique instance where I could find the same project compiled for both WebGL and WebGPU.

> Either way your graphics driver should be receiving roughly the same commands as you would when you use Vulkan or DX12 natively or WebGL, so there might be something else going

Yep, I know. I benchmarked my program with Nsight and calls are indeed native as you'd expect. I forced the Directx12 backend because the Vulkan and OpenGL ones are WAYYYY worse, they struggle even with 1000 triangles.

> That said though, they're already comparable which seems great considering how little performance optimization WebGPU has received relative to WebGL (at the browser level).

I agree. But the whole internet is marketing WebGPU as the faster thing right now, not in the future once it's optimized. The same happened with Vulkan but in reality it's a shitshow on mobile. :(

> There is some extra API call (draw, upload, pipeline switch, etc.) overhead because your browser execute graphics commands in a separate rendering process, so this might have a noticeable performance effect for large draw call counts. Batching would help a lot with that whether you're using WebGL or WebGPU.

Aha. That's kinda my point, though. It's "Slow" because it has more overhead, therefore, by default, I get less performance with more usage than I would with WebGL. Except this overhead seems to be in the native webgpu as well, not only in browsers. That's why I consider it way slower than, say, ANGLE, or a full game engine.

So, the problem after all is that by using WebGPU, I'm forced to optimize it to a point where I get less quality, more complexity and more GPU usage than if I were to use something else, due to the overhead itself. And chances are that the overhead is caused by the API itself being slow for some reason. In the future, that may change. But at the moment I ain't using it.
FragmentShader
·2년 전·discuss
Yeah, you're right. Sorry about that one.
FragmentShader
·2년 전·discuss
> Your benchmark doesn't match the experience of people building games and applications on top of WebGPU

Here's an example of Bevy WebGL vs Bevy WebGPU:

I get 50 fps on 78k birds with WebGPU: https://bevyengine.org/examples-webgpu/stress-tests/bevymark...

I get 50 fps on 90k birds with WebGL: https://bevyengine.org/examples/stress-tests/bevymark/

So you test the difference between them with technically the same code.

(They can get 78k birds, which is way better than my triangles, because they batch 'em. I know 10k drawcalls doesn't seem good, but any 2024 computer can handle that load with ease.)

Older frameworks will get x10 better results , such as Kha (https://lemon07r.github.io/kha-html5-bunnymark/) or OpenFL (https://lemon07r.github.io/openfl-bunnymark/), but they run at lower res and this is a very CPU based benchmark, so I'm not gonna count them.

> be limited by the fill rate of your GPU

They're 10k triangles and they're not overlapping... There are no textures per se. No passes except the main one, with a 1080p render texture. No microtriangles. And I bet the shader is less than 0.25 ALU.

> at which point you should see roughly the same performance across all APIs.

Nah, ANGLE (OpenGL) does just fine. Unity as well.

> a lower GPU usage could actually suggest that you're bottlenecked by the CPU

No. I have yet to see a game on my computer that uses more than 0.5% of my CPU. Games are usually GPU bound.
FragmentShader
·2년 전·discuss
> WebGPU is super slow on GPU and all the official benchmarks only care about CPU performance.

omg I thought I was the only one that found that. I tried webgpu (On a native context) and it was slowwwww. Only 10k non-overlapping triangles can bring my RTX GPU to its knees. It's not the shader because it was only a color. It's not the overlapping (And I tried a depth prepass as well). It's not the draw calls. The API is slow, straight up.

In fact, you can try to open a WebGPU demo in your browser and check the GPU usage in the Task Manager. Close it, open a random webgl Unity game and you'll see how much a single WebGPU triangle takes compared to a full-fledged game.

On my computer, the average Unity game with shadows, shaders 'n stuff takes 5% GPU and a simple WebGPU demo takes 7%.
FragmentShader
·2년 전·discuss
I have a M1 laptop so I kinda suffered some aspects of MacOS. But, when I have a problem, it just feels like this:

Windows: Chances are the problem doesn't exist.

Linux: Spend 6 hours to fix it.

MacOS: Spend 50$ for software that fixes it.
FragmentShader
·2년 전·discuss
I have to pay my bills today, not whenever the professional software I use gets released on Linux. Also, the Linux experience is so miserable that if Windows were to die, I'd just switch to MacOS tbh.
FragmentShader
·2년 전·discuss
I agree, but

> Maybe one day they'll finally get to follow game engines in deleting all of their atlas hacks.

Are there any public game engines using bindless resources? Unreal seems to be the only one, but they pretty much don't care about low-end Android.
FragmentShader
·2년 전·discuss
I played mostly with friends and it was fun.

When I first got into public lobbies - yeah, everybody was a kid and the first color shouted into the chat would get kicked.

The trick I found was to switch the search language to English as I was in European servers with my native language. That way, I would match with Europeans that manually changed their language to English as well... or just british kids.

Anyways, it got way better, no more "red is sus" and then kicking without proof. But then everyone was too rude. People always got EXTREMELY angry when I found who the impostors were by either using the cameras or just remembering who was with who + kill spots + behaviour. Like, we win the game because I confirmed the users were impostors based on actual proof, then they cuss me and ban me from the lobby!

So, yeah, I kinda not played much in public lobbies for these reasons. But with friends it was fun!
FragmentShader
·2년 전·discuss
Yeah! Thanks :)
FragmentShader
·2년 전·discuss
> you have to maintain the ship for the entire duration of the journey. Making sacrifices in power and computing ability to resolve problems that occur throughout the ship.

There's a multiplayer game where you get in a match and play tiny minigames where you fix the issues of the ship, and once you fix them all, you win.

The twist is, there is an assasin among all players, and his goal is to sabotage your ship even more and to kill everyone, without getting caught. So the duration of the journey is only based on how quick you either fix the ship, find the impostor or die.

Wish I could remember the name, it was pretty popular during the pandemic.
FragmentShader
·2년 전·discuss
> is a strong indication that they do not value freedom (of the web) and ethics.

I don't think the average barbershop/restaurant owner will care about that, for instance? They just wanna set up a Facebook/Instagram and done, they can now instantly receive messages from clients to make reservations and also share their stuff with posts. I bet they don't even know they can make a website.

Also, every time they end up getting a website, it's powered by Wordpress hosted in the slowest server you can imagine. And it will end up redirecting you to a propietary service to make your reservation (Whatsapp, Facebook, Instagram...)

At least that's what I see in Europe and south america, I have no clue how it is everywhere else.
FragmentShader
·2년 전·discuss
I think web browsers should implement already an API that allows developers to track any user in a "private" way, by generating a unique hash using your computer specs or something, and make it different for each website.

So, if you visit Google, your hash would be something like "h38kflak". If you're visiting twitter, the API would generate something different, so you won't be tracked across websites.

That way, even if you clean your cookies, you can still be identified as the same user.

The use case? Fraud detection and that kinda stuff. For example, you may create a web game where you allow users to play instantly without "creating" an account. So, an anonymous account would be created in the background, in order to log in. Any bad actor can just clear their cookies/storage to bypass a ban. IP banning isn't reliable, as multiple users may share an adress.

It's a shame that we have to rely on web api hacks in order to fingerprint users for legitimate reasons, and that ends up in an eternal cat and mouse game, because anything you try today may be broken tomorrow.
FragmentShader
·2년 전·discuss
Unlike y'all, I actually love the website! I mean, yeah, it could use some extra opaqueness and padding, but it looks cool. Rad, even.

Most of personal blogs in HN that I see on the top page usually look like they were made in the 90's, with either no CSS at all or simple CSS with just big paragraphs of text and no substance in between. I cannot stand them. My zoomer ass needs to be stimulated by getting eye candy while reading the content.