Discuss Scratch

Bouboufez
Scratcher
1000+ posts

Les limites de Scratch

Salut à tous !
(oui, ça fait des plombes que je n'ai pas ouvert un sujet. Ca fait bizarre, hein ?)

Je sais déjà qu'une variable peut contenir 10240 variable ou que l'on peut mettre jusqu'à environ 540 Kb de média (lutins, arrières-plan et musiques) dans un projet (on comprend mieux pourquoi Scratch pixelise à mort les images)
Je me demande s'il existe d'autres limites du genre.
J'ai déjà essayé le nombre maximal d'éléments dans une liste, mais au-delà des 50 millions, mon Scratch offline a planté

Last edited by Bouboufez (June 10, 2017 13:22:30)

Itharius
Scratcher
1000+ posts

Les limites de Scratch

Quand j'ai fait le code de mon jeu de dames, j'ai été obligé de réfléchir à un moment pour réduire le nombres des lignes car à chaque fois que j'essayais de sauvegarder, il transformait des parties du code en “bloc undefined” Du coup je ne sais pas quelle est cette limite mais je suis également persuadé qu'il y en a une de ce côté.
Par ailleurs, il y a également une sorte de limite sur la qualité des sons enregistré. au moment ou il sont convettis à 88Kbps. je comprenais pas pourquoi malgré le fait de nettoyer tout bruit avec audacity j'avais des sons qui grésillaient autant.
il y a certaine limite concernant le temps de calcul, ce qui explique que pour le moment les 4 principaux programmes d'echecs sur scratch sont à une profondeur de 4 coups

ceci dit , avoir certaines limites, ça oblige à réfléchir à comment contourner le problème et trouver les compromis nécéssaires à la réalisation.
Bouboufez
Scratcher
1000+ posts

Les limites de Scratch

Après expérimentations, j'ajoute que chaque élément d'une liste peut contenir jusqu'à 10240 caractères (aussi)
Et qu'il ne peut y avoir que 301 clones présents en même temps
Bouboufez
Scratcher
1000+ posts

Les limites de Scratch

D'autres expérimentations :
(taille)
La taille va de 5.3% à 534.7%
(tempo)
La tempo va de 20 bpm à 500 bpm

Je vous laisse essayer de faire d'autres expérimentations

Last edited by Bouboufez (June 10, 2017 14:11:34)

Itharius
Scratcher
1000+ posts

Les limites de Scratch

Ah oui je m'étais aussi rendu compte que la taille s'arrêttait à un moment.
SBissay
Scratcher
500+ posts

Les limites de Scratch

Il me semble avoir lu que la limite de 10240 caractères dans une variable était juste pour le bloc
mettre [var v] à [qqc]

et qu'on pouvait aller plus loin avec des
(regroupe (var) [mot])

Mais j'avoue n'avoir pas testé.

Quant à la taille du zoom, là aussi ce n'est que réminiscences de lectures diverses, mais il me semble que la limite inférieure est à 4% et que la supérieure dépend directement de la taille initiale de l'image (on peut augmenter plus la taille d'une petite image que d'une grande). J'avais d'ailleurs vu des astuces pour passer outre la limite supérieure sur des grandes images en passant sur un petit costume, changeant le zoom et repassant sur le grand costume.

Last edited by SBissay (June 10, 2017 15:03:08)

Bouboufez
Scratcher
1000+ posts

Les limites de Scratch

SBissay wrote:

Il me semble avoir lu que la limite de 10240 caractères dans une variable était juste pour le bloc
mettre [var v] à [qqc]

et qu'on pouvait aller plus loin avec des
(regroupe (var) [mot])

Mais j'avoue n'avoir pas testé.
Moi oui, mais ça n'a pas l'air de fonctionner
Pseudofr
Scratcher
100+ posts

Les limites de Scratch

Sur scratch offline au bout d'un moment sa bug au niveau de la musique certaine version de mon projet regardez la de dans une des versions a un grave bug de son accause des limites.
SBissay
Scratcher
500+ posts

Les limites de Scratch

Bouboufez wrote:

Moi oui, mais ça n'a pas l'air de fonctionner

J'ai retrouvé l'astuce pour dépasser la limite de 10240 :

quand le drapeau vert pressé
supprimer l'élément (tout v) de la liste [list v]
répéter (50000) fois
ajouter [a] à [list v]
end
mettre [Test v] à (list)
mettre [Longueur v] à (longueur de (Test))

Et là, on se retrouve bien avec une variable de longueur 50 000 !

Par contre, faut que je teste si ça fonctionne avec les variables cloud, parce que ça serait génial !

Last edited by SBissay (June 11, 2017 10:09:15)

Itharius
Scratcher
1000+ posts

Les limites de Scratch

si ça se trouve il y a quelquechose dans la variable cloud qui va détecter que c'est 50000 fois le même caractère qui est stocké et qui va compresser ça.
smrman
Scratcher
1000+ posts

Les limites de Scratch

De mon côté j'ai trouvé ça moi…
Vu que Scratch est codé en Action Script, il faut aller voir quelle est la plus grande/plus petit valeur supportée.
Le problème c'est que soit les variables sont des entiers, soit des nombres a virgules, soit des chaines de caractères… donc la limite est différente en fonction du contenu? Ou alors tout est considéré comme une chaine de caractère même si il n'y a qu'un entier ou nombre à virgule?

Bon, pour le cloud, la question ne se pose pas, il n'y a que des chiffres…
Donc voilà une explicatiojn plausible pour le cloud.

Number data type
In ActionScript 3.0, the Number data type can represent integers, unsigned integers, and floating-point numbers. However, to maximize performance, you should use the Number data type only for integer values larger than the 32-bit int and uint types can store or for floating-point numbers. To store a floating-point number, include a decimal point in the number. If you omit a decimal point, the number will be stored as an integer.

The Number data type uses the 64-bit double-precision format as specified by the IEEE Standard for Binary Floating-Point Arithmetic (IEEE-754). This standard dictates how floating-point numbers are stored using the 64 available bits. One bit is used to designate whether the number is positive or negative. Eleven bits are used for the exponent, which is stored as base 2. The remaining 52 bits are used to store the significand (also called the mantissa ), which is the number that is raised to the power indicated by the exponent.

By using some of its bits to store an exponent, the Number data type can store floating-point numbers significantly larger than if it used all of its bits for the significand. For example, if the Number data type used all 64 bits to store the significand, it could store a number as large as 265 - 1. By using 11 bits to store an exponent, the Number data type can raise its significand to a power of 21023.

The maximum and minimum values that the Number type can represent are stored in static properties of the Number class called Number.MAX_VALUE and Number.MIN_VALUE .

Number.MAX_VALUE == 1.79769313486231e+308
Number.MIN_VALUE == 4.940656458412467e-324
Although this range of numbers is enormous, the cost of this range is precision. The Number data type uses 52 bits to store the significand, with the result that numbers that require more than 52 bits to represent precisely, such as the fraction 1/3, are only approximations. If your application requires absolute precision with decimal numbers, you need to use software that implements decimal floating-point arithmetic as opposed to binary floating-point arithmetic.

When you store integer values with the Number data type, only the 52 bits of the significand are used. The Number data type uses these 52 bits and a special hidden bit to represent integers from -9,007,199,254,740,992 (-253) to 9,007,199,254,740,992 (253).

Flash Player and Adobe AIR use the NaN value not only as the default value for variables of type Number , but also as the result of any operation that should return a number but does not. For example, if you attempt to calculate the square root of a negative number, the result will be NaN . Other special Number values include positive infinity and negative infinity .

Note: The result of division by 0 is only NaN if the divisor is also 0 . Division by 0 produces infinity when the dividend is positive or -infinity when the dividend is negative.
TitouanB29
Scratcher
100+ posts

Les limites de Scratch

Bouboufez wrote:

D'autres expérimentations :
(taille)
La taille va de 5.3% à 534.7%
(tempo)
La tempo va de 20 bpm à 500 bpm

Je vous laisse essayer de faire d'autres expérimentations
la limite d'élément du clood parr variable est limités a 10000
frouvera
Scratcher
100+ posts

Les limites de Scratch

Il y a aussi la limitation en nombre de clones à 300…
gdpr8e0f8747d5b59e360814647f
Scratcher
100+ posts

Les limites de Scratch

Sympa le forum !!
Bouboufez
Scratcher
1000+ posts

Les limites de Scratch

frouvera wrote:

Il y a aussi la limitation en nombre de clones à 300…

Bouboufez wrote:

il ne peut y avoir que 301 clones présents en même temps

Narkrasg wrote:

Sympa le forum !!
Merci
CrocodileCroco
Scratcher
100+ posts

Les limites de Scratch

Aussi le scratch offline ne nous permet pas de avoir un mode sans edition
Ce que je veut dire c'est que quand vous jouer a un projet d'un autre utilisateur ce n'est pas en mode edition/remix
Voila ce que je veut dire
zelda_64
Scratcher
1000+ posts

Les limites de Scratch

CrocodileCroco wrote:

Aussi le scratch offline ne nous permet pas de avoir un mode sans edition
Ce que je veut dire c'est que quand vous jouer a un projet d'un autre utilisateur ce n'est pas en mode edition/remix
Voila ce que je veut dire

Ah oui c'est ch… embêtant ça (par contre, c'est pas une limite ça ^^)
el15617
Scratcher
1000+ posts

Les limites de Scratch

Ya certaines limites que l'on peut éviter: par exemple: Voici un programme capable de diviser des grands nombres comme ceux des cloud datas
Itharius
Scratcher
1000+ posts

Les limites de Scratch

Comme j'aime bien regrouper les informations dans les bons topics, j'ai déterminé que la limite pour réussir à sauvegarder un projet sans avoir le message en boucle sur la perte de connexion concernant les listes se situe aux alentours de 500000 caractères. exemple 1000 entrées avec 500 caractères chacune.

Le lien vers le topic où l'on s'est rendu compte du problême https://scratch.mit.edu/discuss/topic/320777/
NilsTheBest
Scratcher
1000+ posts

Les limites de Scratch

Bouboufez wrote:

D'autres expérimentations :
(taille)
La taille va de 5.3% à 534.7%

nn, ça dépend. J'ai expérimenté cela il y a qq mois. La limite dépend de la taille initiale du costume. Si t'as un gros costume, la limite sera par exemple 145.7%, ou 132%…. tandis que si t'as un petit costume, tu peux aller jusqu'à 600% et plus ^^

Powered by DjangoBB