Textures and Models Optimization

Hi guys . my question is that what is some of the most advanced ways that professionals and companies like Ubisoft , Rockstar and EA use to optimize their models and textures . me and my team are in the middle of our open world multiplayer game so its full of buildings and objects like vehicles and I’ve always consider poly count and texture resolutions as our most limitation . i just want to know what are some important ways of optimizing models and textures for example we don’t bring our objects to substance as long as it gives us a texture set for each object , instead we create some basic materials and material instances and we try to match our models with it. and by the way I’m very curious about how textures and models get process by GPU or CPU of RAM any link of documentation or tutorial that can explain that would be help full because i think its essential for me to know that so i know what exactly do what i really want my game to be CPU based because as i know most of the time GPU is the bottleneck

basically if you have 1 or 100 tips , tricks , experience , link , video or whatever i would be really happy if you share it