WarpDT.co.uk

AmigaOS 4.0

MorphOS

IBrowse - Get It

Valid XHTML 1.0!

[counter]


News
DownloadDownload
RegisterRegister Now
Bug Tracker
Futaura.co.uk / Oliver Roberts
JPEG
V45.15
12.5.2020
PNG
V45.23
11.5.2020
TIFF
V45.11
12.5.2020
BMP
V45.8
9.5.2020
PCX
V45.6
9.5.2020
PSD
V45.6
9.5.2020
WebP
V45.1
24.5.2020
Prefs
V45.11
24.5.2020
 
 
· WarpPNG.datatype
The fastest 24-bit PNG picture datatype!
For 68k, OS4, WarpOS and MorphOS.
Copyright © 1999-2020 Oliver Roberts, All Rights Reserved.
Version: 45.23
Released: 11 May 2020
-Download


WarpPNG.datatype is a yet another PNG datatype. The original difference being that it was for owners of PPC cards, and was targetted specifically at WarpUp (not PowerUp). Even better, it is fast, compact, clean, well behaved and fast - a true plug'n'play PPC datatype. Now though, 68k optimized, OS4 and MorphOS native versions have been added, which also benefit from my WarpDT engine. One of the key features is its superior speed, hence the name WarpPNG. There are various user settings available, which can be changed using the WarpDT Preferences program.

· Features

  • Supports both normal and interlaced PNG files
  • Gamma correction options allow the output image to be changed to suit your monitor/environment
  • Alpha channel handling can be configured to output RGBA bitmaps, or RGB bitmaps either by combining the alpha information internally using a configurable background colour or simply stripping it
  • Highly optimized datatype dispatch engine, and fast PNG decoder, resulting in a very efficient, compact and quick PNG datatype
  • Asynchronous file i/o and double buffering techniques (WarpOS only), which speeds up image decoding
  • Optimized versions for 68020, 030, 040 and 060
  • PowerPC support with native OS4, WarpOS and MorphOS versions
  • Alter the pen allocation precision when images are remapped to an 8-bit display
  • Specific support for the AmigaOS picture.datatype v44+, when available
  • The dithering feature of the AmigaOS picture.datatype v44+ can be configured to your liking (e.g. disabled for 15/16-bit displays)
  • Based on libpng 1.6.37 and zlib 1.2.11
Warp Datatypes

· Speed

The table below shows the time (in seconds) it took to decode 14 different images on my AmigaOne-XE G4-7455/800MHz with Radeon 7500. You may be aware that the png.datatype supplied with OS4 was originally developed by myself and based on WarpPNG, but since then other developers have taken it backwards in terms of speed. Whilst WarpPNG itself continues to evolve bringing more performance, now 60-100% faster than the OS4 png.datatype:

Benchmarked system
AmigaOne-XE G4-7455/800MHz
with Radeon 7500
AmigaOS 4.x (PowerPC)
WarpPNG
45.23
OS 4.1
53.10
1024x768 24-bit colour, 833721 bytes0.1260.223
1024x768 24-bit colour interlaced, 1037008 bytes0.1880.307
779x767 24-bit colour, 946564 bytes0.1160.219
473x639 24-bit colour, 377518 bytes0.0540.096
473x639 24-bit colour interlaced, 459869 bytes0.0790.130
368x463 24-bit colour, 279896 bytes0.0360.069
251x400 24-bit colour, 136856 bytes0.0220.038
718x425 8-bit grey, 157890 bytes0.0270.046
718x425 8-bit grey interlaced, 182522 bytes0.0360.061
1024x768 256 colours, 324599 bytes0.0330.071
779x767 256 colours, 404245 bytes0.0370.079
473x639 256 colours, 163397 bytes0.0190.037
368x463 256 colours, 115942 bytes0.0140.028
251x400 256 colours, 57056 bytes0.0100.017

Note: the above benchmarks measure the time taken by NewDTObject() to load and decode the image from a HDD, and are the average of 10 iterations.

