Actually that might not have been done to deliberately disrupt your flow. Culling elements that are outside of the viewport is a technique used to reduce the amount of memory the browser consumes.
Professional C# .NET developer, React and TypeScript hobbyist, proud Linux user, Godot enthusiast!
Actually that might not have been done to deliberately disrupt your flow. Culling elements that are outside of the viewport is a technique used to reduce the amount of memory the browser consumes.
Official article about the incident: https://godotengine.org/article/statement-on-godloader-malware-loader/
For reference, this is what the “Checking for Updates” page on the Pop!_OS store looks like for me. This icon feels out of place, that’s why I assumed this is a placeholder that replaced the correct icon that went missing due to some kind of minor problem with my installation.
I assumed that’s the “no icon” placeholder for Gnome. I saw it around as well.
In my experience, a great portion of competitive multiplayer games work. Although I have to admit that I mostly play games meant to be played among friends rather than against strangers.
If you are not talking about Steam, which comes with Proton out of the box, I’d recommend to give Legendary a try. It’s basically the same thing, but with non-Steam games. And it’s very user-friendly, like Steam.
GrapheneOS is certainly on my wishlist too, but Pixels are quite pricey. I guess Rethink is the poor man’s version. Just a per-app firewall.
You should install Rethink and see how much garbage your phone constantly transmits and receives. And this is not even a kernel-level firewall, so who knows how much data Google actually exfiltrates…
I don’t know about a constant audio stream, nor about keywords, but I noticed that Google Keyboard sends out some data every time you type anything. It’s not even that subtle.
Me, apparently. I didn’t know these were called metaballs :P
I’m definitely no expert so I might not be the best person to try and help, but if you want to try having a 1 on 1 chat to fix it, feel free to send me a PM.
Can you see at least GRUB, or nothing at all?
If you can see GRUB I would try booting with the “nosplash” kernel option, which causes video drivers to be loaded later.
This is a temporary fix, as it might cause other issues, but if it makes the screen work it will be a step in the right direction.
I am not sure… in the case I’m referring to, they were lagging also when scrolling. But it was React, so native browser rendering. And they were actually very large tables, so we had to do some funny things like viewport culling (see react-window).
For what it’s worth I’ve never had any similar performance issues with tables in Flutter (web with the canvas-based render engine, not Android) when applying the same culling technique, they just ran fine at any resolution. Different hardware, though, so it’s not an apple to apple comparison.
In any case just to be safe I would personally assume less pixels = less work = less power = more battery life. My opinion is very unscientific though.
Isn’t rescaling usually done by the display driver? I am fairly certain this is the case for external displays. Are laptop displays any different?
Edit: with “display driver” I mean the hardware chip behind the display panel, dedicated to converting a video signal to the electrical signals necessary to turn on the individual pixels.
As a web developer, I noticed that some elements such as very big tables struggle to render on 4K but are absolutely fine at 1080p. I would assume that means the CPU and/or GPU are more taxed to draw at higher resolution, and therefore I assume they would draw more power. I might be mistaken. Do you speak by experience?
Good separation between business logic and UI without effort, cross-platform UI in any language, possibility to turn it into a web-accessible service in the future, great choice of UI frameworks and battle-tested components if you decide to go for a web framework and language.
As an example of a successful software that followed this approach: Synchthing. All versions run a local web service in the background. The Desktop version just opens a browser on the index page. The Android version is a native app that calls the exposed REST API on localhost, bypassing the web UI.
As an example of a much more complex software, albeit not FOSS: EasyEDA. It’s a web software, but it also comes as a desktop app (which I never tried) which I assume is not much more than a frame for the web view.
My recommendation: write the UI with React on Vite in TypeScript, and write the business logic in your general purpose language of choice (mine would usually be C#).
If it makes sense for your software, please consider giving it a web interface and turning it into a localhost-only web-service.
I might be very mistaken, but I don’t think QEMU can link mixed-architecture dependencies. Box86 can run an x86 game on ARM and link ARM-native shared objects for OpenGL, thus skipping emulation of some hotpath code.
VM startup time can be skipped by saving state instead of shutting it down every time.
I would say the worst issue using a VM is with programs that need the GPU (e.g. CAD softwares or games), and software with aggressive DRM.
I use DDG for the privacy as well, but personally I think it works better than Google in my field (software development). The only issue I personally have with DDG is that it lags behind Google in terms of updates, I notice when searching for something that came out or happened only recently.
Well… that would make sense. But it’s much much easier to just do it preemptively. The browser API to check how much memory is available are quite limited afaik. Also if there are too many elements the browser will have to do more work when interacting with the page (i.e. on every rendered frame), thus wasting slightly more power and in a extreme cases even lagging.
For what it’s worth, I, as a web developer, have done it too in a couple occasions (in my case it was absolutely necessary when working with a 10K × 10K table, way above what a browser is designed to handle).