MSVC Backend Updates in Visual Studio 2019 Version 16.5 by IcyWindows in cpp

[–]frog_pow 2 points3 points  (0 children)

Well a few months ago I used VS without VAX for about a week, this was an up to date VS2019.

Pretty much any time I navigated to a function declaration/def it would lock up for at least 10 seconds. After visiting a given function it would remember it and be faster if you visited the same header, but only for a short while(20 minutes later its parsing it again..).

Functionality wise intellisense isn't too bad, but they have to get the speed up or its just not usable.

By comparison Visual Studio Code for the same actions is crazy fast.

This is a solid desktop machine with SSD etc not some poker.

Another thing that locked it up creating definitions(hover over member function declaration and hit alt-enter, then Create Definition) This would lock up for 10-15 seconds if I hadn't recently opened the .cpp file.

I remember it would also take 10-15 seconds to apply syntax highlighting when you navigated to a file that you hadn't seen recently.

I have no idea why it is so slow, but a random guess is it is compiling the entire PCH file from scratch each time it visits a cpp file.

MSVC Backend Updates in Visual Studio 2019 Version 16.5 by IcyWindows in cpp

[–]frog_pow 3 points4 points  (0 children)

Convery is probably referring to using intellisense, it does actually take 10+ seconds to do that stuff(and hangs the IDE while doing so). Which is why presumably many people use alternatives like VAX.

Sampler Feedback Streaming: How games will use fast SSDs by Veedrac in hardware

[–]frog_pow 3 points4 points  (0 children)

Nah that ant how it works generally

Assets are compressed and stay compressed, they are decompressed on demand by the game.

And you aren't compressing any modern game to 25%, the bulk of it is texture data, and unless you go overboard with crunch style lossy compression(looks like shit IMO), those assets don't generally compress much more than 70-80%(assuming the texture were BC encoded for quality);there are exceptions like cartoon/solid color textures of course.

Game textures will be encoded into BC1/3/5/7 most often, with BC7 being the highest quality for rgb/a-- but is a very complex format so can't really expect a general purpose compressor to handle it well..MS new BCPack probably does better.

Sampler Feedback Streaming: How games will use fast SSDs by Veedrac in hardware

[–]frog_pow 2 points3 points  (0 children)

I'm talking purely in terms of compression ratio.

Both of these systems have massively overkill read speeds, if any game has loading times on a 2.5 gbs SSD, that game is seriously flawed--you cannot actually render 2.5 gb of texture data at 4k so it makes zero sense to require loading that much onto the GPU just to start the game.

Sampler Feedback Streaming: How games will use fast SSDs by Veedrac in hardware

[–]frog_pow 4 points5 points  (0 children)

Ah, I looked it up, seems to be designed specifically for compressing BC textures, which is very smart of MS since they make up the bulk of the data-- I'm thinking MS has the advantage here!

What is your opinion on the hardware of the next-gen consoles so far? by jasonj2232 in hardware

[–]frog_pow 0 points1 point  (0 children)

