web-dev-qa-db-fra.com

Comment désactiver toutes les animations Unity?

Si ce n'est pas possible, alors peut-être uniquement les animations Dash Show/Hide. Je me retrouve tout simplement à attendre des animations inutiles.

44
Bucic

enter image description here

1. Pourquoi vous ne pouvez pas désactiver cette animation Dash dans Unity 12.04

  • Malheureusement, l'animation de fondu/opacité et les temps associés sont codés en dur dans le code source de Unity.
  • Le code réel peut être trouvé dans unity-5.12/plugins/unityshell/src/ShortcutController.cpp (c'est ce qu'il vous faudrait modifier et recompiler pour vous débarrasser des animations)
  • Quelques exemples de lignes de ce fichier illustrant le codage en dur de l'animation lorsque vous utilisez la touche Super pour lancer le tiret:

     30: const unsigned int SUPER_TAP_DURATION = 650; 
     31: const unsigned int FADE_DURATION = 100; 
     39:, fade_in_animator_ (FADE_DURATION) 
     40:, fade_out_animator_ ( FADE_DURATION) 
     65: fade_in_animator_.animation_updated.connect (sigc :: mem_fun (this, & Controller :: OnFadeInUpdated)); 
     66: fade_in_animator_.animation_ended.connect (sigc :: mem_fun) :: OnFadeInEnded)); 
     67: fade_out_animator_.animation_updated.connect (sigc :: mem_fun (this, & Controller :: OnFadeOutUpdated)); 
     68: fade_out_animator_.animation_.animation_ended.connect (sigc :: memigf (this, & Controller :: OnFadeOutEnded));; 
     120: show_timer_ = g_timeout_add (SUPER_TAP_DURATION, & Controller :: OnShowTimer, ceci); 
     149: self-> fade_out_animator_.Stop (); 
     150: self-> fade_in_animator_.Start (self-> view_window _-> GetOpacity ()); 
     213: fade_in_animator_.Stop (); 
     214: fade_out_animator_.Start (1.0 - view_window_- > GetOpacity ()); 
     244: .add ("timeout_dura ", SUPER_TAP_DURATION + FADE_DURATION) 
     246: .add (" about_to_show ", (Visible () &&! fade_out_animator_.IsRunning () && view_window_ && view_window _-> GetOpacity ()! = 1.0f)). .] 247: .add ("about_to_hide", (Visible () &&! Fade_in_animator_.IsRunning () && view_window_ && view_window _-> GetOpacity ()! = 1.0f)) 
    .
  • Bien sûr, vous devrez corriger cela et reconstruire à chaque nouvelle mise à jour de Unity ...

  • Aucune ingérence dans Compiz ne peut changer cela, car tout cela est codé en dur en dehors du plugin Compiz.

2. Alternative A: passer à Ubuntu 2D

Ubuntu 2D a un code Unity Shell différent, et là, lancer le tiret via Super est instantané et n’anime rien.

3. Alternative B: Utilisez un raccourci personnalisé pour lancer le tableau de bord en cliquant sur le logo Ubuntu, en contournant ainsi l'animation

Nous pouvons exploiter le fait que l'animation d'opacité/fondu ne se produit pas lorsque vous lancez le tableau de bord via le bouton "démarrer", ou si votre curseur est sur/autour de la barre de lancement , même si vous appuyez sur Super:

enter image description here

L'animation sera retardée jusqu'à ce que votre curseur se déplace réellement dans la zone du tiret.

  1. xdotool permet d'automatiser les clics/mouvements du clavier et de la souris; installez-le avec Sudo apt-get install xdotool
  2. Ouvrez Paramètres ... Clavier, puis accédez à l'onglet Raccourcis. Créez un raccourci personnalisé en le nommant comme vous le souhaitez et définissez la "Commande" sur:

    xdotool mousemove --sync 25 60 click 1 --delay 100  mousemove restore
    

    enter image description here

    • Vous devrez peut-être ajuster légèrement les coordonnées (25 à 60) si la résolution de votre écran est inférieure à 1024x768 ou plus.
  3. Cliquez sur Appliquer. La colonne de droite dit "Désactiver", cliquez dessus et vous verrez "Nouvel accélérateur": appuyez sur la touche de raccourci clavier. Vous ne pouvez pas choisir Super , même si vous le désactivez dans Compiz, car il est capturé de manière irréversible par Unity. J'ai choisi Ctrl+Alt+Z car il est proche de la touche Super.

  4. Votre raccourci devrait maintenant lancer le tableau de bord beaucoup plus rapidement.

    • Voici une démo vidéo Youtube . Les premières fois (lorsque le lanceur à gauche s'estompe et s'assombrit) se font avec la touche SUPER; puis son avec le raccourci xdotool personnalisé (notez que le launcher n’anime plus et que le tiret apparaît plus rapidement)
27
ish

Installez Compiz Configuration Manager.

Centre de logiciel Ubuntu: Compiz Configuration Manager

ou

Terminal: Sudo apt-get install compizconfig-settings-manager

Une fois installé, ouvrez-le et accédez à Ubuntu Unity Plugin -> Experimental (Tab)

À partir de là, vous pouvez définir Lauch Animation, Urgent Animation et Dash Blur sur `None.

Définissez le Hide Animation sur Slide only.

Si vous le souhaitez, vous pouvez modifier le panneau et la transparence du tiret pour les rendre totalement opaques.

23
Angel Araya

Désolé, vous ne pouvez pas. À ce stade (25 juillet 2012) avec Ubuntu 12.04 LTS, il y a NO moyen facile de désactiver les animations Unity. (au moins sans recompilation).

Et je ne pense pas qu'il y aura une option pour désactiver les animations dans les prochaines versions. L'un des objectifs de Unity est de fournir une expérience utilisateur agréable et les animations sont considérées comme l'un des meilleurs moyens d'y parvenir.

Une solution de contournement:

La solution de contournement possible pour vous est de changer l’animation de tiret en fondu (car, à mon avis, les fondus sont plus rapides que de glisser). Vous pouvez également être intéressé par la désactivation des animations pour toutes les fenêtres. Pour faire ça,

  1. Téléchargez et installez compizconfig-settings-manager

    Sudo apt-get install compizconfig-settings-manager  
    
  2. Ouvrez-le en cherchant ou en tapant ccsm au tiret. Allez dans l'onglet Plugin UnityExpérimental et modifiez les paramètres pour Masquer les animations à Fondu seulement.

Si vous souhaitez désactiver les animations dans toutes les fenêtres, vous pouvez désactiver le plug-in Animations dans ccsm. Si vous souhaitez désactiver le fondu, désactivez les plug-in Fenêtres en fond.

J'espère que cela aidera.


Edit: Comme l'a montré izx dans son réponse modifiée Vous voyez bien que les options des animations en tirets sont codées en dur dans l'Unity , et ceux-ci ne peuvent être changés avec aucune option de configuration, car ces durées ne sont pas variables et ne peuvent pas être changées. Donc, cela signifie que vous devez recompiler l'unité en modifiant ces durées à 0 ms pour désactiver complètement les animations.

6
Anwar

Pour ajouter à instructions de Ángel Araya : J'ai été en mesure de désactiver toutes les animations en désélectionnant Animations et Fading Windows (en gros tout sauf le Window Decoration dans la catégorie Effects dans Gestionnaire de paramètres CompizConfig.

2
Dune

Je pense que désactiver les effets de fading-window dans CompizConfig Settings Manager peut faire toute la différence dans Unity. (Une différence de vitesse subtile, mais toujours une différence.)

1
Rob