Register a SA Forums Account here!
JOINING THE SA FORUMS WILL REMOVE THIS BIG AD, THE ANNOYING UNDERLINED ADS, AND STUPID INTERSTITIAL ADS!!!

You can: log in, read the tech support FAQ, or request your lost password. This dumb message (and those ads) will appear on every screen until you register! Get rid of this crap by registering your own SA Forums Account and joining roughly 150,000 Goons, for the one-time price of $9.95! We charge money because it costs us money per month for bills, and since we don't believe in showing ads to our users, we try to make the money back through forum registrations.
 
  • Post
  • Reply
JawnV6
Jul 4, 2004

So hot ...

Joda posted:

Wasn't the point of Vulkan to get an API that more closely resembles modern GPU architecture than OpenGL? Not necessarily something that was more low level

how is matching the hardware implementation "not more low level"

Adbot
ADBOT LOVES YOU

Absurd Alhazred
Mar 27, 2010

by Athanatos

Falcorum posted:

As a graphics dev, Vulkan's a lot nicer to work with than OGL (and to a lesser extent, than D3D). It's massively more verbose (until you build your own abstraction layer, same as you'd do with other graphics APIs anyway), but there's significantly less guessing at what the gently caress the GPU drivers are doing, and then being surprised at their "this is what you meant right" best guesses.

It's been more annoying to try new things with it. I don't feel like the profiling tools are there yet, really, and the shader efficiency wasn't as good as OGL/DX11's. This was a while ago, I imagine support could have improved significantly. Also depends on the kind of work you do.

Joda
Apr 24, 2010

When I'm off, I just like to really let go and have fun, y'know?

Fun Shoe

JawnV6 posted:

how is matching the hardware implementation "not more low level"

Because OpenGL is already low level, it's just made for an architecture that hasn't been relevant since the early 00s and became more abstract only as hardware changed. At least that is my understanding.

more falafel please
Feb 26, 2005

forums poster

I'm not a graphics programmer but I've been in AAA games for 14 years and my general sense of things is that graphics programmers would prefer their platform APIs to be as low level as possible and handle things in the abstraction layer like Unreal's RHI. The original DX11 driver on XB1, for instance, was stupid slow in terms of how often it would just flush state doing "normal" things. Moving to DX12 was obviously a lot of work but makes things much more versatile.

Absurd Alhazred
Mar 27, 2010

by Athanatos

more falafel please posted:

I'm not a graphics programmer but I've been in AAA games for 14 years and my general sense of things is that graphics programmers would prefer their platform APIs to be as low level as possible and handle things in the abstraction layer like Unreal's RHI. The original DX11 driver on XB1, for instance, was stupid slow in terms of how often it would just flush state doing "normal" things. Moving to DX12 was obviously a lot of work but makes things much more versatile.

I mean, if you have a whole team fully dedicated to graphics programming then that's terrific and I'm jealous, but that's not always going to be the case, and when it isn't, it can be easier to support an engine based on a more hand-holdy API.

Sagacity
May 2, 2003
Hopefully my epitaph will be funnier than my custom title.
I've actually been toying around with wgpu in Rust. It's the reference implementation of WebGPU so still somewhat rough around the edges, but it's quite successful at being a low-level API that still works on Vulksn, dx12 and Metal in a true cross-platform way.

Suspicious Dish
Sep 24, 2011

2020 is the year of linux on the desktop, bro
Fun Shoe

Joda posted:

Because OpenGL is already low level, it's just made for an architecture that hasn't been relevant since the early 00s and became more abstract only as hardware changed. At least that is my understanding.

I'd argue that OpenGL *maybe* matches some of the SGI Indy stuff from the 80s but ever since the addition of multitexturing in the early 90s it hasn't matched any graphics hardware. It's low-level in the sense that it's not a scene graph, but it's high-level in that the kinds of operations you do have a lot of driver magic behind the scenes.

Absurd Alhazred posted:

It's been more annoying to try new things with it. I don't feel like the profiling tools are there yet, really, and the shader efficiency wasn't as good as OGL/DX11's. This was a while ago, I imagine support could have improved significantly. Also depends on the kind of work you do.

Not sure what you mean by "the shader efficiency isn't as good". The typical reason that might happen is that the driver does special optimizations to your shader behind the scenes, and that's the kind of thing that's that really inconsistent and makes it difficult to ship performant games on systems that don't match your own configuration. As for GPU profiling, NSIGHT Graphics is really your only choice on PC NVIDIA.

Ralith
Jan 12, 2011

I see a ship in the harbor
I can and shall obey
But if it wasn't for your misfortune
I'd be a heavenly person today
As a graphics hobbyist, working with Vulkan is a pleasure. With OpenGL, the moment you want to do anything nontrivial you have to hack around every vendor's quirks and "helpful" optimizations, which is impractical without vendor support and a team; with Vulkan, it does what it says on the tin.

taqueso
Mar 8, 2004


:911:
:wookie: :thermidor: :wookie:
:dehumanize:

:pirate::hf::tinfoil:

Ralith posted:

As a graphics hobbyist, working with Vulkan is a pleasure. With OpenGL, the moment you want to do anything nontrivial you have to hack around every vendor's quirks and "helpful" optimizations, which is impractical without vendor support and a team; with Vulkan, it does what it says on the tin.

Yeah, it has a niche and specific goals and does very well meeting the goals. Vulkan isn't presented as the layer 'normal people' should be using, if it's too verbose and low-level for whatever purpose then move up a layer in the stack.

Absurd Alhazred
Mar 27, 2010

by Athanatos
https://twitter.com/cmuratori/status/1246930755860586496

JawnV6
Jul 4, 2004

So hot ...
The slayerizer is taking it well
https://twitter.com/theslayerizer/status/1246875912789995521

Suspicious Dish
Sep 24, 2011

2020 is the year of linux on the desktop, bro
Fun Shoe
someone should ask Casey about the ridiculous build system he made while at RAD Game Tools that has it's own custom language, and can't specify different compiler flags per-file.

Rea
Apr 5, 2011

Komi-san won.

Suspicious Dish posted:

someone should ask Casey about the ridiculous build system he made while at RAD Game Tools that has it's own custom language, and can't specify different compiler flags per-file.

Please tell me you have further information on this. This sounds amazingly bad.

Suspicious Dish
Sep 24, 2011

2020 is the year of linux on the desktop, bro
Fun Shoe
it's called CDep, and it looks like this https://gist.github.com/rygorous/51bf4ec4078f3b07aa71

CPColin
Sep 9, 2003

Big ol' smile.
Looks like a million $!

Winter Stormer
Oct 17, 2012

a build system where handwritten makefiles would feel like a step up

amazing

Spatial
Nov 15, 2007

lol even the loving comments have sigils: $//

OddObserver
Apr 3, 2009

Winter Stormer posted:

a build system where handwritten makefiles would feel like a step up

amazing

It's actually superficially similar to some of make's more advanced/less useful functionality. Probably faster, though.

See e.g.:
https://www.gnu.org/software/make/manual/html_node/Conditional-Functions.html

(I've written some things worth this thread with those when I was like 15 or something).

RPATDO_LAMD
Mar 22, 2013

🐘🪠🍆

A 40 minute video about twitter arguments is definitely some kind of horror, but I'm not gonna watch long enough to find out whether there's coding in it.

nielsm
Jun 1, 2009



RPATDO_LAMD posted:

A 40 minute video about twitter arguments is definitely some kind of horror, but I'm not gonna watch long enough to find out whether there's coding in it.

I watched half of it and he's just ranting, repeating himself, and saying the same things over and over. Apparently the only thing that should matter for project load times in an IDE is the size of the source code tree and the disk speed. "My source code is 1,5 MB and I have an SSD capable of 3 GB/s therefore the project should load in half a millisecond" is one argument he keeps repeating over and over.
He's not wrong that by default Visual Studio does a shitton of things many developers will never need, and is slower than it needs to be as a result, but on the other hand I've never experienced those installation/upgrade failures he apparently has all the time.

Soricidus
Oct 21, 2010
freedom-hating statist shill
I’m not going to watch that video, but why is he restarting his ide frequently enough to care if it takes tens of seconds?

omeg
Sep 3, 2012

So, this came out of CI today:

code:
cJSON.c: In function 'cJSON_IsBool':
cJSON.c:2775:9: error: 'retur' undeclared (first use in this function); did you mean 'remquo'?
         return false;
         ^~~~~
         remquo
cJSON.c:2775:9: note: each undeclared identifier is reported only once for each function it appears in
cJSON.c:2775:9: error: expected ';' at end of input
cJSON is a component that obviously builds fine normally. It's downloaded during build and the archive is checksum-checked. Do you see what's wrong?

RAM/disk failure? Cosmic rays? Aliens?

lobsterminator
Oct 16, 2012




If I've learned nothing else from this thread it's that indie game devs are a weird bunch. He showed the directory listing for his game and it was relatively few files with many of them being 100KB+ in size which seems to be the indie game standard.

He's also the type of person who feels that sharing the rant video paints him in a good light.

Drastic Actions
Apr 7, 2009

FUCK YOU!
GET PUMPED!
Nap Ghost

I've triaged feedback tickets in Visual Studio before. This is the video equivalent of the "How can you possibly not see this bug that I hit every day! What's wrong with you people!" and getting mad when people try to help.

Phobeste
Apr 9, 2006

never, like, count out Touchdown Tom, man
His main point seems reasonable and if you take a step back and think about the broad themes of his video they're all reasonable but every detail is eyeroll-inducing in the extreme

Munkeymon
Aug 14, 2003

Motherfucker's got an
armor-piercing crowbar! Rigoddamndicu𝜆ous.



nielsm posted:

I watched half of it and he's just ranting, repeating himself, and saying the same things over and over. Apparently the only thing that should matter for project load times in an IDE is the size of the source code tree and the disk speed. "My source code is 1,5 MB and I have an SSD capable of 3 GB/s therefore the project should load in half a millisecond" is one argument he keeps repeating over and over.
He's not wrong that by default Visual Studio does a shitton of things many developers will never need, and is slower than it needs to be as a result, but on the other hand I've never experienced those installation/upgrade failures he apparently has all the time.

Yeah, that's a weirdly large number of install failures IME

e: JFC this guy bloviates a lot about how other people don't know how computers work for someone who apparently doesn't understand what the tools he's using are actually intended to do

Munkeymon fucked around with this message at 15:17 on Apr 9, 2020

Storysmith
Dec 31, 2006

Munkeymon posted:

e: JFC this guy bloviates a lot about how other people don't know how computers work for someone who apparently doesn't understand what the tools he's using are actually intended to do

More to the point, the video starts spending ten minutes lambasting a stranger for assuming that he’s incompetent instead of giving him the benefit of the doubt and he then spends thirty minutes assuming the VS team is completely incompetent instead of giving them the benefit of the doubt that their product owners are optimizing for use cases that aren’t his (it all kinda blurred together but i thought he mentioned that the otherwise empty solution is only using VS for the debugger and possibly release builds?).

JawnV6
Jul 4, 2004

So hot ...

Soricidus posted:

I’m not going to watch that video, but why is he restarting his ide frequently enough to care if it takes tens of seconds?

He didn't. That's where VS support railroaded his question because the only person to pick up the phone on an (overly-broad) "debug slow" ticket was the VS Solution Loading In Ten Seconds PM. Nobody bit on "WW doesn't update while clicking" so he didn't explain it to them in that depth. The sub-10s load time was VS's inane focus. I know, I know, the video has context? Weird?

Storysmith posted:

More to the point, the video starts spending ten minutes lambasting a stranger for assuming that he’s incompetent instead of giving him the benefit of the doubt and he then spends thirty minutes assuming the VS team is completely incompetent instead of giving them the benefit of the doubt that their product owners are optimizing for use cases that aren’t his (it all kinda blurred together but i thought he mentioned that the otherwise empty solution is only using VS for the debugger and possibly release builds?).

He thoroughly demonstrates the ignorance of the drive-by comment accusing him of being unaware of "new features" and not bothering to file incident reports. Did you not think he had sufficient evidence that VS white knight who condescendingly dropped by was coming from ignorance? I don't really get this massive difference between "optimizing for use cases that aren't mine" and being a bumbling behemoth of abstractions that can't show the GUI in 10 seconds, but sure, he's Doing A Bad as well.

Space Gopher
Jul 31, 2006

BLITHERING IDIOT AND HARDCORE DURIAN APOLOGIST. LET ME TELL YOU WHY THIS SHIT DON'T STINK EVEN THOUGH WE ALL KNOW IT DOES BECAUSE I'M SUPER CULTURED.

JawnV6 posted:

He didn't. That's where VS support railroaded his question because the only person to pick up the phone on an (overly-broad) "debug slow" ticket was the VS Solution Loading In Ten Seconds PM. Nobody bit on "WW doesn't update while clicking" so he didn't explain it to them in that depth. The sub-10s load time was VS's inane focus. I know, I know, the video has context? Weird?


He thoroughly demonstrates the ignorance of the drive-by comment accusing him of being unaware of "new features" and not bothering to file incident reports. Did you not think he had sufficient evidence that VS white knight who condescendingly dropped by was coming from ignorance? I don't really get this massive difference between "optimizing for use cases that aren't mine" and being a bumbling behemoth of abstractions that can't show the GUI in 10 seconds, but sure, he's Doing A Bad as well.

You're stanning pretty hard for a guy who got so burnt up over a twitter argument that he just had to make a 40 minute response video where he repeats the same points over and over.

I don't know Casey Muratori and I definitely don't follow his twitter feed enough to understand the complete context that he just couldn't get around to providing in the video. Maybe he's a genius, maybe he's a dunce - but he's not coming off very well there.

spiritual bypass
Feb 19, 2008

Grimey Drawer
He's apparently programming for Windows, which is a weird edge case

JawnV6
Jul 4, 2004

So hot ...

Space Gopher posted:

You're stanning pretty hard for a guy who got so burnt up over a twitter argument that he just had to make a 40 minute response video where he repeats the same points over and over.
It seems like a streamer? Have you ever watched anyone stream.. anything? It's... verbose. Unedited. He didn't "have" to make it about "a" twitter argument, it was time-filler on a topic that comes up repeatedly in this person's world. But yeah, when you characterize it as a video essay instead of a stream segment, minimize the source annoyance to ignore the pattern it represents, once you drag the goalposts all the way over there? It might be as ridiculous as you're acting.

Space Gopher posted:

I don't know Casey Muratori and I definitely don't follow his twitter feed enough to understand the complete context that he just couldn't get around to providing in the video. Maybe he's a genius, maybe he's a dunce - but he's not coming off very well there.
Ok? You're unaware of the actual person, haven't ever seen the stream or TL and are coming at this with... gosh, a stunning dearth of information from top to bottom. Just an incredible lack of context, denigrating the idea of learning more. It's hard to understand why you want to talk about it at all?

Soricidus
Oct 21, 2010
freedom-hating statist shill
It’s almost like this is a thread on a dumb comedy forum that’s dedicated to ridiculing people we don’t know,

Space Gopher
Jul 31, 2006

BLITHERING IDIOT AND HARDCORE DURIAN APOLOGIST. LET ME TELL YOU WHY THIS SHIT DON'T STINK EVEN THOUGH WE ALL KNOW IT DOES BECAUSE I'M SUPER CULTURED.

JawnV6 posted:

It seems like a streamer? Have you ever watched anyone stream.. anything? It's... verbose. Unedited. He didn't "have" to make it about "a" twitter argument, it was time-filler on a topic that comes up repeatedly in this person's world. But yeah, when you characterize it as a video essay instead of a stream segment, minimize the source annoyance to ignore the pattern it represents, once you drag the goalposts all the way over there? It might be as ridiculous as you're acting.

Ok? You're unaware of the actual person, haven't ever seen the stream or TL and are coming at this with... gosh, a stunning dearth of information from top to bottom. Just an incredible lack of context, denigrating the idea of learning more. It's hard to understand why you want to talk about it at all?

the video was posted in this thread as a discussion item without any other context, in a format that didn't suggest "hey this is nothing but a capture of a streamer doing a 'time-filler', so it's probably not worth your time"

but, oh, better not dare to discuss it unless you're familiar with the oeuvre of software development streamer king Casey Muratori. if you don't already know his debugger opinions and twitter beefs by heart, why even speak?

Volmarias
Dec 31, 2002

EMAIL... THE INTERNET... SEARCH ENGINES...

omeg posted:

So, this came out of CI today:

code:
cJSON.c: In function 'cJSON_IsBool':
cJSON.c:2775:9: error: 'retur' undeclared (first use in this function); did you mean 'remquo'?
         return false;
         ^~~~~
         remquo
cJSON.c:2775:9: note: each undeclared identifier is reported only once for each function it appears in
cJSON.c:2775:9: error: expected ';' at end of input
cJSON is a component that obviously builds fine normally. It's downloaded during build and the archive is checksum-checked. Do you see what's wrong?

RAM/disk failure? Cosmic rays? Aliens?

Unicode fuckery inserting an invisible character combined with different systems is my guess.

rarbatrol
Apr 17, 2011

Hurt//maim//kill.
That reminds me of a recent issue we had at work. We updated our SQL generator to perform a "has any text" filter by using a DATALENGTH(column) > 0 check instead of the previous column IS NOT NULL AND column != '' check, because the newer one can make use of table statistics rather than evaluating the actual values. It turns out that SQL server's default collation settings will decide that any number of characters loosely defined as a "space" are equal to an empty string, including my favorite evil unicode character, the Mongolian vowel separator.

So of course, we put out release notes and made it a configuration setting for the end user.

Suspicious Dish
Sep 24, 2011

2020 is the year of linux on the desktop, bro
Fun Shoe
Did you mean 'remquo'?

QuarkJets
Sep 8, 2008

I'm using visual studio for the first time with a few cmake projects and wow, what a poo poo show

Soricidus
Oct 21, 2010
freedom-hating statist shill
If you’re using cmake anyway then give clion a try

Tei
Feb 19, 2011

omeg posted:

So, this came out of CI today:

code:
cJSON.c: In function 'cJSON_IsBool':
cJSON.c:2775:9: error: 'retur' undeclared (first use in this function); did you mean 'remquo'?
         return false;
         ^~~~~
         remquo
cJSON.c:2775:9: note: each undeclared identifier is reported only once for each function it appears in
cJSON.c:2775:9: error: expected ';' at end of input
cJSON is a component that obviously builds fine normally. It's downloaded during build and the archive is checksum-checked. Do you see what's wrong?

RAM/disk failure? Cosmic rays? Aliens?

I have absolutelly no idea. Maybe a problem with "ungetch"? most probably a out of memory problem

https://users.pja.edu.pl/~jms/qnx/help/watcom/clibref/src/ungetch.html

or that n in return is not a n, but a math symbol or other thing that happens to look like a n

Tei fucked around with this message at 09:46 on Apr 10, 2020

Adbot
ADBOT LOVES YOU

NihilCredo
Jun 6, 2011

iram omni possibili modo preme:
plus una illa te diffamabit, quam multæ virtutes commendabunt

Tei posted:

or that n in return is not a n, but a math symbol or other thing that happens to look like a n

Petition to start calling such Unicode symbols "mimics".

  • 1
  • 2
  • 3
  • 4
  • 5
  • Post
  • Reply