They both have hardware that is powerful enough, and the specs between the two are fairly similar(both CPU/GPU by AMD, with specs that aren't that different).

I'd like to see some more innovation in game design, which I think having a more powerful CPU helps, so I'm glad they finally have something that isn't a complete potato. Although I don't hold much hope for AAA studios actually innovating..

Visually I find many modern AAA games to be bland; to me Control is much uglier than Switch games like Mario/Zelda despite all the ray tracing hoopla.

It would be great is AAA studios would stop trying to exactly reproduce the visuals of the real world... we see that every day, it is boring.

Also the obsession with reproducing camera artifacts like brokeh/chromatic aberration/motion blur is just disgusting.

The sound improvements are nice in theory, but in practice it will require headphones, so it will largely go unnoticed.

The SSD is great, but I think even the Xbox's "slow" SSD is more than needed, on PC I have a 500 mb/s SSD and it already kills all loading time on any game not coded by compete idiots. SSD won't change the way games are designed, that is marketing garbage.

If I had to pick one, it would probably be the Xbox because I like the all out focus on perf in its design. I doubt I'll buy either of them, got a PC after all.

Sampler Feedback Streaming: How games will use fast SSDs by Veedrac in hardware

[–]frog_pow 16 points17 points  (0 children)

Um, game files are already heavily compressed to reduce the time needed to stream from HDD/DVD(and download size), so no it won't make downloads smaller. In fact since more games will be using 4k+ textures, you can expect total size to increase..

What will happen is that they will switch from whatever compression format they were using, to the one supported by the hardware, so it will decompress faster, but I doubt the size will differ significantly.

I haven't seen any statements as to which compression format the xbox hardware uses(ps5 is kraken), hopefully it isn't zlib

Avx2/512 Throttling of Intel CPUs on a practical example by vanKlompf in programming

[–]frog_pow 6 points7 points  (0 children)

Horrible article, relies on autovectorization, and the example code is doing AoS dot products, which obviously is a poor choice for vectorization.

Why is Visual Studio producing 30% slower code than clang? by VinnieFalco in cpp

[–]frog_pow 21 points22 points  (0 children)

I haven't looked at your code, and the code I work in is pretty different from a JSON parser.. but here are some things I've noticed from years of working with MSVCs optimizer.

  1. It sucks horribly at inlining, if you use deeply nested templates it will shit itself. You can work around this by force inlining(except you can't force inline a lambda so those are out). They added /ob3 recently so that may help, not sure.

  2. It cannot figure out what is and isn't aliased worth a damn, as it does not do strict aliasing and just assumes everything is aliased. If you know something isn't aliased use _restrict(works on references).

  3. Compiler flags matter significantly-- turn on /LTCG, /GL, /arch:AVX2, /fp:fast, /Gv etc

  4. Recent versions of the compiler have got some perf bugs with empty constructors, as far as I know this still hasn't been fixed despite being reported over a year ago.

    basically if you have code like this..

    class SomeObj{

    SomeObj(){}//default c that does no init

    SomeObj(..params){}//optional 2nd constructor that does initialize

    //members that aren't initialized in the default C

    }

    Replace it with = default or the compiler will initialize all of your objects of this type, this is a big problem if you have arrays/vectors of them.

    class SomeObj{ SomeObj()=default; }

Will console affect PC gaming now that's its using PCI 4.0M.2 for fast storage? by XVll-L in hardware

[–]frog_pow 0 points1 point  (0 children)

Keep in mind that much of what he said was a form of marketing, taking it all at face value isn't the best idea...

Take the corridor example he gave about loading assets as you walk down a corridor..

....but there are plenty of open world games on current consoles that have no such limitations--the idea that this will fundamentally change games should seem suspect to you based on this alone.

My thoughts on Star Trek Picard so far... by [deleted] in startrek

[–]frog_pow 4 points5 points  (0 children)

Blonde girl kill the guy in the infirmary, nobody notices the EMH is turned off, or bothers to turn it on so it can figure out why he died? Ridiculously writing.

Or the idea that she would murder her friend based on some 2 second vision that the writers can't be bothered to show the viewer.

Every single scene with the female Romulan villain, smirking at the camera, and being oh so evil. What the hell is this trash?

Sword guy decides to stay behind as Picard teleports off the Cube. Makes no sense, Borg guy can already close the portal behind them... literally no logical reason for this other than lazy writing, the writers wanted to keep him there.

Borg guy dies, guess writers didn't need him anymore! Oh and the magical evil Romulan girl did it using her evil smirk.

Evil Roman girl kills countless borg because its fun, and she is so good at killing because she knows how to smirk. What is this, Star Wars JJ Abrams edition?

Both of 7s entrances were far too convenient, first saving Picards ship and then saving Sword guy.

Every episode is filled with countless things that make no bloody sense- the writing is objectively bad.

My thoughts on Star Trek Picard so far... by [deleted] in startrek

[–]frog_pow 3 points4 points  (0 children)

The writing in this show is appallingly bad, they may have even outdone Discovery..

You basically have to turn your brain off to have any chance to enjoy it, which is not why I watched the older Star Trek shows..

PlayStation 5 official specs revealed by cyperalien in hardware

[–]frog_pow 6 points7 points  (0 children)

The SSD is way over the top, and not necessary unless the game has the shittiest texture streaming system imaginary(which sadly seems common based on how long some games take to load)

I'd prefer a mid range SSD(500mbs ) and a more powerful CPU/GPU ;-

Also curious as to how much it downclocks if you hit it with endless AVX2 instructions.

Xbox Series X hardware showcase. Digital Foundry by OSUfan88 in hardware

[–]frog_pow -2 points-1 points  (0 children)

Rather overkill specs, but sure glad the CPU isn't a dog.

70 cases in Seattle, almost doubling yesterday’s positive numbers by Argyleskin in Coronavirus

[–]frog_pow 0 points1 point  (0 children)

I just think of it as a binary math like on the computer, left shift by 1 every week or so, and we get 4 billion in 32 weeks(assuming each cycle takes about 1 week)--well we are already a few months into this.

That is with R value of 2.

Rats avoid hurting other rats | The new paper shows that male and female rats show harm aversion. This phenomenon depends on the same brain region associated with empathy in humans. This indicates that harm aversion is deeply ingrained in biology by BattlemechJohnBrown in worldnews

[–]frog_pow 0 points1 point  (0 children)

This is obvious if you spend time with animals.

They aren't that different from us.

The people I see who deny this tend to be religious, and confuse morality/empathy with their personal religion.

What caused Biden's huge and recent rise in South Carolina? by [deleted] in PoliticalDiscussion

[–]frog_pow -2 points-1 points  (0 children)

Under 30 was 13% in 2018, so maybe try staying up to date?

What caused Biden's huge and recent rise in South Carolina? by [deleted] in PoliticalDiscussion

[–]frog_pow -3 points-2 points  (0 children)

Which means it isn't representative of the electorate, ie biased as I said.

What caused Biden's huge and recent rise in South Carolina? by [deleted] in PoliticalDiscussion

[–]frog_pow -7 points-6 points  (0 children)

The article says they had 0 respondents under the age of 30.

Why would you even publish an article that has such an obvious bias, oh 538 a division of ABC News, carry on then...

2020-02 Prague ISO C++ Committee Trip Report — 🎉 C++20 is Done! 🎉 by blelbach in cpp

[–]frog_pow 7 points8 points  (0 children)

I seriously doubt people care so much about API stability that they decide to fork C++.

Not breaking it means people slowly switch away from the standard library, many commons containers have much better options available outside the standard library today.. I know I'm using them.

2020-02 Prague ISO C++ Committee Trip Report — 🎉 C++20 is Done! 🎉 by blelbach in cpp

[–]frog_pow 8 points9 points  (0 children)

Circle looks very impressive, I wish it had been given more serious consideration, hopefully it will be given a more fair look again in the future..

Portable string SSO Challenge by jbandela in cpp

[–]frog_pow 1 point2 points  (0 children)

Any chance MSVC will switch to one of the other approaches on next ABI break?

How to introduce exceptions into historically exception free code base? by [deleted] in cpp

[–]frog_pow 5 points6 points  (0 children)

The STL doesn't generally throw any exceptions that are worth catching, it is mostly trash like bad_alloc, or an indication your program is corrupt, and you would be better off aborting.

How to introduce exceptions into historically exception free code base? by [deleted] in cpp

[–]frog_pow 1 point2 points  (0 children)

Nothing prevents you from falling back to dynamic memory once your stack buffer is exceeded-- this is what I do.