Deranged, insane, mouth-breathing gremlin reviews Yandere Simulator's code for 57 whole minutes.
The purpose of this video is to let everyone learn from one man's mistakes, from a mostly objective point of view, focusing ONLY on the code and resolving any and all misconceptions and myths. I've learned a great deal about the internals of this game, Unity, and C#. Hopefully, you'll walk away knowing something you didn't know before.
00:00 Introduction
01:22 Exploratory Benchmarks
03:48 Profiling
20:46 Actual Performance Concerns
21:40 Current Architecture
24:34 Hypothetical Architecture
28:52 Implementation Details
49:33 The Little Things
53:08 Style
54:26 Conclusion
55:48 Outro
Outro music by Nick Seeth: SoundCloud: user-604826460-609762924
I made all the other music: SoundCloud: yandere-sim-code-review
Edited by Clock Man: @clockmanoffical
----------------------------------
Watch me live on twitch: Twitch: rollthedyc3
Follow me on twitter: Twitter: rollthedyc3
Check out my projects: https://github.com/dyc3
Watch this video with your friends: https://opentogethertube.com/quickroo...
Deranged, insane, mouth-breathing gremlin reviews Yandere Simulator's code for 57 whole minutes.
The purpose of this video is to let everyone learn from one man's mistakes, from a mostly objective point of view, focusing ONLY on the code and resolving any and all misconceptions and myths. I've learned a great deal about the internals of this game, Unity, and C#. Hopefully, you'll walk away knowing something you didn't know before.
00:00 Introduction
01:22 Exploratory Benchmarks
03:48 Profiling
20:46 Actual Performance Concerns
21:40 Current Architecture
24:34 Hypothetical Architecture
28:52 Implementation Details
49:33 The Little Things
53:08 Style
54:26 Conclusion
55:48 Outro
Outro music by Nick Seeth: SoundCloud: user-604826460-609762924
I made all the other music: SoundCloud: yandere-sim-code-review
Edited by Clock Man: @clockmanoffical
----------------------------------
Watch me live on twitch: Twitch: rollthedyc3
Follow me on twitter: Twitter: rollthedyc3
Check out my projects: https://github.com/dyc3
Watch this video with your friends: https://opentogethertube.com/quickroo...
CORRECTION: Combining meshes does not necessarily reduce draw calls. I think Unity does it to improve load times.
SO WHY IS THE GAME SLOW? See: https://www.youtube.com/post/UgwqYKf598HtLsnKV314AaABCQ
I'm sorry for all the mic popping. :( Tried to fix it in post as much as possible, but we couldn't get all of it.
About drawcalls: Unfortunately, Unity's frame debugger does not work on linux.
However, pointing the camera at all the students causes the game to render about 2 million triangles, and looking away makes the game render about 200k triangles. Don't need the frame debugger to deduce the problem here.Apparently there is a lot I don't know about graphics engineering. Sounds like a good topic for another video....UPDATE:
I took a very brief look at the frame debugger on windows, and it pretty clearly explains why looking at students decreases the framerate so much. Here's a summary of what I found:
- Students are drawn twice, using 2 different shaders, one without the toon outline, and one with the toon outline.
- The student's irises have their own draw calls. Some irises have little shines in them, which are on another iris mesh, with their own draw call.
- Each modular part of each student has it's own draw call.
I've been working with Yandere Dev to optimize the game and bring the framerate up.