[Fixed][Player] Smooth resampling, default should be off

Started by Simon, August 12, 2018, 04:38:57 PM

Previous topic - Next topic

0 Members and 2 Guests are viewing this topic.

Simon

NL 12.3.0

Install freshly. Start game, start a level with small width and small height. Have a huge screen. The map is blurred. To fix, disable smooth resampling, both for menu and for game.

Expected instead: Smooth resampling for game is alrelady off by default.

-- Simon

namida

It's actually dependent on your selection in the popup box the first time NeoLemmix runs, but it isn't made clear at any point exactly what you're selecting - just "Low", "Medium" or "High" quality.

Low quality doesn't enable any resampling; medium enables the smooth resampling for both menus and in-game but leaves high quality minimap off; high enables both and turns on high-quality minimap.

I don't believe in-game smooth resampling should ever be enabled by default, no. IMO, the "medium" option should enable menu resampling, while "high" should enable high quality minimap; in no case should in-game resampling be enabled by default. The option is nice, some people might like the result, but it obscures physics. Even Clear Physics Mode does not currently override the blurriness, though it shouldn't be too hard to make it do so. (Just create a TNearestResampler for the image when going into clear physics mode, and a TLinearResampler when coming out. You don't need to manually free the old ones; when a new one is registered against a TBitmap32, the old one is automatically cleaned up.)
My projects
2D Lemmings: NeoLemmix (engine) | Lemmings Plus Series (level packs) | Doomsday Lemmings (level pack)
3D Lemmings: Loap (engine) | L3DEdit (level / graphics editor) | L3DUtils (replay / etc utility) | Lemmings Plus 3D (level pack)
Non-Lemmings: Commander Keen: Galaxy Reimagined (a Commander Keen fangame)

Simon

Yes, I agree with your ideas for the quality options. Are minimap and resampling still expensive?

I'd even cut smooth ingame resampling altogether from the options (have it always off). But I don't mind much as long as it's off by default.

-- Simon

namida

Quote from: Simon on August 13, 2018, 08:08:13 AM
Yes, I agree with your ideas for the quality options. Are minimap and resampling still expensive?

I'd even cut smooth ingame resampling altogether from the options (have it always off). But I don't mind much as long as it's off by default.

-- Simon

I wouldn't ever want to use it myself either. It's mostly there because it was trivial to implement - in fact, not having a combined option for menus and in-game was extra work compared to just having one option for all of them. Once the code was added to make it not work in-game, it was trivial to add an option to enable it again in-game.

Resampling is no more (or less) expensive than it always was. High-quality minimap will always be expensive, because it involves rendering the entire level (usually, NeoLemmix takes a few shortcuts and only renders the on-screen parts; the difference can be noticable on weaker machines) and smooth-resampling it to a much smaller size, and it generally updates every frame. The regular minimap on the other hand involves a very simple resample operation based on the physics map (rather than the graphical layout), so has virtually no impact.

Graphics32 is, by far, the most efficient software-based graphics library for Delphi / Lazarus (as far as I know). I did some tests a while back on a few of them, and Graphics32 was about 60 times as fast as the next best (BGRABitmap). Better performance would be possible with hardware-accelerated rendering, but this would be a huge task - pretty much all graphical code would need to be entirely written, as would some physics code that relies on Graphics32 under-the-hood (although I guess there is no reason why Graphics32 couldn't still be used for physics, with the new code used only for rendering). On the plus side, due to the magnitude of this task and the level of rewriting required, it would be a good opportunity to get rid of Delphi altogether and port NeoLemmix to Lazarus (which is free and open-source). I have recently made some efforts towards porting NeoLemmix to Lazarus anyway, although not much to show for it yet - I have it to the point where it compiles, but it doesn't do anything useful.
My projects
2D Lemmings: NeoLemmix (engine) | Lemmings Plus Series (level packs) | Doomsday Lemmings (level pack)
3D Lemmings: Loap (engine) | L3DEdit (level / graphics editor) | L3DUtils (replay / etc utility) | Lemmings Plus 3D (level pack)
Non-Lemmings: Commander Keen: Galaxy Reimagined (a Commander Keen fangame)

Nepster

I personally hate any smooth resamping mode, be it the menu, the game or the minimap. However up to now I thought I was pretty much alone in that opinion, so kept it for the menu and the game as the default. ;P

There are basically three options to toggle:
1) Smooth resampling in menu
2) Smooth resampling in level
3) High-quality minimap

