Conrad Irwin
๐ค SpeakerAppearances Over Time
Podcast Appearances
So for things like the rendering pipeline, there's two frames that are just big static chunks of memory that we switch between, a fairly common approach there. And Rust is actually kind of helpful for that. It tells you if you mess up because you know which one is live and what you have access to every given time.
So for things like the rendering pipeline, there's two frames that are just big static chunks of memory that we switch between, a fairly common approach there. And Rust is actually kind of helpful for that. It tells you if you mess up because you know which one is live and what you have access to every given time.
So for things like the rendering pipeline, there's two frames that are just big static chunks of memory that we switch between, a fairly common approach there. And Rust is actually kind of helpful for that. It tells you if you mess up because you know which one is live and what you have access to every given time.
For most of the rest, not yet, because if you think about the way it works, so let's say you're on a 120-hertz screen, you have eight milliseconds to render every frame. So rendering a frame needs to be really fast. But the average person can only type a couple of characters every second.
For most of the rest, not yet, because if you think about the way it works, so let's say you're on a 120-hertz screen, you have eight milliseconds to render every frame. So rendering a frame needs to be really fast. But the average person can only type a couple of characters every second.
For most of the rest, not yet, because if you think about the way it works, so let's say you're on a 120-hertz screen, you have eight milliseconds to render every frame. So rendering a frame needs to be really fast. But the average person can only type a couple of characters every second.
So it's kind of fine if it's slow to respond to a key press, where slow means you have 8 milliseconds and you're not doing that much work. And so we use a fair amount of ref counted pointers just to maintain all of this to keep the code sane, even though that wouldn't strictly be optimal, just because we're not using them often enough for it to be a problem.
So it's kind of fine if it's slow to respond to a key press, where slow means you have 8 milliseconds and you're not doing that much work. And so we use a fair amount of ref counted pointers just to maintain all of this to keep the code sane, even though that wouldn't strictly be optimal, just because we're not using them often enough for it to be a problem.
So it's kind of fine if it's slow to respond to a key press, where slow means you have 8 milliseconds and you're not doing that much work. And so we use a fair amount of ref counted pointers just to maintain all of this to keep the code sane, even though that wouldn't strictly be optimal, just because we're not using them often enough for it to be a problem.
Mostly the instruments, tools from Xcode have been super helpful on Mac. Linux is a little newer and there are some tools there, but I'm not as familiar with them. One of the really interesting things that's kind of on the back burner for me is that deallocating a frame in Linux can take nearly a millisecond or two, which we're like, that shouldn't be the case.
Mostly the instruments, tools from Xcode have been super helpful on Mac. Linux is a little newer and there are some tools there, but I'm not as familiar with them. One of the really interesting things that's kind of on the back burner for me is that deallocating a frame in Linux can take nearly a millisecond or two, which we're like, that shouldn't be the case.
Mostly the instruments, tools from Xcode have been super helpful on Mac. Linux is a little newer and there are some tools there, but I'm not as familiar with them. One of the really interesting things that's kind of on the back burner for me is that deallocating a frame in Linux can take nearly a millisecond or two, which we're like, that shouldn't be the case.
And so if anyone listening is a good Linux performance person, figuring that out would be great. But if we're running a profiler on it, it's like, why is dropping the frame taking so much time? Because, you know, you only have eight milliseconds. And if you're using two of them doing nothing, it's a complete waste of time.
And so if anyone listening is a good Linux performance person, figuring that out would be great. But if we're running a profiler on it, it's like, why is dropping the frame taking so much time? Because, you know, you only have eight milliseconds. And if you're using two of them doing nothing, it's a complete waste of time.
And so if anyone listening is a good Linux performance person, figuring that out would be great. But if we're running a profiler on it, it's like, why is dropping the frame taking so much time? Because, you know, you only have eight milliseconds. And if you're using two of them doing nothing, it's a complete waste of time.
Relatively few. We have a couple that are used a lot, but for most things, we just write the code out.
Relatively few. We have a couple that are used a lot, but for most things, we just write the code out.
Relatively few. We have a couple that are used a lot, but for most things, we just write the code out.
Mostly stylistic, I think. That's the way the code base is. But again, I mean, macros can be a performance problem. They haven't been for us. Is that because we got lucky by choosing the style or did, you know, before my time, someone chose that style and now we all copy it.
Mostly stylistic, I think. That's the way the code base is. But again, I mean, macros can be a performance problem. They haven't been for us. Is that because we got lucky by choosing the style or did, you know, before my time, someone chose that style and now we all copy it.