johannesvollmer / exrs

100% Safe Rust OpenEXR file library
Other
153 stars 24 forks source link

1.5.3 release announcement #195

Closed Shnatsel closed 1 year ago

Shnatsel commented 1 year ago

Release announcements are a good way to promote the project and gain contributors.

I've written a draft for the announcement here. It should be editable by anyone with a link, feel free to change as you see fit.

I suggest posting it to /r/rust, and perhaps VFX communities too.

johannesvollmer commented 1 year ago

Nice idea! I can't promise that I will always be able to make such postings, but with your help I'm sure it will work out. I like the text you prepared. There's one sentence I would change though, about f16 conversions. I couldn't edit it, but I was able to make a comment or two on it :)

johannesvollmer commented 1 year ago

Last time I checked, the VFX community was pretty locked on C++. I'm not sure they are interested in Rust. I don't want a post in those communities to drift off into discussions about Rust versus C++ in general. Did you have a specific community in mind?

Shnatsel commented 1 year ago

I did not have any specific VFX community in mind, no. /r/rust is a good bet - anything interesting from there gets posted to other Rust media as well, like lobste.rs for example.

https://github.com/AcademySoftwareFoundation/openexr explicitly calls out making changes to Rust bindings in the README, and https://github.com/vfx-rs/organization maintaining the bindings seems to be an Academy Software Foundation working group, so there seems to be at least interest in Rust there. The announcement I wrote should be good for /r/rust, maybe could use a bit more intro text for VFX communities.

johannesvollmer commented 1 year ago

Agreed :)

Shnatsel commented 1 year ago

I made another pass to address your (very good!) comments. I think we just need to get an issue for DWA started, add it to the text and this is good to go.

The best time to post to Reddit is at around 16:00 UTC when Europe is still online and the US is waking up, to maximize the upvotes and thus visibility. The markdown used in hackmd should be transferable to Reddit as-is. I'll leave it up to you to post this once you're ready.

Shnatsel commented 1 year ago

To be actionable, the issue should contain a link to DWA specification as well as an outline of how the feature is supposed to fit into the exrs code - just a basic overview for people completely unfamiliar with the codebase.

johannesvollmer commented 1 year ago

Awesome! We also look for contributions concerning the big-endian PXR24 Implementation, subsampling, and performance improvements. I feel it might be better to address those in a letter post though. Maybe we could list those somewhere in a single place anyways? the README? what do you think

Shnatsel commented 1 year ago

The README already notes you're looking for contributors for some of those features. I suggest updating the README with the requirements, and listing the items you're most interested in in the post itself, without requiring an extra click.

I don't think the project needs more performance improvements right now. Eliminating format conversions as a bottleneck is going to shake up the benchmarks a lot, as will fully parallel decoding. They will at the very least change the bottlenecks, so the work done now might not directly translate to gains later. I suggest finishing the ongoing work and then seeing where we stand compared to the C implementation, before trying to dive further into optimization.

And big-endian systems for VFX appear to be nonexistent, at least on the CPU side. The only surviving big-endian systems are MIPS (effectively dead), Longsoon (Chinese domestic variant of MIPS, somewhat actively developed) and s390x (IBM mainframes), so I can't even think of a practical system that could run exr in big-endian mode. Maybe you could boot a 64-bit POWER CPU in big-endian mode, but not even Debian has a port for that - and they have ports for SH4 and m68k! So this can be treated as a low priority.

johannesvollmer commented 1 year ago

created #197 for DWA compression

johannesvollmer commented 1 year ago

Good to know! I only knew that most mobile processor are ARM and could be big endian, maybe tablets too? But I agree it's not high priority :)

Shnatsel commented 1 year ago

Nobody runs exr-capable ARMs in big-endian mode. Again, even Debian doesn't have a port for that.

Shnatsel commented 1 year ago

I see the announcement hasn't been made yet. Is anything in particular holding it up? Can I help?

johannesvollmer commented 1 year ago

nothing specific, just the lack of time, sorry :(

johannesvollmer commented 1 year ago

just found out it's possible to schedule a reddit post. i think I might be able to get it done using that approach

Shnatsel commented 1 year ago

No problem, I just wanted to check if there's anything I can help with. Please take your time!

johannesvollmer commented 1 year ago

actually, I do have problems with my Reddit account. it's preventing me from posting anything. I'll have to resolve that first, which I already did last week, but immediately got removed again for some reason

Shnatsel commented 1 year ago

As a fallback, I can post on your behalf. Or you could post the text to a Github discussion and I'll post a link to it on Reddit. That's probably best - so you could reply to any comments people may leave.

johannesvollmer commented 1 year ago

yes that would actually be perfect. my reddit account seems to be under attack of some kind - immediately after I unlock the account, Reddit locks it again, as a "protective measure"

Shnatsel commented 1 year ago

Alright! Please post the announcement to a discussion and I'll share it on Reddit at an opportune time.

johannesvollmer commented 1 year ago

Yes! Got it right here, at #204.

I suggest the following text, which was the first paragraph previously, should not be in the discussion, but in the reddit post.

[`exr`](https://crates.io/crates/exr) is a is a 100% Rust and 100% safe code library 
for reading and writing [OpenEXR](http://www.openexr.com/) images. 
It is used by the popular [image](https://crates.io/crates/image) crate to read and write OpenEXR.

OpenEXR is the de-facto standard image format in animation, VFX, 
and other computer graphics pipelines, for it can represent 
an immense variety of pixel data with lossless compression.

and maybe even also this:

### Performance Improvements
Great news! Version 1.5.3 brings **3x** better performance on RLE compressed images and **1.5x** better performance on DEFLATE compressed images on the benchmarks.
johannesvollmer commented 1 year ago

i will try to contact reddit about my account issues. might be able to comment on the reddit post later. feel free to close this issue when you posted it :)

Shnatsel commented 1 year ago

Posted: https://redd.it/11mtf7t

Shnatsel commented 1 year ago

The text announcement didn't seem to be doing very well, so I've reposted it as a link post and put the context in a comment: https://redd.it/11mtx8i