Do you guys have any experience in what an VFX artist should have an eye on when optimizing stuff for the Nintendo Switch? Of course overdraw might always a problem but besides that, did you got any tips for me?
We don’t know a lot about the internal architecture of the switch, graphics card are custom made in partnership with nvidia, so its probably quite similar to mobile nvidia cards
I’d say optimise for drawcalls and drawspeed. So more particles over more complex shaders. Overlaying similar elements instead of creating a lot of materials. Try and limit per frame procedural generation.
If you have an abundance of memory, use more sprites.
Look at breath of the wilds effects for count estimates
I don’t know how the alpha clip vs alpha fade struggle turns out, but looking at botw I can only guess that clipping should be better as expected.
I’m not sure about these things, so if someone can second this?
As I told Bruno yesterday, it might not be a bad idea to contact the Switch-emulator people, if anybody knows whats under the hood its them and they are probably easier to get a hold of than nintendo.
I also think the emu comes with a lot of stat-related things, but which ones I dont know. (havent used it myself yet)
I remember one of the Wii-ones being able to show you renderpass after renderpass in slowmo.
Its nice data.
Generally mobile gpus have gone towards alpha blend being faster than alpha test, except for Nvidia’s GPUs which have always been much more desktop like and thus alpha test is faster.
Basically writing to the zbuffer has a memory write cost, much of which is hidden on GPUs with various compression schemes (saving each polygons’ plane rather than individual pixel depth, etc). Using alpha test doesn’t allow most of these compression schemes, so it can lead to the entire zbuffer having to be uncompressed, as well as the per pixel depth having to be written out. Additionally mobile GPUs (with OpenGL ES 2.0) to still do all of the shader computation in areas that are clipped.
Nvidia’s desktop lineage has different compression schemes it can fall back to when alpha test is employed, and will actually skip computation of fully clipped pixels. However I think all OpenGL ES 3.0 capable GPUs can now handle cutout more like Nvidia’s GPUs so it’s not really an issue anymore.
Also, BotW’s smoke particle shaders are surprisingly complex and seem to favor limited, complex particles over quantity (though they’re also one of the common causes of framerate issues in the game).
I don’t have any personal experience with the Switch, but I’d say treat it like a low end desktop GPU.