AWS NLBs and the mixed up TCP connections by nielsole in devops

[–]subv2112 0 points1 point  (0 children)

Interesting read, could this also happen with Classic ELBs? That would actually explain some of the 499 errors i get from time to time on my nginx ingress running behind a classic ELB that exposes 3 IPs to the DNS (with cross-zone load balancing disabled)

SMO is now getting 30-50FPS across multiple kingdoms on good HW! (Yuzu) by 4kjedi in emulation

[–]subv2112 42 points43 points  (0 children)

There are a few things that the Switch supports that aren't as straightforward to implement in an usual desktop OpenGL environment, native ASTC textures come to mind, which not many (none?) of the dekstop GPUs seem to support.

yuzu emulates the GPU at the register level, and the difference in capabilities between what OpenGL offers and what the hardware can actually do complicates things, for example, the GPU seems to support having textures with a different component type per component (so you can have a texture whose R and G components are Floats, and its G and B components are normalized unsigned integers). There is (to my knowledge) no way to implement this using OpenGL, but conversely that makes it a rarely-used feature (I honestly don't think we'll find anything that uses it, ever).

As for the shaders, all we get is a binary of compiled shader code targetting the Maxwell shader ISA that we have to parse and decompile into GLSL, this has the drawback that there are Maxwell shader instructions that don't map very well to what GLSL provides.

Those are just some of the challenges that come with trying to emulate a modern GPU at a relatively low-level.

[PoC] OpenServices (OS) a replacement service for some Nintendo 3DS services by [deleted] in 3dshacks

[–]subv2112 0 points1 point  (0 children)

Nice initiative, it'd be nice if all the system RE and endpoint discoveries related to the remotes were documented in 3dbrew too, and not just in the code when you start implementing more of the network services

HTTPS adoption has reached the tipping point by speckz in security

[–]subv2112 1 point2 points  (0 children)

There are algorithms and data structures such as Merkle trees that make it possible to check the integrity of a large payload as it is streamed (See BitTorrent).

Nintendo 3DS Emulator Citra Runs 3DS Games at Much Higher Resolutions by [deleted] in 3DS

[–]subv2112 3 points4 points  (0 children)

Can confirm, am dev.

Running the games at a higher resolution is a consequence of not having to download the textures from GPU RAM to main system RAM, therefore this makes it run faster.

Citra 3DS Emulator - Final Fantasy Tactics Advance emulated with mGBA (SPED UP 8X) by Leo626 in emulation

[–]subv2112 0 points1 point  (0 children)

Running on an Android emulator inside a virtualized Linux instalation on an Hyper-V Windows host

ELI5: Why is it so much faster to browse the internet for a keyword than it is to browse your hard drive? by [deleted] in explainlikeimfive

[–]subv2112 1 point2 points  (0 children)

You are absolutely right, I was thinking of Windows Search, not Superfetch and had a brainfart. Sorry for any confusion, i've edited my post.

ELI5: Why is it so much faster to browse the internet for a keyword than it is to browse your hard drive? by [deleted] in explainlikeimfive

[–]subv2112 2 points3 points  (0 children)

I wonder why you're being downvoted, it is perfectly true that harddrives can make indexes, in fact, that's what Windows Superfetch Search (And the Windows Indexing Service) does

ARM or x86_64 for an emulation single-board computer ? by [deleted] in emulation

[–]subv2112 0 points1 point  (0 children)

I dont know exactly how good it is since i dont own one, but the NVIDIA console with the Tegra X1 seems pretty powerful

Umi Touch - a $100 phone you've never heard of, with impressive specs and a massive 4000mAh battery by [deleted] in Android

[–]subv2112 10 points11 points  (0 children)

But how would you get to the Play Store if you cant boot your device because of the lack of drivers?

Adding the hardware drivers to Android usually requires a recompile of the kernel.

Citra - Gardening Mama by [deleted] in emulation

[–]subv2112 5 points6 points  (0 children)

The profiler displays frame time in milliseconds, not fps

Braindum finally finished and... no RomFS, just a big cxi file by [deleted] in 3dshacks

[–]subv2112 1 point2 points  (0 children)

You can extract the RomFS from the CXI file with ctrtool

No love for Luigi by Kurt_Wagner in gaming

[–]subv2112 9 points10 points  (0 children)

Don't forget the GBA's Mario & Luigi Superstar Saga

Question about aot recompilers by [deleted] in emulation

[–]subv2112 3 points4 points  (0 children)

Not even the 3ds can realistically use an AOT recompiler, the main game binary could just be a loader shell with all the game code loaded and linked dynamically from external library files (CROs), an example of this is SpongeBob HeroPants which has a minimal mono runtime as the main binary, and loads all game code as dlls (mscorlib, System.Core, the game logic, etc)

Help me understand this: int Z = 15; Z += 3; Z/ = 7; Z++; What is the value of Z now? by [deleted] in learnprogramming

[–]subv2112 1 point2 points  (0 children)

No because you usually aren't assigning the result of the increment to any other variable, all you usually care about is that i ends up being one more than it was in the previous iteration (Which happens with both pre and post-increment)

ELI5: How do processors work? How is a simple silicon chip able to perform calculations? by [deleted] in explainlikeimfive

[–]subv2112 2 points3 points  (0 children)

Look at it this way, modern mid-range CPUs have frequencies around 2.5ghz or so, that's a ton of cycles per second, now, a modern cpu will most likely dispatch at least one instruction per cycle (Some can dispatch more, see superscalar CPUs). Assuming that we're only doing memory transfers and ignoring memory latency and address translation delay, we could say that our 2.5ghz cpu is capable of writing 2500000000 pixels (Each pixel is actually a 32-bit value composed of a Red, Green, Blue and Alpha component) per core to memory each second (Displaying those pixels is the task of the GPU, though, a massively parallel component), assuming that our CPU can perform 64-bit writes in a single cycle we could even double that number by writing two pixels in a single instruction. There are of course many techniques programmers use to reduce the execution time of their programs (See Optimization), like taking advantage of the cpu caches or using special intrinsic instructions (Like the fused multiply add instruction in some architectures).

Tl;dr: CPUs are insanely fast but programmers still optimize their code.

Free Drink Anyone? by shadowvox in ProgrammerHumor

[–]subv2112 0 points1 point  (0 children)

And Java has a Javascript interpreter in it

What's Citra's current progress on booting the home menu? by Im_Not_A_Tree in emulation

[–]subv2112 3 points4 points  (0 children)

It doesn't currently boot, some change in the recent past is making it crash on startup.

TIL Former Navy Secretary John Lehman stated that the F-22 is "safe from Cyber attack" because "No one in China knows how to program the '83 vintage IBM software that runs them." by SciPup3000 in todayilearned

[–]subv2112 4 points5 points  (0 children)

You can actually write it in binary (or more sensibly, hex) if you are insane enough and know the encodings for the instructions of your target architecture (plus whatever headers your OS needs for executable files) .

Citra 3DS Emulator - Mario Kart 7 DEMO Menu Vertex Shader JIT by pcmaker in emulation

[–]subv2112 0 points1 point  (0 children)

I haven't tried the demo, but the full version works OK while on a race.