3 ms·
I'm really bummed that this absolute nonsense is also prevalent on hackernews. Low framerates are almost always completely unrelated to optimization. I can mak
by anthonypasq 7y ago
I'm really bummed that this absolute nonsense is also prevalent on hackernews.
Low framerates are almost always completely unrelated to optimization. I can make a horribly optimized version of Tetris that still runs at 144hz on modern hardware.
Likewise, I can write a perfectly optimized game that still runs at 20fps on modern consoles.
Framerates are determined by how much the developer wants to push graphical fidelity/AI etc.
- celeritascelery 7y ago> Low framerates are almost always completely unrelated to optimization. I would be interested to see a source on this.
- leppr 7y ago> Framerates are determined by how much the developer wants to push graphical fidelity/AI etc. Framerates are determined by how much the console has to process before it can display a frame. Apart from possibly setting an upper bound, FPS is a variable developers do not directly control. The issue I am pointing is unintentional drops in framerate caused by game events. A developer can spend time testing their game, and tailoring the amount of processing each possible configuration of events and objects require so that at any one time, it doesn't exceed the processing budget allowed by the target framerate. That is optimization. If you do not do it, the framerate will be essentially random.
- Arelius 7y agoIf you are trying to fight nonsense, please don't promote additional nonsense. Generally, in game development, the term "optimization" refers to the holistic process around getting the game performing at speed, be it compiler optimization options, SIMD-ification, or even adjusting texture resolution (graphical fidelity) or AI parameters. It often starts with profiling, and identifying bottlenecks, and focusing on what can be done to get the game to perform within spec. Optimization is entirely about context, so, while I generally agree with your comment about Tetris, I'd say your second example is "poorly optimized" by definition. As to your comment about being determined by how much the developer wants to push... Yes, aiming for higher fidelity will use more resource, it's hardly every simply the "developer's wants" that determine the performance of a particular title, instead performance ends up being the end result of thousands of tiny decisions and elements that contribute to the final experience.
- anthonypasq 7y agoDevelopers determine a framerate target. They have a bunch of levers to pull to reach that target. Failing to pull the lever that reduces particle effects does not mean the game is un-optimized.
- Arelius 7y agoIn game development, the process of identifying, balancing, and pulling those levers is called optimization. Source: This, specifically game optimization, is my profession and I've been doing it for 15 years. Edit: To add, this is clearly a vocabulary argument, it'd help your argument if you gave context and defined what you think specifically optimization refers to. But even then, words are used in context, and the context here seems to be strongly game development flavored.
- fiblye 7y agoPart of optimization is optimizing your code. Part is optimizing your graphical assets. If you're making an 8 bit 64x64 pixel platformer, your main bottleneck is likely code. If you're making a 3D flight simulator, your main bottleneck is likely draw distance, texture resolution, and the number of assets filling the screen. If your game is running 20 FPS, your problem very likely is lack of optimization in some way.
- anthonypasq 7y agoNone of that is optimization. Thats deciding what you want your game to look like
- Arelius 7y agoSince in many cases, adjusting texture resolution (in the case of under-sampled textures), or removing items from the scene or from being rendered (in the case of items being entirely obscured) can dramatically affect a game's performance without changing at all "what you want the game to look like" So clearly that phrase isn't sufficient to describe the action being taken. Please try again.