PROJET AUTOBLOG


Warrior du Dimanche

Site original : Warrior du Dimanche

⇐ retour index

Bethesda repousse les limites du possible – Canard PC [LOL]

dimanche 17 septembre 2023 à 12:21

un patch pour Starfield corrigera certaines des bethesdouilles les plus flagrantes du jeu. Seront ainsi rajoutés le support du DLSS, un réglage du FOV, un menu de calibration pour le HDR et des curseurs permettant de modifier le contraste et la luminosité de l'image.

Bon, je crois me rappeler que le DLSS est un genre d'upscaling mais j'en sais pas plus, donc je cherche un peu:

Comme son nom l’indique, le DLSS est une technologie d’upscaling reposant sur l’intelligence artificielle. Il existe en effet 4 techniques d’upscaling [...] Formulé plus simplement, le DLSS permet à un PC équipé d’une carte graphique et d’un processeur vieillissant d’afficher un jeu en 4K/60 FPS. Le DLSS est donc un cadeau tombé du ciel pour les joueurs ne pouvant pas se permettre de mettre régulièrement à jour leur setup pour profiter des derniers composants en date (https://www.phonandroid.com/dlss-tout-comprendre-sur-la-technologie-de-nvidia-qui-revolutionne-le-jeu-video.html)

Ha, bonne nouvelle alors ?! Regardons la liste des cartes compatibles sur la même page (j'ai pas cherché plus loin):

RTX 4060 RTX 4060 Ti RTX 4070 RTX 4070 Ti RTX 4080 RTX 4090

Donc des cartes allant de 350€ à 2000€...

Bon ben je vais continuer à jouer en mode potato, alors... Parce que même 350€, ça reste cher pour du matos qu'on associe déjà à des composants «vieillissants», en tout cas pour moi. Mon téléphone est explosé et ne fait plus de photos, mon tracteur de pelouse ne démarre plus sans starter extérieur, mes pneus commencent à être justes, on a les loyers de mes deux grands en ville etc etc. Comme tous les gens normaux, je peux pas me payer du matos tous les deux ans. Surtout qu'après, faut stocker... Quand on voit comment c'est dans mon bureau... (et je vous parle pas de chez Liandri )

Sans compter que s'il faut que je change mon compteur électrique et mon alim de PC pour installer une carte graphique qui coûte le PIB du Luxembourg en électricité... une carte qui ne rentrera probablement pas dans mon PC de toutes façons... et qui chauffera tellement que je devrai aussi changer les ventilos...

Avant, on branchait   la carte graphique sur la carte-mère.   Aujourd'hui on branche la carte-mère   sur la carte graphique.

Bref, merci beaucoup Bethesda pour ce meeeeeerveilleux cadeau.

image récupérée par fetchit

EDIT : petite annonce

Liandri en profite pour me dire via Signal qu'il vend sa config Gamer, donc je passe l'info

i7 9700k, 64go ram, rtx2080, bonne alim, boitier fractal design R6 silencieux et 4x SSD de 480go : 600€ .

Si ça vous intéresse, passez par moi ou contactez-le directement sur le mammouth

Via https://liens.strak.ch/shaare/5FfkNA
<link rel="stylesheet" href="http://www.warriordudimanche.net/./plugins/Galart/style.css"/> <link rel="stylesheet" href="http://www.warriordudimanche.net/./plugins/Galart/assets/lightbox.css"/> <script src="http://www.warriordudimanche.net/./plugins/Galart/assets/lightbox.js"> <script>[].forEach.call(document.querySelectorAll("[lightbox]"), function(el) { el.lightbox = new Lightbox(el);});

► Commentaires

PHP - Notes perso sur Imagick 2 - ImagickDraw... si on dessinait ?

samedi 16 septembre 2023 à 18:08

Deuxième épisode de mes notes perso sur la bibliothèque Image magic pour évoquer la classe ImagickDraw qui, comme son nom l'indique, permet de dessiner avec Imagick. ( 1er épisode )

On va se limiter à des usages basiques parce que la lecture du sommaire suffit à imaginer des possibilités certes alléchantes mais totalement hors de propos en ce qui me concerne (courbes de bézier etc)

Spoiler: c'est nettement moins intuitif et simple que pour le traitement d'image... l'écart entre Imagick et GD dans le domaine du tracé n'est plus si évident: ça mériterait de faire un classe pour simplifier tout ça... ( /me se jette sur son bujo pour griffonner spasmodiquement)

Préambule

Cette classe crée un objet servant d'instructions à appliquer ensuite à un objet Imagick.

On partira du principe que vous avez fait des instances des classes comme suit:

$im=new Imagick(); # l'image dans laquelle vous allez appliquer l'objet ImagickDraw
$draw=new ImagikDraw();

Ajouter un texte

Fixer les caractéristiques

Tracer le texte

Obtenir des infos utiles

  • obtenir la liste des polices disponibles: $im->queryFonts($pattern = "*") 🆒 on peut filtrer avec une pattern à la façon de glob().
  • obtenir les infos fixées par setXXX : getXXX ... ainsi on a getFont(), getFontSize() etc...
  • obtenir les dimensions de la boîte de texte: $im->queryFontMetrics($draw, text); on récupère un tableau comme ci-dessous
  • 
    Array
    (
        [characterWidth] => 9
        [characterHeight] => 9
        [ascender] => 9 # la taille au-dessus de la baseline
        [descender] => -2 # la taille sous la baseline
        [textWidth] => 71
        [textHeight] => 10
        [maxHorizontalAdvance] => 12
        [boundingBox] => Array
            (
                [x1] => 0
                [y1] => -2
                [x2] => 6.890625
                [y2] => 7
            )
        [originX] => 70
        [originY] => 0
    )
    

    Dessiner des formes

    Fixer les caractéristiques

    Formes

    Exemple

    Pour écrire un texte dans une image:

    
    $text='pipo et mollo';
    $im=new Imagick();
    $draw=new ImagickDraw();
    //var_dump($im->queryFonts('*'));exit;
    $draw->setFont( 'Courier' );
    $draw->setFontSize( 20 );
    $draw->setFillColor( 'black' );
    $draw->setTextAntialias(true);
    $metrics = $im->queryFontMetrics($draw, $text);
    $draw->annotation(0,$metrics['ascender'],$text);
    $im->newImage( 300, 20, 'lightblue');
    $im->drawImage($draw);
    $im->setImageFormat( 'png' );
    header('Content-type: image/jpeg');
    exit($im);  
    
    ce qui donne cette image
    index2.png
    C'est pas ouf...

    Il serait intéressant de pousser les tests mais là, j'ai pas le temps...

    Peut-être reprendrais-je des trucs existant avec tout ça ( scriptopic, RoR, Stamp mematic etc etc.)

    Et c'est là que Bronco prit  conscience de la quantité de   merdes affligeantes qu'il avait  codées sur un coup de tête  à la va-comme-je-te-pousse   et qu'il avait infligées à tous...
    <link rel="stylesheet" href="http://www.warriordudimanche.net/./plugins/Galart/style.css"/> <link rel="stylesheet" href="http://www.warriordudimanche.net/./plugins/Galart/assets/lightbox.css"/> <script src="http://www.warriordudimanche.net/./plugins/Galart/assets/lightbox.js"> <script>[].forEach.call(document.querySelectorAll("[lightbox]"), function(el) { el.lightbox = new Lightbox(el);});

    ► Commentaires

    PHP - Notes perso sur Imagick, un résumé de pourquoi je vire GD à coups de pompes dans l'oignon.

    vendredi 15 septembre 2023 à 15:23

    Allez, pour une fois, j'ai un peu de temps devant moi, je vais éplucher un peu la lib Image magick dont je parlais il n'y à guère...

    La base

    charger UNE image

    Simple: pas besoin de plusieurs fonctions selon le format, il suffit de $images = new Imagick('image.jpg');

    charger DES images (et là c'est fort)

    Même pas nécessaire de passer par un foreach, on fournit le tableau des fichiers voire directement un glob: $images = new Imagick(glob('images/*.JPG'));

    Sauver une image

    $im->writeImage('image.jpg');

    Faire une miniature

    Si on laisse une dimension à 0, les proportions sont conservées (quand tu vois la merde que c'est avec GD !) $image->thumbnailImage(100, 0);

    Output une image

    header('Content-type: image/jpeg');
    $image = new Imagick('image.jpg');
    # ici on effectue un traitement puis on sort le résultat
    echo $image;

    Récupération d'infos sur les images

    création d'une nouvelle image

    $im->NewImage(largeur,hauteur,couleur de fond);

    création d'une couleur

    Comme pour GD, il faut créer un objet couleur dans les traitements d'image, mais c'est plus simple qu'avec GD (et plus complet): il suffit de passer une couleur selon les normes CSS. Du coup, la transparence n'est pas gérée par une connerie de paramètre «alpha» mais simplement par ... rgba()... 💖

    $couleur=new ImagickPixel("white");
    $couleur=new ImagickPixel("#FFF");
    $couleur=new ImagickPixel('rgb(255,255,200)');
    $couleur=new ImagickPixel('rgba(255,255,200,0.5)');

    🆒 ⮕ Ça peut paraître compliqué, mais en fait, dans les fonctions où on est sensé utiliser ImagickPixel, je me suis aperçu qu'on pouvait tout simplement passer une string contenant la couleur css... elles se démerdent seules. 😍

    Traitements

    Ajouts

    Modification de couleurs

    Modification de taille et d'orientation

    Modifications de qualité

    Modification d'aspect et déformations

    interactions d'images

    # Conclusion Image Magick me semble particulièrement bien nommée tant les possibilités sont énormes et la simplicité d'utilisation étonnante: on sent une volonté de se simplifier la vie lors de l'utilisation... c'est juste beau.

    Je voulais mettre une image de chaque effet dans les descriptions mais:

    1. ça prenait une place de ouf
    2. je préfère reprendre certaines de mes applis/api avec imagick
    3. j'ai plus le temps, les autres arrivent
    4. j'ai la flemme.
    <link rel="stylesheet" href="http://www.warriordudimanche.net/./plugins/Galart/style.css"/> <link rel="stylesheet" href="http://www.warriordudimanche.net/./plugins/Galart/assets/lightbox.css"/> <script src="http://www.warriordudimanche.net/./plugins/Galart/assets/lightbox.js"> <script>[].forEach.call(document.querySelectorAll("[lightbox]"), function(el) { el.lightbox = new Lightbox(el);});

    ► Commentaires

    PHP: ImageMagick - Manual

    jeudi 14 septembre 2023 à 08:07

    Pour un de mes futurs projets, j'avais besoin d'un nouveau microservice d'avatars...

    J'avais déjà fait un générateur d'avatars pixelisés il y a longtemps mais là, il me faudrait un service qui superpose divers «calques» pour générer un avatar en fonction du nom de la personne.

    BREF...

    Je me suis lancé, comme d'hab', en réutilisant une classe simplifiant l'usage de la lib GD en PHP.

    C'était souple et simple mais le résultat restait assez décevant parce que je ne parvenais pas à gérer correctement la transparence des PNG: GD ne prenait en compte qu'une seule couleur transparente et on se retrouve avec un GIF like en qualité potato...

    Après avoir cherché, lutté, testé des trucs, modifié ma classe... le ratio temps demandé/résultat obtenu m'a poussé à me dire : «stop, il doit y avoir un moyen plus simple»

    Ben vous savez quoi ? Il y a. Oui.

    Ma classe était déjà vraiment pas mal car elle permettait de faire les choses simplement... Mais, juste pour tester, j'ai essayé ImageMagick.

    OMFGPHP
    1 1 1

    Reprendre mon code pour utiliser cette lib m'a pris un gros quart d'heure et cinq fois moins de code. Et ça a marché. Propre. Du premier coup.

    Conclusion

    🟢 rapide

    🟢 simple d'utilisation (5 minutes pour piger les bases)

    🟢 efficace

    🟢 code ultra lisible et compact à la fin

    🟢 se suffit à elle-même et gère seule les trucs chiants

    OMFGPHP2
    <link rel="stylesheet" href="http://www.warriordudimanche.net/./plugins/Galart/style.css"/> <link rel="stylesheet" href="http://www.warriordudimanche.net/./plugins/Galart/assets/lightbox.css"/> <script src="http://www.warriordudimanche.net/./plugins/Galart/assets/lightbox.js"> <script>[].forEach.call(document.querySelectorAll("[lightbox]"), function(el) { el.lightbox = new Lightbox(el);});

    ► Commentaires

    «Starfield», plan-plan sur la comète  – Libération

    mardi 12 septembre 2023 à 13:20

    Assez d'accord avec le passage cité par @sammy

    Surtout Bethesda se prend les pieds dans son monde ouvert. L’échelle tant mise en avant se trouve saucissonnée en petites poches quasi étanches qui sapent le sentiment d’exploration si précieux dans leurs jeux. De toute façon, la plupart des planètes, au contenu généré aléatoirement, n’offre rien d’autre que des ressources à collecter et une infinité de jobards à tabasser dans des complexes militaro-industriels répétés à l’infini. Et si l’on peut personnaliser son vaisseau de pied en cap, on n’aura pas grand-chose à faire dedans. Pour sa première création originale en vingt-cinq ans, Bethesda livre une odyssée spatiale si chétive et étriquée qu’elle interroge sur la capacité du studio à se renouveler.

    Au bout du compte, on a l'impression d'un jeu prétentieux :

    Je pense que le jeu a été survendu, à tort annoncé comme révolutionnaire par certains: hélas, les mécaniques de Skyrim/Oblivion/Morrowind étaient suffisantes pour l'époque et on les aimait malgré leurs éventuelles imperfections.

    Cette indulgence ne peut plus être autant de mise dix ans après Skyrim... Surtout après avoir autant attendu un jeu à cause duquel Bethesda n'a pas travaillé sur ES6... (et ÇA c'est grave !)

    Via https://www.sammyfisherjr.net/Shaarli/
    <link rel="stylesheet" href="http://www.warriordudimanche.net/./plugins/Galart/style.css"/> <link rel="stylesheet" href="http://www.warriordudimanche.net/./plugins/Galart/assets/lightbox.css"/> <script src="http://www.warriordudimanche.net/./plugins/Galart/assets/lightbox.js"> <script>[].forEach.call(document.querySelectorAll("[lightbox]"), function(el) { el.lightbox = new Lightbox(el);});

    ► Commentaires