• 0 Posts
  • 348 Comments
Joined 3 年前
cake
Cake day: 2023年9月2日

help-circle



  • I don’t think the chances are that remote.

    Microsoft values backwards compatibility a lot. At least in windows. So from a technical viewpoint, the older Xbox games are probably already compatible with the newest Xbox. If that is the case, technically it would be as easy as removing the arbitrary check that the Xbox version matches. Maybe add a frame rate limiter so old games that calculated time for physics based on frame rate don’t break.

    From a business perspective, Microsoft does not sell as many remakes/remasters as other companies (like Nintendo, that just sells you an old game+emulator for absurd prices).

    In fact, with gamepass, Microsoft states that it doesn’t want to sell you games. It just wants you to spend as much time in Xbox/WinPC paying their subscriptions.

    Allowing old games will mean bringing them to gampass too. Which is what they want. They want as many games in gamepass as possible.



  • The US are using its bases in allied countries to attack Iran. It is not named a NATO mission because it isn’t. The NATO alliance does not require it’s members to let the US use the military bases in their countries.

    For example, Spain, a member of NATO, did not allow the US to use the military bases located in Spain to attack Iran.

    The US has many allies. Some in NATO, and some outside NATO. Even if the US exited NATO, it could still use the bases in allied countries.

    It does matter to Iran if it is a NATO mission or not. Because since it is not, it doesn’t have to fight against the entirety of NATO.

    The US cannot use military bases it does not own or in foreign territory without permission. If there were “NATO military bases” in Ukraine, It would need the permission of NATO and Ukraine to use such base. NATO would presumably not grant permission to use it for an offensive war, as it is a defensive alliance.



  • They can defend themselves the same way as if any other country attacked them.

    NATO doesn’t protect you if you start an offensive war. It only protects you if you’ve been attacked first.

    There’s no better example than the epstein-US-Iran war. Trump keeps whining that his “NATO allies” are not helping him. Iran right now can attack the US as much as it can, since the US started the war for no fucking reason.

    Some individual countries that are part of NATO have helped the US, but that was independently of NATO.






  • If you read the conclusion, it is very clear that you should not ever break convention. You should not apply this if it would affect any other program.

    That is, if your input is in u8, your output should be in u8 too. Otherwise you are “exposing” your different quantization.

    I don’t think this post is telling you that you should use the 256 method. I think it is pretty clear that it is just explaining it, not advocating for it. At various points of the article it is written something like “I struggle to see a situation where it would be beneficial”.




  • The random number generation is not the source of the complaint. That is just made to easily prove the point in the article.

    The argument is not to use another method when randomly sampling from [0,1). The argument is that f32 color channels are already in the [0,1) range, and following the alternate method results in a “fair-er” representation of the range.

    The plot that was generated with the random sampling is just to show that the standard method is not “fair”.


  • The correct way to scale a number from one range to another is …

    Citation needed.

    It is just as valid to quantize the following way:

    q = (x+0.5)/256

    The inverse would be:

    x = min(truncate((q*256)), 255)

    In fact, you could argue that this method is technically more correct. The only issue being the exact value of 1.0, which we have to handle explicitly with min(..., 255).

    This method is idempotent. Try it with x=90 for example. It does destroy data, but that is true for all quantization methods.

    We have to remember that quantization is the process of representing a bigger set of numbers (usually infinite) with a smaller one. We sort a range of values from the bigger set into a single bin in the smaller set.

    The argument of the article is not about “resolution”. The argument is about using the 8bits available as efficiently as possible.

    As the article points out, if you follow the naive approach of:

    q = x/255

    x = round(q * 255)

    You are losing a tiny bit of the 8bit range. Since the ranges represented by 0 and 255 are half as big as the other ones. The naive approach is really quantizing in the range of [0-0.5/255, 1+0.5/255) instead of [0,1). This is because round() maps approaching values to x from both sides, so some negative values map to 0, but there are no negative values in our set.

    The conclusion at the end of the article is mostly the correct one though. If there is an industry standard, it is best to follow that standard. Since mixing a quantization function from one method with the dequantization function from another is just wrong. You can only choose your own method if both your input and your output is the small range.

    EDIT:

    The “naive” approach described in the article does x = truncate(q * 255 + 0.5) which is equivalent to the x = round(q*255)




  • FFXVI

    I saw the trailer years ago and seemed good, so I wanted to give it a try. I of course looked for online reviews and game journalists were praising it so I bought it.

    It’s horrible. The only reason I played a lot of hours is because there’s an endless stream of cinematics.

    The strong point is supposed to be the story. But the story is so fucking stupid. The lore and world building is good, but the story is shit.

    I don’t know how game journalists are even allowed to exist.

    EDIT: mistakenly wrote XIV instead of XVI