It is pointless because it is measuring performance of code that is not likely to appear in real game code, therefore failing to provide any meaningful insights. I said that this benchmark is pointless and misguided. Two folks I really look up for benchmarking and technical analysis areĪlways good to start a supposedly objective comment with such a personal note. what if we reused the vec inside the loop body, drew the same line over and over againįor bonus points, drawing a flame graph of each run would be amazing.how long does it take to get to the loop body.how much allocation is going on inside each loop. change the number of loop iterations vs draw calls, what is the loop overhead, the draw call over head.Is it interpreter overhead? Memory allocation? Type checking? Or maybe the Rust code gets inlined, who knows? I also think it is important to go into the why and how one would measure it. Benchmarking is hard and in that direction, we need to constantly apply hygienic practices. I think outlining just how much the number of draw calls is outside of a normal usage and that the other two solutions are totally workable is a good distinction. I do think you have an opportunity for a second edit of your benchmarking post. **edit, I meant to ask, “Are you looking for feedback?” Because there was no submission comment, it is just a link. Given the rest of the thoughtful reply, I think the first sentence is entirely unintentional in its tone. In those two I could just change the variable easily in node properties, while for Rust I had to change the code and wait for 4-5 seconds for it to compile. The line count tested in the blog post was 10x bigger! 6000 lines is likely more lines than your screen has vertical ones!īut I can say that tweaking with the numbers was a lot easier in GDScript and VisualScript than Rust. Both GDScript and Rust options hit 600 lines, and only VisualScript lagged behind with 550 lines. Basically, all this benchmark measures is how fast can the language process sin/cos calls and call other code.Īnd the tested options have no real difference in performance when tested for realistic conditions! I’ve decreased the number of lines drawn in each test, until the frame rate hit stable V-Sync(60 fps) on my (quite old and GPU limited) Thinkpad. All the real work is done by VisualServer, to which the calls are passed. You are not likely to draw such a large number of lines in your game on a single canvas item, unless you are willingly abandoning benefits that the engine gives you for nearly no gain. This benchmark is pointless and misguided.
0 Comments
Leave a Reply. |