producation wrote: ↑Fri Jan 26, 2024 20:31
Wire might be not that familiar with logic gates so the example is quite helpful for anyone who does not have a background in IT, electrical engineering or mathematics.
Just intended as an example though, I can be a bit slow so need a reminder about the basics sometimes
. Context also matters, as there are different approaches betwwen common node editors.
I would also wish there was a huge "IMPORTANT" marked chapter about best practices and resource usage between different approaches to instancing. I've been working on and off on a tiling patch, but has had a bad feeling about the resource usage, as every tile in essence was a duplicated composition-resolution texture.
At 1 tile with a radeon 7900xtx, this had a baseline of ≈2.5% GPU usage as reported by the activity monitor. Setting it to a 20 x 20 grid however increased it to ≈65% usage, 100 x 20 went above 90% . Not too surprising considering it then was 400 - 2000 textures at composition resolution (1080p).
After trying out a few different solutions, swapping to a Mesh2D and instancing the textured mesh instead had the same impact at 1 tile, but only went up to ≈6.5% at a 20 x 20 grid (400 tiles), and ≈8.5% at a 100 x 100 grid (10 000 tiles). However, the logic tree for the UI from the looks of it eats RAM and FPS at the larger scales. Going from about 200MB at 400 instances, to over 4 Gigs at 10 000 instances. At a 100 x 100 grid, I get 11 FPS with it in, and 60(locked) without it. Will have to look into this next.
Some info on pitfalls and how to avoid gluttonous workflows in that sense would be very welcome!