The table below shows the time (in seconds) it took to decode 14 different images on my A1200 + BlizzardPPC 603e+/240MHz 060/50MHz, with BVision and CGX picture.datatype, and test files located on a SCSI2SD V6. Other tested datatypes were configured as close as possible to WarpPNG's internal settings. However, I should emphasize that the figures below are for comparison purposes only - the actual values are likely to be slightly different (faster or slower) on your system, but I'm confident that the WarpOS version of WarpPNG is noticably faster than all alternative PPC datatypes.

The figures speak for themselves... WarpPNG for WarpOS is at least 70% faster than other PPC datatypes in most cases (175-270% faster with palette based and/or smaller files), and around 3 times faster than 68k datatypes on a 060 (the speed difference will be even greater on 040 systems with a fast PPC). Maybe you don't believe these claims - my answer to that is simple... Try WarpPNG for yourself and you will see the difference! :)

The MorphOS version is round about the same speed as the WarpOS version (above), but a little slower is most cases. It's 10-40% faster than akPNG for non-interlaced images, and upto 2-3 times faster for interlaced images. The PNG datatype supplied with MorphOS is somewhat slower than WarpPNG in most cases.

With the 68k version, for non-interlaced images, WarpPNG is around 25% faster than Gunther Nikl's PNGdt for 24-bit images and 50% faster for 8-bit images. For interlaced images, WarpPNG is 100% faster for 24-bit images, and 150% faster for 8-bit images. akPNG is slower than both WarpPNG and Gunther Nikl's PNGdt.

Benchmarked system
A1200 + BlizzardPPC 603e+/240MHz 060/50MHz, BVision, CGX picture.datatype + SCSI2SD V6
PowerPC/68K (dual-cpu) PowerPC (no 68K) M68K
WarpOSPowerUpMorphOS
WarpPNG
45.23
akPNG 44.131WarpPNG
45.23
akPNG
45.60
MorphOS
50.4
WarpPNG
45.23
PNGdt 44.6
G.Nikl
akPNG
45.95
PowerUp
(emul)
PowerUp
(native)
1024x768 24-bit colour, 833721 bytes0.891.841.541.031.162.172.613.223.75
1024x768 24-bit colour interlaced, 1037008 bytes1.022.271.901.141.932.642.835.715.84
779x767 24-bit colour, 946564 bytes0.811.901.750.941.082.042.402.963.50
473x639 24-bit colour, 377518 bytes0.370.630.800.420.490.611.041.301.53
473x639 24-bit colour interlaced, 459869 bytes0.450.791.000.490.800.771.152.282.44
368x463 24-bit colour, 279896 bytes0.270.450.580.290.340.340.690.891.07
251x400 24-bit colour, 136856 bytes0.180.270.350.180.200.180.390.510.63
718x425 8-bit grey, 157890 bytes0.200.520.610.200.240.210.450.610.76
718x425 8-bit grey interlaced, 182522 bytes0.240.570.680.240.580.310.511.291.53
1024x768 256 colours, 324599 bytes0.271.001.160.290.371.680.610.830.92
779x767 256 colours, 404245 bytes0.280.911.040.320.401.590.610.871.04
473x639 256 colours, 163397 bytes0.160.490.560.160.210.420.280.430.53
368x463 256 colours, 115942 bytes0.120.330.380.120.160.190.190.280.39
251x400 256 colours, 57056 bytes0.090.230.260.080.110.110.120.160.25

Note: all tests were performed, multiple times, using Visage, with the following command line: "visage test.png nopng time test".

· System Requirements

68k version

  • Kickstart 3.0 or higher
  • 68020 processor or higher (optimized versions included)
  • picture.datatype v43 or higher (supplied with AmigaOS 3.1.4, 3.5, 3.9, CyberGraphX, P96 or AfA OS)
WarpOS version
  • Kickstart 3.0 or higher
  • PPC accelerator card + 68040/060
  • WarpUp Release 5.0 or higher
  • picture.datatype v43 or higher (supplied with AmigaOS 3.1.4, 3.5, 3.9, CyberGraphX, P96 or AfA OS)
OS4 version
  • PPC accelerator card / AmigaOne / SAM
  • AmigaOS 4.0 or higher
MorphOS version
  • PPC accelerator card / Pegasos / Efika
  • MorphOS 1.4 or higher
Note that a graphics card is not necessary.


Page design by Oliver Roberts - Copyright © 2001-2020, All Rights Reserved - Terms & Conditions