Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Another encoder (because nvtt encoder seems slow... but why?) #7

Open
funatsufumiya opened this issue Sep 28, 2024 · 2 comments
Open

Comments

@funatsufumiya
Copy link

funatsufumiya commented Sep 28, 2024

I recently created new encoder:
https://github.com/funatsufumiya/GVEncoder

I really love ofxExtremeGpuVideo and GVVideo format ( I also ported to Godot and Bevy (rust) ). But long time I wondered why nvtt_encoder is slow. The another encoder above is using CPU, but much faster. I'd like to investigate reasons.

By the way, I before created utility tool with python, to check GV Video is valid. This is useful for tiny checks and maintenances.
https://github.com/funatsufumiya/gv-video-header-checker

@funatsufumiya funatsufumiya changed the title Another encoder (and nvtt encoder seems slow... but why?) Another encoder (because nvtt encoder seems slow... but why?) Sep 28, 2024
@Ushio
Copy link
Owner

Ushio commented Sep 28, 2024

Wow, that's so cool stuff. >( I also ported to Godot and Bevy (rust) )

Texture compressions such as DXT5 always have a trade-off between quality and encoding speed due to the nature of the compression. Some encoders like stb_dxt or lite mode on squish are faster but it often produces noticeable artifacts or error to the original image. Although I did not compare quantitatively the quality and speed, nvtt subjectively looked good enough, and acceptable level of computational cost to me. Seems like there are some new versions of NVTT https://developer.nvidia.com/gpu-accelerated-texture-compression, which may be worth trying to see quality and speed.

@funatsufumiya
Copy link
Author

@Ushio
Thank you for quick response! I'll check quality when using stb_dxt, and I'll try new version of NVTT!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants