I remember I had a run ( a couple years ago) where I tried to place every t5 tower. My game on my pc crashed on round 323 but I somehow was able to get to 325 on my phone before crashing
Modern phones run the game surprisingly well. I put my IPhone 14 Pro in airplane mod, no background apps, lowest brightness, propped up against a fan for temps, and tech bot'd everything lol. Made it to my all time high of 394
same situation, except Crysis uses 2 cores instead of the single one, the devs in 2007 thought the future would have 10GHz dual cores and as we all know we got increases in core count instead of clocks
I exclusively play on mobile and I like to go late game from time to time on impoppable to see how far I can get. Most of the time the game crashes somewhere between round 350 and 400 (furthest I got is 410 on Cubism). Then I keep selling towers until it doesn't crash anymore or I die
There's a reason for this: BTD1 to 5 all ran on Flash (Execpt on mobile and PC versions) Web-based Flash player runs on 32 bit code. 32 bit code CANNOT see more than 4 gigabytes of memory. almost all PCs you can buy today is 64 bit, has a theoretical limit of 18 Exabytes (18 x 10^18) of ram, which is basically "infinite" for the average consumer.
Yeah, BTD6 does kinda blow all the other games out of the water in terms of performance. BTD4 probably could not handle 1:56 (as in straight up crash) if you replaced all the BADs with BFBs
Yeah, I just played BTD1 in the Ninja Kiwi Archive, and it still managed to lag somehow. I figured modern computers would overkill a 2007 Flash game, but I was wrong.
you can massively reduce late game lag at the cost of a small approximation error by using the damage changer and rate changer mods to make towers shoot 10 times slower while making their projectiles do 10 times more damage (it doesn't mess up additive bonuses like alch buff)
Does it really work for every tower? I'm thinking of Spirit of the Forest, does it properly affect the thorns/lightning while not affecting its ground thorn damage? Or does that also tick slower? Same with towers like inferno ring or beast handlers, or even some paragons with varied forms of damage like ace and its bombs or magus and his various abilities... does it still work fine for those?
@@Cruise323 I said late game lag. You're supposed to use it on rounds 200+ when you filled the whole map with sun avatars and stuff. Then the mod's approximation of the real game becomes quite good.
programmer here. i remember programming multithreaded prime number finder, which filled all CPUs to 100% yet was slower than running it on a single core. Later on i learned that the operation of moving data to another core is quite time expensive, practically the most expensive thing you can find (besides probably cache misses and reading from disk), so as a rule of thumb parallel threading is reserved for operations that take a ton of processing time (saving save file to disk for example) or don't really need to be fast and on point (graphics updates) regarding projectiles and towers: yes, they run updates every tick or so. sometimes people resort to only working every other tick or every number of ticks, but that affects responsivity directly as you can imagine. Bloons also receive updates every tick i think i think some optimisations could be made later on in the game when you eradicate everything anyway, but like, i am not sure how to approach this issue, especially when you, player, observe it, and game wants you to believe it's real. i do know that in later rounds, for example, MOABs drop one super hard ceramic instead of four normal ones to help it, which is a smart solution but like, apparently not enough of it
No sadly not. Quantum computing is only faster in multithreaded tasks, and as long as BTD6 remains single threaded, even a quantum computer won't help.
@@ugaboga9829 Yeah, as long as Ninja Kiwi doesn‘t make it multi threaded the Performance won‘t improve significantly. But something like BTD6 should be possible to multi-thread, however it won‘t be easy to do that.
@@ugaboga9829 Correct, since quantum processors aren´t suiable for the sort of calculations done here. There is a reason quantum-processors flopped so far.
one thing worth noting on the topic of the effects scale slider is that cpu cores that are assigned to schedule the gpu (could be one, all, non-ht cores, only physical cores (12+ gen intel), secondary or tertiary ccx cores (newer amd chips, don't know specific gen), or other distinguishing factors.) could also be the core running all the game calcuations. i'm sure that therer is some goldilock zone combination of stuff on screen & physical hardware that could legitimately cause increased cpu performance by lowering the resources the gpu needs to compute frames. one stipulation though, is that this performance increase would be well within the margin of error, and any difference being noticed is indeed much more probably a placebo effect :P (disclaimer i have no formal education on this junk i've just spend my life intrigued by computers and how they work)
@@MackanRules you can actually test your theory with the integrated gpu in the cpu, since your cpu has an integrated gpu too, just like most modern cpus. you just need to deaktivate your 4080 first
@@tooprood I juat tried that, but it only showed my 3060 for max performance and for energy saving, thats all the options it shows. so ig the 3060 is better in both then the integrated gpu in my ryzen 5 3600, and I didnt see another way of switching anything like that
@@Pajon03 The ryzen 5 3600 doesnt have an integrated gpu. Hence why it wasnt there. Only the 7000 series ryzen cpus, their laptop cpus and g series cpus have igpus
For your recordings: I dont know whether or not you are using it at the moment, but because you have an Nvidia graphics card you should look into NVENC encoding for your recordings. That usues a specialized part of your GPU for recording and thus puts a lot less strain on your processor. I hope this reaches you!
Since btd5, one of my favorite things to do when I was bored was to open up a sandbox level and see how fast I can crash the game by intentionally flooding the screen with Bloons and projectiles. As unusual as it is, I still enjoy doing so and am kind of happy it hasn’t been fixed
I rarely comment on UA-cam videos but damn, your content from BTD is absolutely marvellous. Just watched your two late game videos. Keep it up, earned a sub.
One of the big things with integrated graphics, is that instead of having dedicated VRAM on the graphics card, it just uses your RAM. When using integrated graphics, the RAM bottleneck can become a big factor on some systems
this could be a little advanced, but at least on AMD APUs (CPU with integrated graphics on steroids, better than most of intel's offerings, and even better than a GT 1030) you can change the settings on the BIOS, to allocate more ram to the iGPU. depending on the model, it usually caps out at 4 gigs for ryzen 5 APUs. Tho, if you only have 16Gigs of ram, 4 is usually the most you will need.
multithreading is actually quite hard to program and a lot of game engines that are cross platform only use one thread for compatability between pc, mobile, console that being said idk if btd6 uses an engine so yeah they might just be a bit lazy
Cipherpunk is my favourite game. I love the part where the rock stars with mohawks say "it's cipherpunking time" and break the secret codes by punking over all of the ciphers.
Was wondering why i only had ~30% on both cpu and gpu usage but still get 3 fps, turns out the game doesnt support multithreading, kinda sucks for a modern game tbh, glad i stumbled upon this video, thanks dude
I remember very funny fact about lag in geometry dash. I had lagging gameplay on tablet, but not on phone, and problem was RAM. But while researching, I learned that geometry dash uses only one core, so increasing amount of cores does not help. At least for me it seemed funny.
disabling projectiles might lower the GPU usage and improve the recording quality, but it only really seems to make a difference when you're running with integrated graphics which basically shares resources with your CPU, so when your GPU is running at 100%, it will also lag your CPU, so lowering the GPU usage affects the CPU performace as a result it's not the case for dedicated graphics cards though
I own an RTX 3060, with a Ryzen 7 3700X if you are running your game past 60FPS and WELL PAST 120... (I'm at 400+ FPS when uncapped) I think it's time to dial back a little. Cap the FPS to 60 to save your CPU and GPU power. this way you don't have to worry your PC running to thermal issues just to run round 163.
this reminds me of playing starcraft2. a 14 year old game which is also mostly single threaded(because back when it was being made, the best cpus had at best 2 or so cores), but the game is well optimized and built for 2010 CPU's so it still runs well, unless you do the lategame equivalent of spamming massive amounts of units, which unlike btd6, is hard to do outside playing with stukov in coop.
Most of the smartphone nowaday have multiple core inside the processor. So just let people pick and choose to use 2-3 processing core or something to reduce the lagging. More core mean more computing power to calculate. In PC you can make a settings like let people use 50% of their CPU core for btd6. Make computing power option so people can choose will be good for BTD6
unfortunately its not as simple as "make app use more cores" basically the entire app would have to be reprogrammed which is unfeasible. multithreading is complicated
@@tooprood Some calculations cannot even profit from multiple cores, since your speed on multicore would be SLOWER. not faster. Becasue cores have to talk with each oher. And wait for each other. Which costs time! And a singlecore doesn´t talk to other cores nor does it have to wait = execution is much faster.
The solution would be for ninjakiwi to release an update, where the game can run on 1 or multiple cores if available. So phone players can still play and pc players can go late game
This game will never be able to run on multiple cores. Because it runs on UNITY.For same reason the game "Cities Skylines 2" also uses Unity which cannot use multiple cpu-cores. Unity-engine in general is called "Infinity" and never supported multicore to begin with. The reason is simple: Singlecore is faster. For certain calculations, multicore would lead to a WORSE result (= Murphy´s law, what can happen will happen). If you ask your why result is worse then: Simple: Because cores have to wait for other cores.
You can at least in some games increase the performance by toggling off the steam background chat thing. I tried this on doom eternal and it boosted my fps by like 15
Yo Mackan! Your round 609 logs run from just over a year ago might be able to load better if you didn’t record whilst trying to load it. Just a suggestion, you’ve probably tried it already, and I don’t even no if you still have the save file!
I do have the save file, and i can load it! :) I actually could on the old PC too, noticed a few days after i made the 609 video but i have not continued the run
@@neutraldalek4222 No need for a camera, but a capture card, it makes the computer send a signal like it was just a monitor and a 2nd pc records the image it gets from the capture card, making the performance loss non existant
Can you do a vid on testing what towers do the best late game per lag generated? Eg. Paragon champion is very good but causes a lot of lag whereas MAD is similar in terms of late game dps with much less lag. Would love to see a tier list looking at the top late game strategies ranked my damage/lag ratio Sun avatar + adora spam Paragon champion Grandmaster + jitsu + shinobi army Temple spam PSMFC Etc.
As a player with integrated graphics from an intel i5-4th gen, hiding the projectiles REALLY improves the FPS I also checked the fps with and without projectiles and it really does help, please trust me 😭🙏
As someone who used to have a 6700k (basically identical to mackan's 6800k in terms of single thread performance) that had to use its iGPU i can confirm that my FPS gets way lower than mackan's old pc with a graphics card
@@minknine Correct. modern processor suck ass. They have a very high latency. Such calculations you talk about don´t like latency. THey all have to be calculated in the seme time and be finished in the same time. This means you cannot calculate them on a 2nd processor-core, which is miles away, which has to be talked with...
I didn’t believe this at first mainly cuz it was running on my phone just fine but now I’m playing with the ancient monkey mod and i can’t get past my highest round without it crashing and the run being unable.
Just got myself a PC upgrade aswell, not the same jump as yours but still went from a 2070 super to an RX 7800 XT and from an R5 3600 to an R5 7600X, nice timing lol
Makes no sense. This game simply doesn´t use your GPU. Because it cannot profit from it (Too high latency, the latency of a typical GDDR5-Ram is huge!).
This is because Nasa doesn´t use super-powerful components any longer. they use standard-parts now only. They stopped using stuff like PS3 many years ago. Nasa uses standard-AMD/intel chips-today.
5:22 the performance impact should be negligible for only a few hundred or thousand (up to _potentially_ even millions) projectiles, unless the game doesn't take advantage of common optimization techniques like spatial partitioning (to reduce the number of collision checks) or vectorization (using "modern" CPU capabilities to perform a single operation on multiple values at the same time) They're not the easiest to implement, especially vectorization, but they're absolutely worth it in my opinion. And, on that note, I'm disappointed at the lack of research into auto-vectorization by computer scientists, which would allow compilers to generate code that utilizes vectorization without special involvement.
I wonder if there would be any way for the game code to shift away from using the CPU into using the GPU; after all, if two projectiles hit the same bloom at once, you do need to decide which one will count its pierce loss. Another, albeit really weird and probably nightmarish option, could be to make all collisions happen via the bloon path. As in, the bloon path updates a list of everything touching it, and runs through the logic all by itself. If CPU is being used, one might as well go all the way :)
for your first idea, probably not. while yes, you *could* move some calculations off to the gpu, this would bu much more inefficient than performing them on the cpu. a gpu is really good at doing an absolutely monumental amount of simple calculations (think 1+3), while a cpu is really good at performing advanced calculations (think APPROXIMATE(1/SQRT(SRC2[31:0]))) relatively quickly. however, a cpu takes (as an example, not solid numbers don't cite me) only twice as long to do APPROXIMATE(1/SQRT(SRC2[31:0])) as it does to do 1+3. the gpu, however, would need to string together lots and lots of different operations to accomplish the same thing that the cpu did in now just a fraction of the time.
I read somewhere where they added the option to make proctiles smaller that the projectiles arent causes the lag. The sheer amount of calculations requ😊ired is the problem.
9:13 I actually think it is due to them using a smartphone with an arm cpu or a pc with an integrated graphics processing unit (iGPU) which is making the cpu heat up in accordance to the GP unit because they are under same hood and that also hinders the performance of the CPU cuz it could begin to throttle it that happens
Wen you play on iPad or phone you will see a difference wen using the fx slider (it’s like going from 3 fps to 5 fps wile playing on round 574 on iPad)
For me for instance, the highest round my iPad from 2021 can handle is r356 with about as efficient and most powerful defense I could bother making. And no matter how many times I re do it in different runs it refuses to go above that 💀
I ran them before but i had to redo them because the fps counter was not being recorded and i did not notice lol So these are recent, plugged the old PC back in for a day
No. Ultraboost won´t make it faster. This game simply doesn´t want Gflops/Tflops mumbojumbo-bullshit from today. It wants fast banwidth from your processor (and lowest possible latency combined), which modern systems lack with.
It would rather not work because it wouldn't just make the CPU go faster, but also its internal clocks resulting in the game running at the same frames, but with a "perma x3" effect compared to real time. So no, keep your T5 engineers away from your CPU
No, that´s normal if you don´t want your collissions to break (See all other modern videogames, where collissions simply break for this reason = not calculated in time = not detected in time = broken collission-detection in Call of Duty, need for Speed, many other Openworld games, in Monster Hunter etc).
If the problem is that the game is mainly single threaded why does recording further reduce fps? And could you get around that by dedicating some cores to the game and others to recording?
I don't know enough about this to say but i can guess... I think it's because as i mentioned in the video, the BTD6 main thread gets bounced around on all the different cores and those cores also have to do other work (like recording) so things will get in the way of the game thread. The game thread does not get it's own core that only plays the game while the others work on other things. But again, im just guessing here :p
Simple: You want to record what is happening on that core. And not what happens (nothing) on Core 32 or what happens on Core 8, also nothing as jus this game is running on Core 2 (just an example). That´s how recording works. You capture what a processor-core says. Capturing means copying the code. Capturing costs performance because you need to TALK to that processor-core. Which costs time. Time = less performance.
I wonder if someone could get btd6 to use multiple cores, I've seen mods do this for other games and even a mod that makes your gpu used a bit more increasing overall performance (Terraria's Nitrate mod) although that game is in a different engine
Game´s logic would crash if you would do it (or other things/calculations would break). Unity-engine is singlecore-engine not a multicore-engine. And modern processors simply SUCK at singlecore = game over.
Not a whole lot of games are multi-core or multi-threaded. Its just simply too difficult and time consuming to implement. A good example tho is Valve's Source games having support for multi-core rendering which massively increases performance. If NinjaKiwi decided it would be worth the time to multi-core or multi-thread the physics the game would run basically without lag on majority of systems. Also u can record your screen from another PC bro XD
I dont really play btd6 on my pc anymore however i think if you have cheat engine you can change the game speed to be really slow it actually smooths out the fps (im saying this from memory from over a year ago)
That is a good idea, would help for sure! Although im happy enough with the results i have since there would still be those eye burning single digit fps in tough scenarios even with a capture card
I wonder if BTD6 will perform better on my 7800X3D/4080 Super rig with 64 gigs of RAM? The extra 56MB of L3 cache over your 13700K might change things.
A single flying fortress with permabrew slows me down to 1x speed on round 101+... Maybe some towers would benefit from shooting slower, hitting harder, gaining more extra damage from tower buffs, and triggering more extra damage from bloon debuffs - all only past round 100, probably
That won´t work. This game doesn´t run on GPU, like 99% of all modern videogames. It runs on the processor only. Rewriting it wno´make it mageically run faster. All modern processors from AMD/INTEL, arm and even from Apple are apeshit. And this game simply wants a future processor, no some modern 128/256/512 core-processor bullshit.
@@commander3494 Code-execution would break. Not all code can run on a muticore-system.Which is excahy why the decision was made that UNITY which is the world´s most-advanded engine only runs stuff with singlecore. But rembember that singlecore-stuff is also easier to develop.
5:45 @MackanRules would that mean that if hypothetically btd6 were recoded to have multi-threaded instead of sequential game operation would it run better?
Mostly because it's quite difficult to parallelize something like the projectile calculations because they are inherently sequential. If you were to naively run the calculations for each tower in parallel for example, bloons would get popped by multiple towers at the same time. This could be resolved however that adds additional overhead decreasing the effectiveness.
I play this game with integrated graphics, an i5 1155g i think, and it runs at 60 perfectly fine, even on 2x, its completely down to the cpu, the gpu is no where near an issue for higher frames
Because it's not that easy, and frankly not very possible. There isn't much you can properly thread without running into issues with race conditions, thread-locks, mutexing.
AI-code often cannot run on multiple cores. Which is why you limit execution to one processor-core only. Else code breaks (AI doesn´t want to wait until another processor-core is finished with an AI-calculation, when a code breaks here, this is called a "Race-condition").
Im hoping they make the optimisations for btd7 since with the advent of powerful tools like vulkan, writing shaders for GPUs are easier than ever, making acceleration structures has also been researched heavily so there really isn’t any excuses
This game cannot use shaders, sir! Making all your Tflops of modern AI/GPU...just that: Outdated crappy tech. lol. Just same problems with modern AI: Cannot calculate AI-tasks well. Sucks at everything which has to do with logic.
i was thinking about this, how could this be optimized? knowing that the game uses 3d assets, is it possible to unload a portion of those assets when they are not facing you?
Since the game looking like it use CPU more than GPU. Consider try the alternative like 7800X3d or 5800x3d, they tend to handle single thread games better since they have a high amount of cache, which open up more bandwidth and resulting more performance.
I had to buy the game on pc for this reason because around round 500 levels take 6--8 hours on mobile (is better but still not bareable at 1-2 hours a level)
Would it be possible that Ninja Kiwi would change the way BTD6 runs to move single-threaded to something else? I'm not a tech guy so I don't know how that could work, or it if is a viable option for that kind of 'loading'
Since btd6 is a unity game could modders figure out implementations of unity's launch options? There could also be genuine performance issues in the code that would be a nightmare to debug because of tgeir sheer amount, and btd6 preffering to run on 1 core instrad of having any sort of multithreading enabled would help and sonething i want as a lategame player
Game cannot run on multicore. Unity is a HIGHEND-engine which only runs on singlecore.there exists no multithread-option because multithreaded coding leads to very high latency. This game cannot run with higher latency. All calculaltions have to be done and finished at the same time. Which is typical for no-graphics RTS-highend games. This game simply was made to run on a WiiU-processor (PowerPC)since those have highest singlecore-performance. Also way lower lateny = optimum for cuch realtime-calculations, where code has to be calculated as fast as possible and other code is waiting for it and won´t wait long until code breaks (timer-function). Unity-engine does not support a "render-thread". All rendering, calculations, physics, AI etc has to be done on the same core.
A certain processor could handle this game with ease...But this processor isn´t made from AMD/INTEL it´s also not an ARM and not from Apple and the game isn´t avaiable for this kind of military processor. But hoh boy...I wonder what would happen if you feed this lowend grpahics taoaster-game to a military processor? Boom! 1000 Fps?
I remember I had a run ( a couple years ago) where I tried to place every t5 tower. My game on my pc crashed on round 323 but I somehow was able to get to 325 on my phone before crashing
unity games on mobile and on pc run a bit differently
Modern phones run the game surprisingly well. I put my IPhone 14 Pro in airplane mod, no background apps, lowest brightness, propped up against a fan for temps, and tech bot'd everything lol. Made it to my all time high of 394
would love to see a high round challenge with this concept!
I got to 327 on my phone it didn't crash 💀
bro what the heck guys my tablet can only get to round like 150 at MOST before crashing every time and sometimes it crashes at like round 80-100 😭😭😭
"but can it run crysis?" is now "but can it run Bloons?"
CAN IT RUN ROUND 76? (The regrow rush round)
WITH A TORNADO DRUID?
More like “Can I beat elite Bloonarius without paragons on it”
same situation, except Crysis uses 2 cores instead of the single one, the devs in 2007 thought the future would have 10GHz dual cores and as we all know we got increases in core count instead of clocks
@@TheHammerGuy94Make sure to make it a bottom path ❗
I remember seeing a joke about a fanmade "Sun Avatar Fan Club" being exactly as much of a lag machine as you'd expect.
I exclusively play on mobile and I like to go late game from time to time on impoppable to see how far I can get. Most of the time the game crashes somewhere between round 350 and 400 (furthest I got is 410 on Cubism). Then I keep selling towers until it doesn't crash anymore or I die
Even the older bloons games slow the FPS to like zero lol. One of my earliest memories was playing btd2 and how it slowed so much
There's a reason for this:
BTD1 to 5 all ran on Flash (Execpt on mobile and PC versions)
Web-based Flash player runs on 32 bit code.
32 bit code CANNOT see more than 4 gigabytes of memory.
almost all PCs you can buy today is 64 bit, has a theoretical limit of 18 Exabytes (18 x 10^18) of ram, which is basically "infinite" for the average consumer.
Yeah, BTD6 does kinda blow all the other games out of the water in terms of performance. BTD4 probably could not handle 1:56 (as in straight up crash) if you replaced all the BADs with BFBs
Yeah, I just played BTD1 in the Ninja Kiwi Archive, and it still managed to lag somehow. I figured modern computers would overkill a 2007 Flash game, but I was wrong.
Interesting way to show off your new pc, I love it
😅
you can massively reduce late game lag at the cost of a small approximation error by using the damage changer and rate changer mods to make towers shoot 10 times slower while making their projectiles do 10 times more damage (it doesn't mess up additive bonuses like alch buff)
Does it really work for every tower?
I'm thinking of Spirit of the Forest, does it properly affect the thorns/lightning while not affecting its ground thorn damage? Or does that also tick slower?
Same with towers like inferno ring or beast handlers, or even some paragons with varied forms of damage like ace and its bombs or magus and his various abilities... does it still work fine for those?
@@Cruise323 I said late game lag. You're supposed to use it on rounds 200+ when you filled the whole map with sun avatars and stuff. Then the mod's approximation of the real game becomes quite good.
I tried to do this but the rate change mod doesn’t even work
@@PhantomGamerMods just tested it and it works. you probably didn't install melonloader correctly
Sounds like guaranteed loss to ddts anywhere past r150 or so lol
programmer here. i remember programming multithreaded prime number finder, which filled all CPUs to 100% yet was slower than running it on a single core. Later on i learned that the operation of moving data to another core is quite time expensive, practically the most expensive thing you can find (besides probably cache misses and reading from disk), so as a rule of thumb parallel threading is reserved for operations that take a ton of processing time (saving save file to disk for example) or don't really need to be fast and on point (graphics updates)
regarding projectiles and towers: yes, they run updates every tick or so. sometimes people resort to only working every other tick or every number of ticks, but that affects responsivity directly as you can imagine. Bloons also receive updates every tick i think
i think some optimisations could be made later on in the game when you eradicate everything anyway, but like, i am not sure how to approach this issue, especially when you, player, observe it, and game wants you to believe it's real. i do know that in later rounds, for example, MOABs drop one super hard ceramic instead of four normal ones to help it, which is a smart solution but like, apparently not enough of it
It’s okay, once we get processors utilizing quantum computing we will be able to run btd6 flawlessly
Maybe we can reach 5 frames with a low of 4😂
No sadly not. Quantum computing is only faster in multithreaded tasks, and as long as BTD6 remains single threaded, even a quantum computer won't help.
@@amazinghorizon8270 so we would still only get 4 frames with a low of 3?.. 😢
@@ugaboga9829 Yeah, as long as Ninja Kiwi doesn‘t make it multi threaded the Performance won‘t improve significantly.
But something like BTD6 should be possible to multi-thread, however it won‘t be easy to do that.
@@ugaboga9829 Correct, since quantum processors aren´t suiable for the sort of calculations done here. There is a reason quantum-processors flopped so far.
one thing worth noting on the topic of the effects scale slider is that cpu cores that are assigned to schedule the gpu (could be one, all, non-ht cores, only physical cores (12+ gen intel), secondary or tertiary ccx cores (newer amd chips, don't know specific gen), or other distinguishing factors.) could also be the core running all the game calcuations. i'm sure that therer is some goldilock zone combination of stuff on screen & physical hardware that could legitimately cause increased cpu performance by lowering the resources the gpu needs to compute frames.
one stipulation though, is that this performance increase would be well within the margin of error, and any difference being noticed is indeed much more probably a placebo effect :P
(disclaimer i have no formal education on this junk i've just spend my life intrigued by computers and how they work)
I learn so much from reading comments dude 😂 Thanks for the cool knowledge!
@@MackanRules you can actually test your theory with the integrated gpu in the cpu, since your cpu has an integrated gpu too, just like most modern cpus. you just need to deaktivate your 4080 first
@@Pajon03you can set an app to use whichever gpu you want by just changing some settings
@@tooprood I juat tried that, but it only showed my 3060 for max performance and for energy saving, thats all the options it shows. so ig the 3060 is better in both then the integrated gpu in my ryzen 5 3600, and I didnt see another way of switching anything like that
@@Pajon03 The ryzen 5 3600 doesnt have an integrated gpu. Hence why it wasnt there. Only the 7000 series ryzen cpus, their laptop cpus and g series cpus have igpus
It's worse on mobile
On the 15 pro it’s all good
Round 300 on mobile is (crash)
Got to round 370 on mobile on 14 pro
It runs good minus late game on mobile
Works perfect on iPad Pro 😍😍
For your recordings: I dont know whether or not you are using it at the moment, but because you have an Nvidia graphics card you should look into NVENC encoding for your recordings. That usues a specialized part of your GPU for recording and thus puts a lot less strain on your processor. I hope this reaches you!
Yes i use it! :) Thanks!
Since btd5, one of my favorite things to do when I was bored was to open up a sandbox level and see how fast I can crash the game by intentionally flooding the screen with Bloons and projectiles. As unusual as it is, I still enjoy doing so and am kind of happy it hasn’t been fixed
I rarely comment on UA-cam videos but damn, your content from BTD is absolutely marvellous. Just watched your two late game videos. Keep it up, earned a sub.
Which path? Which tier? I’d like to know more about this elusive insta monkey.
One of the big things with integrated graphics, is that instead of having dedicated VRAM on the graphics card, it just uses your RAM. When using integrated graphics, the RAM bottleneck can become a big factor on some systems
this could be a little advanced,
but at least on AMD APUs (CPU with integrated graphics on steroids, better than most of intel's offerings, and even better than a GT 1030)
you can change the settings on the BIOS, to allocate more ram to the iGPU.
depending on the model, it usually caps out at 4 gigs for ryzen 5 APUs.
Tho, if you only have 16Gigs of ram, 4 is usually the most you will need.
I feel like coding the game to only run on one thread is a major oversight
minecraft momento :(
it is a huge oversight for games like bloons multithreading coud do wonders
@@swordlegend3256 or just running the calculations on the gpu, but I agree
@@kitty.x3 real
multithreading is actually quite hard to program and a lot of game engines that are cross platform only use one thread for compatability between pc, mobile, console that being said idk if btd6 uses an engine so yeah they might just be a bit lazy
Cipherpunk is my favourite game.
I love the part where the rock stars with mohawks say "it's cipherpunking time" and break the secret codes by punking over all of the ciphers.
Was wondering why i only had ~30% on both cpu and gpu usage but still get 3 fps, turns out the game doesnt support multithreading, kinda sucks for a modern game tbh, glad i stumbled upon this video, thanks dude
all Unity-games don´t support multithreading...!
Damn baldurs tear of the eldin souls looks great
I remember very funny fact about lag in geometry dash. I had lagging gameplay on tablet, but not on phone, and problem was RAM. But while researching, I learned that geometry dash uses only one core, so increasing amount of cores does not help. At least for me it seemed funny.
disabling projectiles might lower the GPU usage and improve the recording quality, but it only really seems to make a difference when you're running with integrated graphics which basically shares resources with your CPU, so when your GPU is running at 100%, it will also lag your CPU, so lowering the GPU usage affects the CPU performace as a result
it's not the case for dedicated graphics cards though
I own an RTX 3060, with a Ryzen 7 3700X
if you are running your game past 60FPS and WELL PAST 120... (I'm at 400+ FPS when uncapped)
I think it's time to dial back a little.
Cap the FPS to 60 to save your CPU and GPU power.
this way you don't have to worry your PC running to thermal issues just to run round 163.
I'll have a Intel Celeron and hope the game boots up
this reminds me of playing starcraft2. a 14 year old game which is also mostly single threaded(because back when it was being made, the best cpus had at best 2 or so cores), but the game is well optimized and built for 2010 CPU's so it still runs well, unless you do the lategame equivalent of spamming massive amounts of units, which unlike btd6, is hard to do outside playing with stukov in coop.
Bro just wanted to felx his awesome pc lol!😅 Good content!
🤭
@@MackanRules 🤭 Ojdå!
Most of the smartphone nowaday have multiple core inside the processor. So just let people pick and choose to use 2-3 processing core or something to reduce the lagging. More core mean more computing power to calculate.
In PC you can make a settings like let people use 50% of their CPU core for btd6.
Make computing power option so people can choose will be good for BTD6
unfortunately its not as simple as "make app use more cores"
basically the entire app would have to be reprogrammed which is unfeasible. multithreading is complicated
@@tooprood Some calculations cannot even profit from multiple cores, since your speed on multicore would be SLOWER. not faster. Becasue cores have to talk with each oher. And wait for each other. Which costs time!
And a singlecore doesn´t talk to other cores nor does it have to wait = execution is much faster.
@@SmartZero-f8e I am well aware.
The solution would be for ninjakiwi to release an update, where the game can run on 1 or multiple cores if available. So phone players can still play and pc players can go late game
This game will never be able to run on multiple cores. Because it runs on UNITY.For same reason the game "Cities Skylines 2" also uses Unity which cannot use multiple cpu-cores.
Unity-engine in general is called "Infinity" and never supported multicore to begin with.
The reason is simple: Singlecore is faster. For certain calculations, multicore would lead to a WORSE result (= Murphy´s law, what can happen will happen).
If you ask your why result is worse then: Simple: Because cores have to wait for other cores.
You can at least in some games increase the performance by toggling off the steam background chat thing. I tried this on doom eternal and it boosted my fps by like 15
solution:make the game pause every frame and have the player do all the calculations to figure out where the projectiles will go and stuff.
Yo Mackan! Your round 609 logs run from just over a year ago might be able to load better if you didn’t record whilst trying to load it. Just a suggestion, you’ve probably tried it already, and I don’t even no if you still have the save file!
I do have the save file, and i can load it! :) I actually could on the old PC too, noticed a few days after i made the 609 video but i have not continued the run
@@MackanRules any plans on continuing it?
@@MackanRules Hear me out, you could continue the file by using your new PC and having an external video camera to record.
throwback to 2010 gameplay videos😂
@@neutraldalek4222 No need for a camera, but a capture card, it makes the computer send a signal like it was just a monitor and a 2nd pc records the image it gets from the capture card, making the performance loss non existant
Can you do a vid on testing what towers do the best late game per lag generated? Eg. Paragon champion is very good but causes a lot of lag whereas MAD is similar in terms of late game dps with much less lag.
Would love to see a tier list looking at the top late game strategies ranked my damage/lag ratio
Sun avatar + adora spam
Paragon champion
Grandmaster + jitsu + shinobi army
Temple spam
PSMFC
Etc.
Thank you for the testing and explanations 😊
I really want a benchmark mode in BTD6
As a player with integrated graphics from an intel i5-4th gen, hiding the projectiles REALLY improves the FPS I also checked the fps with and without projectiles and it really does help, please trust me 😭🙏
Really? Thanks for the info!! 😁
As someone who used to have a 6700k (basically identical to mackan's 6800k in terms of single thread performance) that had to use its iGPU i can confirm that my FPS gets way lower than mackan's old pc with a graphics card
Ask your local BTD6 engineer to overclock you CPU 😂
Ninja kiwi needs to make an actual options menu that has an option to disable monkey animations and a game quality option
it's actually the calucations that causes the game to lag
@@minknine Correct. modern processor suck ass. They have a very high latency. Such calculations you talk about don´t like latency. THey all have to be calculated in the seme time and be finished in the same time. This means you cannot calculate them on a 2nd processor-core, which is miles away, which has to be talked with...
10:42 make sure to overclock your cpu 10 times, and get a techbot to keep overclocking it.
I didn’t believe this at first mainly cuz it was running on my phone just fine but now I’m playing with the ancient monkey mod and i can’t get past my highest round without it crashing and the run being unable.
Over on mobile, we getting seconds per frame
Just got myself a PC upgrade aswell, not the same jump as yours but still went from a 2070 super to an RX 7800 XT and from an R5 3600 to an R5 7600X, nice timing lol
Sweet!
Imagine if putting Hacker Ben will stabilize the fps, it'll be too OP xD
My late game Resort setup having a few Sun temples and the map spammed with 19-20x stacked seeking shuriken max buffed Bloonjitsus on round 400🗿
The game that every graphics card maker should test their graphics cards on to see what round the game crashes.
Makes no sense. This game simply doesn´t use your GPU. Because it cannot profit from it (Too high latency, the latency of a typical GDDR5-Ram is huge!).
The NASA thing caught me off guard
You could play on a NASA Supercomputer and you'd still struggle to get 60fps past round 200
This is because Nasa doesn´t use super-powerful components any longer. they use standard-parts now only. They stopped using stuff like PS3 many years ago.
Nasa uses standard-AMD/intel chips-today.
5:22 the performance impact should be negligible for only a few hundred or thousand (up to _potentially_ even millions) projectiles, unless the game doesn't take advantage of common optimization techniques like spatial partitioning (to reduce the number of collision checks) or vectorization (using "modern" CPU capabilities to perform a single operation on multiple values at the same time)
They're not the easiest to implement, especially vectorization, but they're absolutely worth it in my opinion.
And, on that note, I'm disappointed at the lack of research into auto-vectorization by computer scientists, which would allow compilers to generate code that utilizes vectorization without special involvement.
I wonder if there would be any way for the game code to shift away from using the CPU into using the GPU; after all, if two projectiles hit the same bloom at once, you do need to decide which one will count its pierce loss.
Another, albeit really weird and probably nightmarish option, could be to make all collisions happen via the bloon path.
As in, the bloon path updates a list of everything touching it, and runs through the logic all by itself. If CPU is being used, one might as well go all the way :)
for your first idea, probably not.
while yes, you *could* move some calculations off to the gpu, this would bu much more inefficient than performing them on the cpu. a gpu is really good at doing an absolutely monumental amount of simple calculations (think 1+3), while a cpu is really good at performing advanced calculations (think APPROXIMATE(1/SQRT(SRC2[31:0]))) relatively quickly. however, a cpu takes (as an example, not solid numbers don't cite me) only twice as long to do APPROXIMATE(1/SQRT(SRC2[31:0])) as it does to do 1+3.
the gpu, however, would need to string together lots and lots of different operations to accomplish the same thing that the cpu did in now just a fraction of the time.
On top of that, moving data from the CPU/RAM to the GPU would take a huge amount of time. @@txthys
Waiting for someone to be sending btd6 runs to supercomputers for optimal hardware choices
I read somewhere where they added the option to make proctiles smaller that the projectiles arent causes the lag.
The sheer amount of calculations requ😊ired is the problem.
9:13 I actually think it is due to them using a smartphone with an arm cpu or a pc with an integrated graphics processing unit (iGPU) which is making the cpu heat up in accordance to the GP unit because they are under same hood and that also hinders the performance of the CPU cuz it could begin to throttle it that happens
i got to right around round 340 on mobile nowhere near dying but it's crashed 3-4 times so for now i've just given up
Explained it better than I could xP
Oh of course, I'll just get a x4x engi in real life. Thanks!
Wen you play on iPad or phone you will see a difference wen using the fx slider (it’s like going from 3 fps to 5 fps wile playing on round 574 on iPad)
Every mobile player : look what they are doing to mimic a fraction of our power
Just here to say I love the big brain monke
i got new phone (ram4>8 Hz90>120) and the difference i noticed was crazy when loading back my r286 all para t76 run
For me for instance, the highest round my iPad from 2021 can handle is r356 with about as efficient and most powerful defense I could bother making. And no matter how many times I re do it in different runs it refuses to go above that 💀
did you run the tests on your old pc before you made the swap or after?
I ran them before but i had to redo them because the fps counter was not being recorded and i did not notice lol
So these are recent, plugged the old PC back in for a day
Hope you will not be affected with the blue screen of death with your i7 of the 13th gen🙌🏼much love and thanks for your very valuable video❤
OK but can I ultraboost my cpu to make it better?
No. Ultraboost won´t make it faster. This game simply doesn´t want Gflops/Tflops mumbojumbo-bullshit from today. It wants fast banwidth from your processor (and lowest possible latency combined), which modern systems lack with.
It would rather not work because it wouldn't just make the CPU go faster, but also its internal clocks resulting in the game running at the same frames, but with a "perma x3" effect compared to real time. So no, keep your T5 engineers away from your CPU
The fact that the game can't multithread colisions is embaracing.
No, that´s normal if you don´t want your collissions to break (See all other modern videogames, where collissions simply break for this reason = not calculated in time = not detected in time = broken collission-detection in Call of Duty, need for Speed, many other Openworld games, in Monster Hunter etc).
If the problem is that the game is mainly single threaded why does recording further reduce fps? And could you get around that by dedicating some cores to the game and others to recording?
I don't know enough about this to say but i can guess...
I think it's because as i mentioned in the video, the BTD6 main thread gets bounced around on all the different cores and those cores also have to do other work (like recording) so things will get in the way of the game thread.
The game thread does not get it's own core that only plays the game while the others work on other things. But again, im just guessing here :p
Simple: You want to record what is happening on that core. And not what happens (nothing) on Core 32 or what happens on Core 8, also nothing as jus this game is running on Core 2 (just an example).
That´s how recording works. You capture what a processor-core says. Capturing means copying the code.
Capturing costs performance because you need to TALK to that processor-core. Which costs time. Time = less performance.
Boss events on mobile is horrendous, tier 1-3 is ok but once you get to tier 4-5 just be ready for 3 fps
its just a mobile game not really made for pc i suppose i mean it has like 500mb on my mobile so what should we expect
The boss players could just record with another device, the footage will be worse but its better than nothing
0:02 why does the pc on the right have an emblem that looks like your channel pfp?
Yeah my CPU cooler has an LCD screen on which i put my logo except the MR is replaced with the current CPU temp :)
I wonder if someone could get btd6 to use multiple cores, I've seen mods do this for other games and even a mod that makes your gpu used a bit more increasing overall performance (Terraria's Nitrate mod) although that game is in a different engine
Game´s logic would crash if you would do it (or other things/calculations would break). Unity-engine is singlecore-engine not a multicore-engine.
And modern processors simply SUCK at singlecore = game over.
most and least low-end friendly game:
Not a whole lot of games are multi-core or multi-threaded. Its just simply too difficult and time consuming to implement. A good example tho is Valve's Source games having support for multi-core rendering which massively increases performance. If NinjaKiwi decided it would be worth the time to multi-core or multi-thread the physics the game would run basically without lag on majority of systems. Also u can record your screen from another PC bro XD
I dont really play btd6 on my pc anymore however i think if you have cheat engine you can change the game speed to be really slow it actually smooths out the fps (im saying this from memory from over a year ago)
have you thought about making use of a capture card? This can alleviate a lot a strain on your cpu from screen recording
That is a good idea, would help for sure! Although im happy enough with the results i have since there would still be those eye burning single digit fps in tough scenarios even with a capture card
I don’t think effect scale was added for performance, just so you can see or find your mouse easier
I've found the effects scale works on mobile, with it at 100% I usually crash around round 220 with it at 0% I usually crash around round 250
As a Geometry Dash and Gemcraft player, I see this as a common occurence.
I wonder if BTD6 will perform better on my 7800X3D/4080 Super rig with 64 gigs of RAM? The extra 56MB of L3 cache over your 13700K might change things.
A single flying fortress with permabrew slows me down to 1x speed on round 101+... Maybe some towers would benefit from shooting slower, hitting harder, gaining more extra damage from tower buffs, and triggering more extra damage from bloon debuffs - all only past round 100, probably
The monke img 1:22 😂
monkey likes 5 fps
i was seriously considering trying to rewrite BTD6 with a mod to improve the Unity update runtime
That won´t work. This game doesn´t run on GPU, like 99% of all modern videogames. It runs on the processor only.
Rewriting it wno´make it mageically run faster. All modern processors from AMD/INTEL, arm and even from Apple are apeshit.
And this game simply wants a future processor, no some modern 128/256/512 core-processor bullshit.
Wake up babe new mackan video
Would it be possible to mod the game to use more cores?
Im no unity modding expert, but I assume it would require a lot of rewriting and idk if the unity modloaders would even be capable of doing it
@@commander3494 Code-execution would break. Not all code can run on a muticore-system.Which is excahy why the decision was made that UNITY which is the world´s most-advanded engine only runs stuff with singlecore.
But rembember that singlecore-stuff is also easier to develop.
5:45 @MackanRules would that mean that if hypothetically btd6 were recoded to have multi-threaded instead of sequential game operation would it run better?
This is why i don't boss
Absolutely horrible optimization and framerate, it just isnt fun, so stuff like Paragons mean nothing to me
do you know if there was any specific reason why the game was designed to only use 1 thread at a time?
Mostly because it's quite difficult to parallelize something like the projectile calculations because they are inherently sequential. If you were to naively run the calculations for each tower in parallel for example, bloons would get popped by multiple towers at the same time. This could be resolved however that adds additional overhead decreasing the effectiveness.
I play this game with integrated graphics, an i5 1155g i think, and it runs at 60 perfectly fine, even on 2x, its completely down to the cpu, the gpu is no where near an issue for higher frames
disable all e cores and disable cpu 0, set exe priority to high.
thank me l8r
also for recording use shadowplay if you care about game performance
bro
my pc can't handle anything else anyways ;-;
The questions now is why the heck is game programmed to not fully utilise multicore processors?
Because multi threaded programming is not easy to do and for funny monkey tower defense game it is unnecessary for 99% of players
Because it's not that easy, and frankly not very possible. There isn't much you can properly thread without running into issues with race conditions, thread-locks, mutexing.
@@Theinatoriinator Correct. WiiU´s OS does a LOT of mutexing, thread-locks etc.
This game would be PERFECT for a WiiU´s singlecore-master processor.
AI-code often cannot run on multiple cores. Which is why you limit execution to one processor-core only. Else code breaks (AI doesn´t want to wait until another processor-core is finished with an AI-calculation, when a code breaks here, this is called a "Race-condition").
Meanwhile a Bloon Solver hitting a 5000% Regrow rate Regrow Cerams will slow down the game to a halt near instantly.
did you know that btd6 is also incredibly optimized? for most games, it would crash past round 300 with the amount of things that happen each round
Before the game cra- *buffers*
Im hoping they make the optimisations for btd7 since with the advent of powerful tools like vulkan, writing shaders for GPUs are easier than ever, making acceleration structures has also been researched heavily so there really isn’t any excuses
They said they have no plans to work on btd7 for likely years. They rather expand btd6 with way more stuff they have planned
This game cannot use shaders, sir! Making all your Tflops of modern AI/GPU...just that: Outdated crappy tech. lol.
Just same problems with modern AI: Cannot calculate AI-tasks well. Sucks at everything which has to do with logic.
@@SmartZero-f8e are you being ironic? You are very good at it 😂
@@ike__ No i`m not smartypants. Maybe you should get a brain first, before you comment?
Thinking => Posting!
i was thinking about this, how could this be optimized? knowing that the game uses 3d assets, is it possible to unload a portion of those assets when they are not facing you?
Since the game looking like it use CPU more than GPU. Consider try the alternative like 7800X3d or 5800x3d, they tend to handle single thread games better since they have a high amount of cache, which open up more bandwidth and resulting more performance.
It’s so bad my pc wouldn’t even let this video load
I had to buy the game on pc for this reason because around round 500 levels take 6--8 hours on mobile (is better but still not bareable at 1-2 hours a level)
Would it be possible that Ninja Kiwi would change the way BTD6 runs to move single-threaded to something else? I'm not a tech guy so I don't know how that could work, or it if is a viable option for that kind of 'loading'
No since real complex AI calculations cannot be split on multiple cores.
Since btd6 is a unity game could modders figure out implementations of unity's launch options? There could also be genuine performance issues in the code that would be a nightmare to debug because of tgeir sheer amount, and btd6 preffering to run on 1 core instrad of having any sort of multithreading enabled would help and sonething i want as a lategame player
Game cannot run on multicore. Unity is a HIGHEND-engine which only runs on singlecore.there exists no multithread-option because multithreaded coding leads to very high latency.
This game cannot run with higher latency. All calculaltions have to be done and finished at the same time. Which is typical for no-graphics RTS-highend games.
This game simply was made to run on a WiiU-processor (PowerPC)since those have highest singlecore-performance. Also way lower lateny = optimum for cuch realtime-calculations, where code has to be calculated as fast as possible and other code is waiting for it and won´t wait long until code breaks (timer-function).
Unity-engine does not support a "render-thread". All rendering, calculations, physics, AI etc has to be done on the same core.
I bet not even a quantum computer could handle this game
A certain processor could handle this game with ease...But this processor isn´t made from AMD/INTEL it´s also not an ARM and not from Apple and the game isn´t avaiable for this kind of military processor.
But hoh boy...I wonder what would happen if you feed this lowend grpahics taoaster-game to a military processor?
Boom! 1000 Fps?
You think this is bad?! Try going late on your morning alarm device
My phone has a soft-cap at round 330 to where it crashes every time