How Optimizations made Mario 64 SLOWER

preview_player
Показать описание

Рекомендации по теме
Комментарии
Автор

My nightmare is to have someone 30 years in the future totally roast my code

VideoGameBoxReviews
Автор

Wild that Nintendo implemented culling for individual rocks but not for the giant cave at the end of a long tunnel, haha. I'd always assumed that culling/loading was the whole reason the tunnel was there.

AjaxGb
Автор

The code needed to optimize being larger than the issue its trying to optimize feels like some kind of punishment from greek myth

rednbloo
Автор

fun fact: exposure to performance lottery can result in a shift to long term agricultural work 👀

thecozies
Автор

they probably wrote most of the code on a SGI workstation way before they made the n64 hardware, and that workstation probably had much faster memory, so it made sense to optimize the code that way. When they ported the code to the retail hardware it was pretty bad but there was no time left for it and they decided to ship it. Well that’s only a theory, but it makes sense to me

AntonioBarba_TheKaneB
Автор

The most 80's looking japanese programmer imaginable is staring dead eyed at this video while chainsmoking

gameworkerty
Автор

Moral of the story here goes beyond N64 development: Optimizations don't exist in a vacuum. You need to know where your bottleneck actually is before you can attempt to work around it.

HamStar_
Автор

This video was flagged as made for kids, so I didn't get a notification not did it show up in my subscriptions tab. and the option to enable notifications is greyed out. Good ol YouTube

indignasmr
Автор

I think the main reason Nintendo used memory instead of the CPU for maths was because Nintendo was used to programming the NES and SNES, which both had fairly weak built in CPUs. The reliance on memory for lookup tables was probably instinctual.

Noisy_Cricket
Автор

Never in a million years would I have thought removing Mario’s LOD model would actually have performance benefits.

MDPToaster
Автор

Evil Kaze in a parallel universe:
How I Optimized Mario 64 to Run at <1 FPS!

johnclark
Автор

I love how you start the video with over compressed footage of SM64 in an incorrect aspect ratio with ugly filtering in an emulator despite the fact that you clearly know better. Really takes me back to 2010 😭

ales
Автор

Removing the lod model is like the bell curve of optimization. It's good because Mario doesn't look worse from far away and because the N64 does less work by executing less code.

promaster
Автор

seeing those practically unusable profiler bars really puts into perspective how single digit frame optimizations could have been overlooked lol

greebo
Автор

it's interesting how relevant some of this is to games today, memory bandwidth is obviously a lot better now but it still is an issue so it's largely still relevant to optimise for data locality and maximise efficient usage of the cpu cache.

BadComoc
Автор

Looks like the developpers were used to old architectures and had a hard time to optimise for a new modern CPU with pipeline, caches, and so on. All those optimisations were usefull on old processors with simple microarchitectures, were the constraints were different. Unrolling loops, inlining, memoization of matrices, LUTs for trig functions, are optimisations like that. The memory wall did hit hard on that period, the use of a RISC CPU wasn't helping either for the code size.

guyg.
Автор

I have heard stories of western developers being given japanese manuals for hardware and being unable to make sense of them. I wonder if inverse happened here while nintendo was both creating N64 and games for it.

arciks
Автор

It's always better to remove a problem than to add a solution, when possible.
For me it usually makes the codebase slimmer, easier to read and easier to develop further.

johnfrian
Автор

People think the PS1 was more powerful because it did transparencies, colored lights and additive blending like it was nothing, so when they play the system on an emulator with perspective correction and in high-res the games appear much better than an emulated N64 game.

farben_
Автор

I love your dedication to get the absolute most out of hardware by actually rethinking your conceptualization of the software to match the hardware's capabilities. Most people are so inflexible in their approach to programming, which is why for the most part we still write software for an architecture from the 1980s.

seeibe
visit shbcf.ru