byte[] ou int[] ?

Je devrais expliquer un peu. Dans la mémoire de l’ordinateur, une image ce n’est qu’une longue file (et pas une grille) de nombres, chacun représentant une intensité de 0 à 255 pour chacun des quatre canaux (channels) alpha, rouge, vert, bleu. Ces quatre valeurs (bytes) peuvent être groupées en une seule (int), car 1 byte = 8 bits et un int = 32 bits ou 4 x 8 bits.

Paintual est construit en bytes alors que PaintualBrush est construit en int. J’ai fait des tests de performance pour savoir quel était le plus rapide : travailler en bytes ou en int ?

int est un rien plus rapide (4-6 millisecondes pour une image  de 957600 pixels). L’extraction des composants alpha, rouge, vert, et bleu est pris en compte dans le test. int est aussi un peu plus facile à travailler conceptuellement.

J’hésite à modifier Paintual à fond pour utiliser int parce qu’on dit “if it ain’t broken, don’t fix it” (inutile de réparer ce qui n’est pas brisé). Ça reste quand même un travail de quelques jours assez intensifs si je me fie à la dernière fois où j’ai modifié Paintual dans une même optique (et c’était pas une réussite, on s’en souviendra peut-être).

Entre temps, une image faite avec Photoshop pour ne pas vous laisser sur votre faim.

* * *

byte[] or int[]?

I should explain a little bit. In the computer memory, an image is only a long array (and not a grid) of numbers, each representing an intensity from 0 to 255 for each of the four alpha, red, green, blue channels. These four values (bytes) can be grouped into one int, because 1 byte = 8 bits and an int = 32 bits or 4 x 8 bits.

Paintual is built in bytes while PaintualBrush uses int. I did some performance tests to find out which is faster: working with bytes or int?

int is barely faster (4-6 milliseconds for an image of 957600 pixels). The extraction of the alpha, red, green and blue channels is being taken into account in the test. int is also conceptually a bit easier to work with.

I hesitate to modify Paintual thoroughly to use int because they say “if it is not broken, do not fix it.” It will require a few intensive days of work according to the last time I modified Paintual for a similar purpose (and it was not a success, if you remember).

Meanwhile, here is an image made with Photoshop.

2017-09-21 1200