GithubHelp home page GithubHelp logo

Comments (9)

RisingLeaf avatar RisingLeaf commented on June 1, 2024 4

This is just premature optimisation, as Zitchas said webp is not as widespread as png and jpeg.

If we really wanted to save space and time we could think about saving precompiled pictures. But that's for later down the road.

I am also against adding webp support as that would be another dependency of the project (we already have a lot).

from endless-sky.

eebop avatar eebop commented on June 1, 2024 1

Heic is proprietary to apple and requires a paid subscription on non-mac machines

from endless-sky.

Zitchas avatar Zitchas commented on June 1, 2024 1

To be honest, I detest dealing with webp stuff. Not everything opens it, and everytime I get an image in WebP it just means extra work. I convert everything out of WebP at first opportunity.

So aside from windows 10 needing a paid subscription (which I'm not paying, thank you very much.), how about those on variations of Linux and older Windows? Currently, our only graphical requirement is "Runs OpenGL 3.0 or greater". I don't think the gains are worth changing that to "Runs OpenGL 3.0 and has WebP support".

edit: I'm not against ES having WebP support, and if someone wants to use it to make a "extra-compact" version with it, great! I know there are some players for whom every Mb counts. But I really don't think it should be the standard.

from endless-sky.

SomeTroglodyte avatar SomeTroglodyte commented on June 1, 2024 1

I feel the discussion slightly beside the point: User or developer platform is irrelevant. You're ultimately preparing some storage into textures ready for the render pipeline - so it depends entirely on the library used to load those textures, including licensing.

another dependency of the project

To the point, but maybe whatever you currently use already has more options?

If at all, I'd consider going for one of the formats meant for 3D textures, as only those can give you the best mipmaps, as those will improve scaling on 2D markedly too. Venerable dds (even foss games used that iirc) or ktx/zktx or maybe I'm way out of date...

from endless-sky.

danaris avatar danaris commented on June 1, 2024

I don't know offhand the differences between the formats, but HEIC is another modern image codec designed to be more space-efficient. I would suggest it also be considered, and compared, before deciding on a format.

from endless-sky.

danaris avatar danaris commented on June 1, 2024

So far as I can tell, it is not proprietary—it is an ISO standard, and can be implemented by anyone. According to https://en.wikipedia.org/wiki/High_Efficiency_Image_File_Format it is fully supported by Windows 11 and Android—it requires a paid purchase for Windows 10 to support specifically the ones that Apple creates by default (HEVC encoding), but not the format as a whole. It's not clear from this whether it's a one-time purchase or a subscription.

Do you have a source that contradicts this information?

from endless-sky.

43897689431805741092 avatar 43897689431805741092 commented on June 1, 2024

There is one drawback of using lossy compression for storage: Generational Loss

WEBP supports lossless compression though, doesn't it? Since you say this, I wonder, are lossless WEBP images not actually meaningfully smaller than PNGs? Using lossy compression for game graphics is an absolute no-go out of principle IMO.

Something that definitely can and should be done (literally right now, whoever has the knowledge to PR it neatly – I'll probably mess it up) is re-saving all the PNG images currently in the game with the maximum compression setting of 9. I always run downloads of new game versions through FileOptimizer (except the Shuttle's top-down graphics, which it corrupts) and found that some of the newer graphics added (e.g. the Fusion Cannon projectile) are practically uncompressed.

from endless-sky.

SomeTroglodyte avatar SomeTroglodyte commented on June 1, 2024

meaningfully smaller

At best 30%, expected (my guess for ES assets) nearer 15%: https://developers.google.com/speed/webp/docs/webp_lossless_alpha_study#results
A meaningless difference if the code loading them into textures needs new libraries. Also, supporting a FOSS-hostile Kraken.

from endless-sky.

Zitchas avatar Zitchas commented on June 1, 2024

I feel the discussion slightly beside the point: User or developer platform is irrelevant. You're ultimately preparing some storage into textures ready for the render pipeline - so it depends entirely on the library used to load those textures, including licensing.

A couple things here.

a) As a project with no formal organization, there's no entity to sign or pay for a licensing agreement.

b) One of the core tenets of the project has been that end-users can add their own graphics and data as easily as pasting a random image from their picture folder into the correct location, along with <5 mins of editing with their preferred text editor. I am aware of a number of contributors, myself included, who have contributed both code and content with this level of software.

c) As an aspect of B, we've made something of an effort to ensure that all the content (visual and otherwise) remains easily accessible to everyone in order to encourage community participation and contribution.

d) Low appetite for putting work into adopting things that are hostile to FOSS.

In summary, if something makes things harder for the general userbase to view, edit, and work with the files, it's not a good fit for Endless Sky.

from endless-sky.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.