I again had a look at the poll I did for V1.47 regarding the option usage, and it seems that the best options to give upon starting the game are actually:
a) High quality: High-quality minimap and smooth resampling in menu
b) Medium quality: Only smooth resampling in menu (default option)
c) Low quality: No resampling at all.
This basically means to remove "smooth resampling in level" from the first two options. Is there anyone against this change?

IchoTolot

Basically the big uppoint of the low NL resolution is being able to see every pixel of the terrain and the "smooth resampling in level" disregards that with blurring.

So I am 100% in favor of culling that option. :)

nin10doadict

Why would this even be an option in a game with pixel-based physics like this? I personally don't even use the high-quality minimaps, though that's preference. If the level itself didn't have crisp graphics... Ew, that would be just awful. I've never turned this option on before, so let me just see what it looks like...

Oh. Oh my. :sick::lix-sick::sick:

It's especially bad if you zoom in further. Yeah, no. I wouldn't mind this getting chopped out of the game entirely, and it certainly shouldn't be the default. Having it be an option for the menus is fine. At the very least, it definitely shouldn't be the default in-game.

namida

#7
Quote from: nin10doadict on August 13, 2018, 07:10:31 PM
Why would this even be an option in a game with pixel-based physics like this? I personally don't even use the high-quality minimaps, though that's preference. If the level itself didn't have crisp graphics... Ew, that would be just awful. I've never turned this option on before, so let me just see what it looks like...

As I explained above, pretty much - the same effect looks fairly nice in menus. However, it was actually extra work to not make the effect extend to in-game, so once that was added, it was trivial to make an option to apply it in-game after all (rather than just "always off").

Though I disagree with you re: high quality minimap, I'm a huge fan of that one. :D (Although if it did disappear, my annoyance would probably be limited to "hey, it took a fair bit of effort to get that working", since it wouldn't be breaking any content.)
My projects
2D Lemmings: NeoLemmix (engine) | Lemmings Plus Series (level packs) | Doomsday Lemmings (level pack)
3D Lemmings: Loap (engine) | L3DEdit (level / graphics editor) | L3DUtils (replay / etc utility) | Lemmings Plus 3D (level pack)
Non-Lemmings: Commander Keen: Galaxy Reimagined (a Commander Keen fangame)

Nepster

Regarding the high-quality minimap: I will definitely keep supporting this, because I can see lots of arguments for using it and none against it (as long as the computer is fast enough to render it).

Given the responses, I will definitely go along with removing the "smooth resampling in level" from all possible choices when starting NeoLemmix the first time. I am even considering culling it completely.

Moreover I even play with ideas of reducing the starting options to just two:
a) High quality: Just the high-quality minimap, no smooth resampling in menu or level
b) Normal quality: Nothing at all (like the current low quality). This would be the default.
Note that in that case the option "smooth resampling in menu" would still be available in the options menu, just not selectable when starting NeoLemmix for the first time.

namida

#9
I do think that if the menu resampling exists, it makes sense to turn it on for the High Quality option. Like the minimap, it doesn't have downsides (outside of cosmetic preferences) other than needing more power, and (at least IMO) it looks nicer, without distracting from anything. (But I also really don't care that much, because it's easy enough to turn the option on manually.)
My projects
2D Lemmings: NeoLemmix (engine) | Lemmings Plus Series (level packs) | Doomsday Lemmings (level pack)
3D Lemmings: Loap (engine) | L3DEdit (level / graphics editor) | L3DUtils (replay / etc utility) | Lemmings Plus 3D (level pack)
Non-Lemmings: Commander Keen: Galaxy Reimagined (a Commander Keen fangame)

Proxima


Nepster

I now made the change and starting with the next version you'll have only two choices: One without any smooth resampling and the other with smooth resampling in the menu and the high-quality minimap.

In the options menu there are still all the options that you had previously, including smooth resampling in-game.