i misspoke at the end, it would be a 50 microsecond improvement, not 500.
@Kram1032Ай бұрын
so like 0.003 frames (at a target of 60fps), right?
@KazeClipsАй бұрын
it'd be 0.18 frames if i was already at 60fps. at my current fps it's closer to 0.13 frames.
@Kram1032Ай бұрын
@@KazeClips ok that's much more significant. 1 microsecond = 0.000001 seconds, right? I just calculated 50 microseconds = 0.00005s =, if we had 60fps, 0.00005 * 60 = 0.003, i.e. 0.3% of the total gap between two frames. How are you reaching 0.13 or 0.18?
@KazeClipsАй бұрын
1000/16.617 - 1000/16.667
@samuraivader3814Ай бұрын
You brought shame to your family.
@kewinzabojca7226Ай бұрын
With every optimization video, one thing haunts my mind, how much fps could we get if we just put mario in an empty void
@JunScunthorpeАй бұрын
Need.
@dogyX3Ай бұрын
After all these optimisations, it looks like you'll only get a few more frames 😂
@KazeN64Ай бұрын
N64 is hard capped at 60, but frame time there is around 8.2ms, so itd be 120fps.
@lpfan4491Ай бұрын
N64 modders on their way to make sure no commercial game ever framedrops again while running on 60FPS widescreen with AA: 🏃♂️🏃♀️🏃
@marioluigism64Ай бұрын
Hello everyone
@KazeClipsАй бұрын
hello marioluigism64
@silvererercoinАй бұрын
@@KazeClips hello KazeClips
@permikАй бұрын
This is the grindset I'd love to see from modern AAA game development. As much as there's art in the end product, there's an equal or double the amount of art in the backend holding it all up. Freaking love the work you do ❤
@rehaansiddiqieАй бұрын
I dunno if AAA developers would have the time to do this, tho.
@permikАй бұрын
@@rehaansiddiqie "not having the time" is just an excuse to not do something and thinking something is more important than the thing you're "not having the time" to do. And yes, I acknowledge the bean counter's response of "this will cut to our profits", but they do not understand that the number on the bank account doesn't equate to the value of their work. Essentially, getting paid too much for a subpar job is one of our driving forces of inflation.
@rehaansiddiqieАй бұрын
@permik To be fair, they are on a budget, yes, but also under a deadline. They need to make the game, make it function in the first place, add features, etc. Deadlines are the reason why cool stuff like this can't happen unfortunately in the AAA sphere. Indie developers can do this, though.
@amykatnameАй бұрын
@@rehaansiddiqie as permik said it's not an excuse, in this case you hire individuals separate from the main coding of the project, individuals that specialize in micro optimizations like what Kaze is doing
@rehaansiddiqieАй бұрын
@@amykatname there could be a chance of many things going wrong in the game that needs to be frequently QA'd then. Especially with how complex games are these days compared to just developing an N64 game with an engine that was based off another one, with a deadline.
@Wyatt_JamesАй бұрын
Is the display list always filled from start to end with no holes?
@KazeClipsАй бұрын
if there were holes, you'd get an instant crash
@Wyatt_JamesАй бұрын
Well surely not if you branched past them. Anyway, I'm wondering if you're evicting more than you need to from DCache. A quick Google shows an 8KB direct-mapped DCache with 16-byte lines, so 512 lines. That's only 1024 GFX commands possibly in cache at once, so you would only, at max, need to flush the last 1024, no? Edit: oh, I may have been wrong about the associativity, but that shouldn't affect the hypothesis.
@KazeClipsАй бұрын
i can not evict more than there is in cache
@Wyatt_JamesАй бұрын
I was moreso thinking about the iteration itself. I guess it wouldn't really matter since you aren't CPU-bound, though.
@KazeClipsАй бұрын
yeah adding logic to prevent further iteration would cost more data throughput in the form of instruction cache, so it might end up being more expensive. i've counted the total iterations though and it's barely more than writebackall (and with base libultras writeback all, it's less loop iterations even)
@fruitsnackia2012Ай бұрын
so basically this make it only refresh what needs to be refresh instead of refreshing the entire cache block?
@KazeClipsАй бұрын
yeah although "refresh" isn't the right word - more like "commit to memory"
@fruitsnackia2012Ай бұрын
@@KazeClips ah ok got it. cool :P
@adamzheng27Ай бұрын
why is Mario's head frozen while looking towards the right? (near beginning of the video) potential animation error?
@malachigvАй бұрын
IIRC I remember Kaze mentioning it was to reduce variance in the performance benchmarks, that or maybe the animation is paused to give time for benchmarking in the first place? If the animation code takes the same amount of time as the benchmark algorithms, then pausing the animation gives time for benchmarking while still getting a rough idea of real time processing. At least I think that's what's going on...
@KazeClipsАй бұрын
having mario stand still gives us consistent overdraw so that the perf benchmarks vary less
@dchen73Ай бұрын
With all these optimizations, how hard would it be for other modders to add or change things in the engine?
@KazeClipsАй бұрын
most things are easier to change and modify imo because of how debloated the code is and how things that used to work 2 different ways now just work 1 way. but there are volatile things where touching them could cause crashes in the future.
@timmygilbert4102Ай бұрын
Let's go 🎉
@nintendo4life132Ай бұрын
You have more to say about it
@lessi5_uaАй бұрын
Have you played yoshi's story
@crabbyboi9127Ай бұрын
why are you using wsl instead of just installing linux?
@VizimechАй бұрын
Because desktop Linux is a miserable experience and the Linux community is too up its own ass to ever consolidate it and fix it
@brahillms1374Ай бұрын
for a less sensationalist answer, it makes developing for linux easier than via a VM for users that run Windows on their host machine.
@KazeClipsАй бұрын
i would not be able to use half the programs i use for developing on linux i would not be able to do my dayjob if i was using linux
@crabbyboi9127Ай бұрын
@@KazeClips interesting, out of curiosity which programs would be causing you problems?
@KazeClipsАй бұрын
photoshop, sony vegas, hxd, nemu, pj64 and ares i believe