Edgewall Software

Opened 9 years ago

Last modified 5 months ago

#11024 new enhancement

Losslessly compress images

Reported by: anonymous Owned by:
Priority: normal Milestone: next-dev-1.7.x
Component: general Version:
Severity: normal Keywords: performance
Cc: Branch:
Release Notes:
API Changes:
Internal Changes:


Hi. Compressing the png images losslessly saves quite a few bytes.

Attachments (1)

trac-trunk.7z (86.5 KB ) - added by anonymous 9 years ago.
PNG images compressed losslessly

Download all attachments as: .zip

Change History (16)

by anonymous, 9 years ago

Attachment: trac-trunk.7z added

PNG images compressed losslessly

comment:1 by Remy Blank, 9 years ago

Resolution: wontfix
Status: newclosed

I don't think we want the added complexity, trading for a few bytes saved.

comment:2 by anonymous, 9 years ago

Where exactly did you see the complexity?

comment:3 by anonymous, 9 years ago


Also if the css and js files were minified and combined the gain would be noticeable. And this can be automated of course by using node.js's clean-css and uglify-js.

The gain from all this is for free. You shouldn't just say blindly you won't do it.

in reply to:  2 comment:4 by Remy Blank, 9 years ago

Replying to anonymous:

Where exactly did you see the complexity?

I may have misunderstood the suggestion. Would you mind explaining?

About CSS and JS minification, I think we already have an open ticket for this.

comment:5 by anonymous, 9 years ago

The image lossless compression is a one time thing; only if you modify the images you should do this again.

You can use various tools, I used http://pnggauntlet.com/, which uses optiPNG etc. Alternatively you can use http://kraken.io/.

As for CSS and JS, not only they should be minified but combined also; this will reduce the number of HTTP requests by a lot, -6 at least.

comment:6 by Remy Blank, 9 years ago

Milestone: unscheduled
Resolution: wontfix
Status: closedreopened

And here I thought PNG was already compressed. The total size of our .png images is 165'437 bytes (jQuery UI included), so we'll save at most… 160KB. But fair enough.

I would prefer having a small script in contrib that runs the compressor on the images in trac/htdocs, rather than using an online tool.

comment:7 by anonymous, 9 years ago

The thing is that kraken.io will offer the best results. Personally, I use http://kraken.io/ and then PNGGauntlet for the best results.

If you really need a script you could go with optiPNG only, not sure if PNGGauntlet supports command line plus it's Windows only, while optiPNG is cross platform.

The ideal solution would be to use kraken.io via node.js, since node.js will be needed for CSS and JS minification and merging and it's cross platform.

I could provide a script for CSS and JS, but I haven't used the kraken.io API so I'm not sure if I can make it work.

comment:8 by Christian Boos, 9 years ago

See #10672 for a previous approach to the minification topic.

comment:9 by Jun Omae, 7 years ago

#11832 was closed as duplicate.

comment:10 by figaro, 7 years ago

Milestone: unscheduled1.0.3

Attachment can be readily adopted, hence assigned milestone.

comment:11 by Ryan J Ollos, 7 years ago

Milestone: 1.0.3next-stable-1.0.x

milestone:1.0.3 is closed and a developer needs to accept the change in order to have it assigned to a milestone.

comment:12 by figaro, 7 years ago

Keywords: performance added

Added keyword 'performance'.

comment:13 by Ryan J Ollos, 6 years ago

Status: reopenednew

comment:14 by Ryan J Ollos, 6 years ago

Milestone: next-stable-1.0.xnext-major-releases

comment:15 by Ryan J Ollos, 5 months ago

Milestone: next-major-releasesnext-dev-1.7.x

@Jun, do you think this is worth implementing to save a few kBs?

I think we can decide to either do this per comment:6 or close out the issue in the next dev cycle.

Modify Ticket

Change Properties
Set your email in Preferences
as new The ticket will remain with no owner.
The ticket will be disowned.
as The resolution will be set. Next status will be 'closed'.
The owner will be changed from (none) to anonymous. Next status will be 'assigned'.

Add Comment

E-mail address and name can be saved in the Preferences .
Note: See TracTickets for help on using tickets.