Le forum français des radios FrSKY

Dégradation des sons

Voir le sujet précédent Voir le sujet suivant Aller en bas

Dégradation des sons

Message par djsyl le Sam 17 Jan 2015 - 0:36

Force est de constaté une dégradation de la qualité de lecture des sons si les écrans de télémétries sont un peut en surcharge !


peut être une surcharge du cpu ... des mal adresse d'écriture ...


si vous avez eu ou constatez ce problème ou sont les limites et solutions ?
avatar
djsyl

Messages : 1322
Date d'inscription : 11/12/2014
Age : 58
Localisation : Yerres (91330)

http://club-aquilon.fr

Revenir en haut Aller en bas

Re: Dégradation des sons

Message par djsyl le Dim 25 Jan 2015 - 11:22

personne ?
avatar
djsyl

Messages : 1322
Date d'inscription : 11/12/2014
Age : 58
Localisation : Yerres (91330)

http://club-aquilon.fr

Revenir en haut Aller en bas

Re: Dégradation des sons

Message par pat31 le Dim 25 Jan 2015 - 11:41

djsyl a écrit:personne ?
C'est dimanche  Razz 
Ils sont tous à l’église,temple,synagogue ou mosqué.( J’espère n'avoir oublié personne. )lol! 

redevenons sérieux : 
Perso je n'ai pas encore eu ce phénomène.
avatar
pat31

Messages : 380
Date d'inscription : 11/11/2013
Age : 71
Localisation : Pays de l'Ovalie

Revenir en haut Aller en bas

Re: Dégradation des sons

Message par Sacre100 le Dim 25 Jan 2015 - 11:45

Je n'ai pas vraiment constaté ce problème mais c'est possible.

Sauf erreur, les scripts LUA tournent dans le processus qui gère l'affichage. Est-ce que dans ce processus, il y a aussi les sons, c'est possible et si les scripts LUA bouffent trop de ressources, ça peut dégrader les sons.

Si tu as des scripts qui semblent poser problème, mets-les en ligne, y'a peut-être moyen de moyenner.
avatar
Sacre100

Messages : 1889
Date d'inscription : 30/11/2013
Age : 60
Localisation : Blonay - Suisse

Revenir en haut Aller en bas

Re: Dégradation des sons

Message par Belov le Dim 25 Jan 2015 - 12:04

pat31 a écrit:Ils sont tous à l’église,temple,synagogue ou mosqué.( J’espère n'avoir oublié personne. )lol!
Téléfoot ?
avatar
Belov

Messages : 415
Date d'inscription : 01/01/2014
Age : 48
Localisation : Rennes

Revenir en haut Aller en bas

Re: Dégradation des sons

Message par LapinFou le Dim 25 Jan 2015 - 12:11

Perso j'ai le problème, même sans script LUA... Sad
[Vous devez être inscrit et connecté pour voir ce lien]

Petite question: as-tu alloué un Potar au volume radio ?
avatar
LapinFou
Modérateur

Messages : 7154
Date d'inscription : 09/09/2014
Age : 42
Localisation : Falaise

http://falaisemodeleclub.fr/

Revenir en haut Aller en bas

Re: Dégradation des sons

Message par djsyl le Dim 25 Jan 2015 - 12:28

Sacre100 a écrit:Je n'ai pas vraiment constaté ce problème mais c'est possible.

Sauf erreur, les scripts LUA tournent dans le processus qui gère l'affichage. Est-ce que dans ce processus, il y a aussi les sons, c'est possible et si les scripts LUA bouffent trop de ressources, ça peut dégrader les sons.

Si tu as des scripts qui semblent poser problème, mets-les en ligne, y'a peut-être moyen de moyenner.


Ben celui-la par exemple
Code:

-- MODE VOCAL POUR DROPIX --
-- CHEMIN /SCRIPT/MIXES/
-- BETA VERSION 0.02 --
-- SB 17/JANVIER/2015
-- Annonces Mode de vol, armement moteur, distance, hauteur, tension
-- Recuperation des affichages par action sur bouton SA


local valuemode
local memmode
local gps
local memgps
local armed
local memarmed
local altitude
local memaltitude
local distance
local memdistance
local tension
local memtension

local boucle


local function init_func()
                valuemode = 0
                memmode = 0
      gps = 0
      memgps = 0
      armed = 0
      memarmed = 0


      altitude = 0
      memaltitude = 0
      distance = 0
      memdistance = 0

      boucle = 0


end

local function run_func()

boucle = boucle + 1  -- pour ralentir les annonces GPS qui parlent trop

-- #################################  AFFICHAGE SUR ACTION BOUTON SA ################################################
if (getValue(92) > 0 ) then

lcd.lock()
lcd.clear()

-- ################# DESSIN CADRILLAGE ###################

  lcd.drawLine(37, -1, 37, 64, SOLID, GREY_DEFAULT)    -- Vertical 1
  lcd.drawLine(100, -1, 100, 64, SOLID, GREY_DEFAULT)  -- Vertical 2
  lcd.drawLine(162, -1, 162, 64, SOLID, GREY_DEFAULT)  -- Vertical 3

  lcd.drawLine(36, 21, 162, 21, SOLID, GREY_DEFAULT)  -- Horizointal 1
  lcd.drawLine(36, 42, 162, 42, SOLID, GREY_DEFAULT)  -- Horizontal 2


-- ################ Phantom Battery Display ############### A FINIR DE TRAVAILLER

-- Max Batt lt Taranis = 12,2V entspricht 12,6v Phantom => Spannung wird 0,4v zu niedrig angezeigt
-- Min Batt lt Taranis = 10,8V entspricht 11,2v Phantom => Spannung wird 0,4v zu niedrig angezeigt

 
  local myCurrent = getValue("216")                    -- zuz¸glich 0,4v zum Ausgleich         
--  local myCurrent = 12.4                                    -- f¸r Taranis Simulations Mode
                               
  local myMaxV = 25.2                                      -- Maximale Spannung des Akkus
  local myMinV = 21.5                                        -- Minimale Spannung des Akkus
  local myRangeV = myMaxV - myMinV                          -- Nutzspannung berechnen
  local myAvailV = myCurrent - myMinV                        -- Restliche Nutzspannung berechnen
  local myPercent = math.floor(myAvailV / myRangeV * 100)    -- Restliche Nutzspannung in Prozent
 
  if myAvailV < 0 then myAvailV = 0 end                      -- Fehlerhafte Werte abfangen
  if myPercent < 0 then myPercent = 0 end                    -- Fehlerhafte Werte abfangen
  if myPercent > 100 then myPercent = 100 end                -- Fehlerhafte Werte abfangen
 
  local myPxHeight = math.floor(myPercent * 0.37)            -- Benˆtigte Zeilenhˆhe ermitteln
  local myPxY = 11 + 37 - myPxHeight

  lcd.drawPixmap(3, 1, "/SCRIPTS/BMP/battery.bmp")          -- Leere Batterie anzeigen

    if myPercent > 0 then
       lcd.drawFilledRectangle(8, myPxY, 21, myPxHeight, FILL_WHITE )
  end


  local i = 36
  while (i > 0) do
       lcd.drawLine(7, 11 + i, 27, 11 +i, SOLID, GREY_DEFAULT)
       i= i-2
  end

  if (myCurrent > myMaxV) or (myCurrent < myMinV) then
        lcd.drawNumber(4,55, myCurrent * 100  ,PREC2 + LEFT + BLINK)
  else
        lcd.drawNumber(4,55, myCurrent * 100  ,PREC2 + LEFT)
  end
  lcd.drawText(lcd.getLastPos(), 55, "v", 0)



-- ################### MODE DISPLAY DROPIX ########################

-- lcd.drawPixmap(46, 3, "/SCRIPTS/BMP/fm.bmp")

-- custom_mode

local Mode = getValue(208)
if Mode == 0  then  lcd.drawText(46, 5, "STABLE", MIDSIZE) end
if Mode == 1  then  lcd.drawText(46, 5, "ACRO", MIDSIZE) end
if Mode == 2  then  lcd.drawText(46, 5, "ALT-H", MIDSIZE) end
if Mode == 3  then  lcd.drawText(46, 5, "AUTO", MIDSIZE) end
if Mode == 4  then  lcd.drawText(46, 5, "GUIDE", MIDSIZE) end
if Mode == 5  then  lcd.drawText(46, 5, "LOITER", MIDSIZE) end
if Mode == 6  then  lcd.drawText(46, 5, "RTL", BLINK+MIDSIZE) end
if Mode == 7  then  lcd.drawText(46, 5, "CERCLE", MIDSIZE) end
if Mode == 8  then  lcd.drawText(46, 5, "M-08", MIDSIZE) end -- ???
if Mode == 9  then  lcd.drawText(46, 5, "LANDING", MIDSIZE) end
if Mode == 10 then  lcd.drawText(46, 5, "OF_LOITER", MIDSIZE) end -- ???
if Mode == 11 then  lcd.drawText(46, 5, "DRIF", MIDSIZE) end
if Mode == 12 then  lcd.drawText(46, 5, "SPORT", MIDSIZE) end -- ???
if Mode == 13 then  lcd.drawText(46, 5, "M_13", MIDSIZE) end
if Mode == 14 then  lcd.drawText(46, 5, "FLIP", MIDSIZE) end
if Mode == 15 then  lcd.drawText(46, 5, "AUTOTUNE", MIDSIZE) end
if Mode == 16 then  lcd.drawText(46, 5, "POSHOLD", MIDSIZE) end
if Mode == 17 then  lcd.drawText(46, 5, "M_17", MIDSIZE) end 
if Mode == 18 then  lcd.drawText(46, 5, "M-18", MIDSIZE) end -- ???
                                                             

-- ####################### CHRONO  ##########################

--  lcd.drawPixmap(46, 46, "/SCRIPTS/BMP/timer.bmp")
  lcd.drawTimer(50, 46, getValue(196) , DBLSIZE)                  -- Timer 1 value [seconds]

 

-- ############## Distance ########################################
  lcd.drawPixmap(110, 0, "/SCRIPTS/BMP/dist.bmp")
  lcd.drawNumber(130, 4, getValue(212), LEFT+MIDSIZE)                -- 212 Distance
  lcd.drawText(lcd.getLastPos(), 4, "m", MIDSIZE)


-- ############## GPS ALTITUDE ########################################
        lcd.drawPixmap(110, 46, "/SCRIPTS/BMP/hgt.bmp")
    lcd.drawNumber(130,49,getValue(213), MIDSIZE  + LEFT )-- gps-altitude
    lcd.drawText(lcd.getLastPos(), 53, "m" , 0)



-- ################# GPS Quality ##################################
  local myNumSat =  getValue(209)                                  -- Temp1=209 ist Anzahl Sats
  local myQualSat =  getValue(210)                                  -- Temp2=210 ist Qualit‰t des Satfix
 
-- myNumSat =5                                                      -- f¸r Taranis Simulations Mode
-- myQualSat =3                                                      -- f¸r Taranis Simulations Mode
 
  if myQualSat == 0 then
        lcd.drawPixmap(46, 24, "/SCRIPTS/BMP/sat0.bmp")                -- kein Fix
  elseif myQualSat == 2 then
         lcd.drawPixmap(46, 24, "/SCRIPTS/BMP/sat1.bmp")                -- 2D Fix
  elseif myQualSat == 3 then
         lcd.drawPixmap(46, 24, "/SCRIPTS/BMP/sat2.bmp")                -- 3D Fix
  elseif myQualSat == 4 then
         lcd.drawPixmap(46, 24, "/SCRIPTS/BMP/sat3.bmp")                -- Differenzial GPS (DGPS)
    end   


         
    if myNumSat > 5 then
          lcd.drawPixmap(66, 25, "/SCRIPTS/BMP/gps_6.bmp")              -- 6 oder mehr Sats
    elseif myNumSat > 4 then
          lcd.drawPixmap(66, 25, "/SCRIPTS/BMP/gps_5.bmp")              -- 5 Sats
    elseif myNumSat > 3 then
          lcd.drawPixmap(66, 25, "/SCRIPTS/BMP/gps_4.bmp")              -- 4 Sats
    elseif myNumSat > 2 then
            lcd.drawPixmap(66, 25, "/SCRIPTS/BMP/gps_3.bmp")              -- 3 Sats
    elseif myNumSat > 1 then
          lcd.drawPixmap(66, 25, "/SCRIPTS/BMP/gps_2.bmp")              -- 2 Sats
    elseif myNumSat > 0 then
          lcd.drawPixmap(66, 25, "/SCRIPTS/BMP/gps_1.bmp")              -- 1 Sat
    else
       lcd.drawPixmap(66, 25, "/SCRIPTS/BMP/gps_0.bmp")                -- kein Sat
    end
  lcd.drawNumber(73, 24, myNumSat,  SMLSIZE)                        -- Anzahl anzeigen



-- ################### Home Point ######################################
-- ### wenn Pilot Position bekannt HP setzen                ###########
-- ### muss noch korrigiert werden da NAZA erst sp‰ter setzt ###########
 
  if getValue("pilot-longitude") == getValue("pilot-latitude") then
      lcd.drawPixmap(110, 24, "/SCRIPTS/BMP/home1.bmp")
      lcd.drawText(132, 26, "?", MIDSIZE + BLINK)
  elseif myNumSat > 5 then
      lcd.drawPixmap(110, 24, "/SCRIPTS/BMP/home.bmp")
      lcd.drawPixmap(130, 24, "/SCRIPTS/BMP/check.bmp")
  else
      lcd.drawPixmap(110, 24, "/SCRIPTS/BMP/home.bmp")
      lcd.drawText(132, 26, "X",  BLINK+ MIDSIZE)
  end

-- ####################### Logging display ############################

-- Enregistrement des log actif ( bizard le get 100 ??? )

-- ###  Logging auf logischem Schalter LS1 = source 100  #############

  if getValue(100) > 0 then                                       
      lcd.drawText(155,28,"O", SMLSIZE + BLINK) -- Clignotement sur la disquette
      lcd.drawPixmap(152, 30, "/SCRIPTS/BMP/save.bmp") -- Logo disquette
  end


-- ############### RSSI ##############################################

  if getValue(200) > 38 then
  percent = ((math.log(getValue(200)-28, 10)-1)/(math.log(72, 10)-1))*100
  else
  percent = 0
  end

  if percent > 90 then
     lcd.drawPixmap(164, 1, "/SCRIPTS/BMP/RSSI10.bmp")
  elseif percent > 80 then
      lcd.drawPixmap(164, 1, "/SCRIPTS/BMP/RSSI09.bmp")
  elseif percent > 70 then
      lcd.drawPixmap(164, 1, "/SCRIPTS/BMP/RSSI08.bmp")
  elseif percent > 60 then
      lcd.drawPixmap(164, 1, "/SCRIPTS/BMP/RSSI07.bmp")
  elseif percent > 50 then
      lcd.drawPixmap(164, 1, "/SCRIPTS/BMP/RSSI06.bmp")
   elseif percent > 40 then
      lcd.drawPixmap(164, 1, "/SCRIPTS/BMP/RSSI05.bmp")
  elseif percent > 30 then
      lcd.drawPixmap(164, 1, "/SCRIPTS/BMP/RSSI04.bmp")
  elseif percent > 20 then
      lcd.drawPixmap(164, 1, "/SCRIPTS/BMP/RSSI03.bmp")
  elseif percent > 10 then
      lcd.drawPixmap(164, 1, "/SCRIPTS/BMP/RSSI02.bmp")
  elseif percent > 0 then
      lcd.drawPixmap(164, 1, "/SCRIPTS/BMP/RSSI01.bmp")
  else
    lcd.drawPixmap(164, 1, "/SCRIPTS/BMP/RSSI00.bmp")
  end

  lcd.drawChannel(178, 55, 200, LEFT)
  lcd.drawText(lcd.getLastPos(), 56, "dB", SMLSIZE)
end



-- ########################################################################################
--                    PARTIE VOCAL
-- ########################################################################################
             valuemode = getValue(208) --  CARBURAN (mode de vol)
      gps =      getValue(209) --  T1 XX.Y XX = nombre, Y type de fixe
      armed =    getValue(210) --  T2
      altitude =  getValue(213) --  Altitude GPS
      distance =  getValue(212) --  DISTANCE
      tension =  getValue(216) --  tension (vfas)


-- GESTION de la tension

      
      if not (tension == memtension) then
                  
        playNumber(tension * 10,1,PREC1)
       
      memtension = tension      
      end




-- GESTION de l altitude

      if (altitude - 10 > memaltitude ) or (altitude + 10 < memaltitude ) then
                  playFile("/SOUNDS/fr/altitude.wav")
        playNumber(altitude,0,0)
        playFile("/SOUNDS/fr/SYSTEM/0130.wav")
      memaltitude = altitude      
      end





-- GESTION de la distance

      if (distance - 10 > memdistance ) or (distance + 10 < memdistance ) then
                   playFile("/SOUNDS/fr/distance.wav")
        playNumber(distance,0,0)
        playFile("/SOUNDS/fr/SYSTEM/0130.wav")
      memdistance = distance      
      end





-- GESTION ARMEMENT MOTEURS

      if not (armed == memarmed) then

         if (armed == 0)  then 
         playFile("/SOUNDS/fr/engoff.wav")
         end
         if (armed == 1)  then 
         playFile("/SOUNDS/fr/engon.wav")
         end

      memarmed = armed      
      end

-- GESTION nombre de GPS et du type de fix

if (boucle > 1000 ) then

      if not (gps == memgps) then

      playNumber(gps,0,PREC1)
      playFile("/SOUNDS/fr/sat.wav")
      memgps = gps      
      end
boucle = 0
end


-- GESTION DES MODES DE VOL

      if not (valuemode == memmode) then
             
         if (valuemode == 0)  then 
         playFile("/SOUNDS/fr/stable.wav")
         end

         if (valuemode == 1)  then 
         playFile("/SOUNDS/fr/acro.wav")
         end

         if (valuemode == 2)  then 
         playFile("/SOUNDS/fr/althold.wav")
         end

         if (valuemode == 3)  then 
         playFile("/SOUNDS/fr/auto.wav")
         end

         if (valuemode == 4)  then 
         playFile("/SOUNDS/fr/guider.wav")
         end

         if (valuemode == 5)  then 
         playFile("/SOUNDS/fr/flaner.wav")
         end

         if (valuemode == 6)  then 
         playFile("/SOUNDS/fr/rth.wav")
         end

         if (valuemode == 7)  then 
         playFile("/SOUNDS/fr/cercle.wav")
         end

         if (valuemode == 8)  then 
         playFile("/SOUNDS/fr/SYSTEM/0008.wav")
         end

         if (valuemode == 9)  then 
         playFile("/SOUNDS/fr/landing.wav")
         end

         if (valuemode == 10)  then 
         playFile("/SOUNDS/fr/SYSTEM/0010.wav")
         end

         if (valuemode == 11)  then 
         playFile("/SOUNDS/fr/drift.wav")
         end


         if (valuemode == 12)  then 
         playFile("/SOUNDS/fr/sport.wav")
         end

         if (valuemode == 13)  then 
         playFile("/SOUNDS/fr/SYSTEM/0013.wav") -- 13 ??
         end

         if (valuemode == 14)  then 
         playFile("/SOUNDS/fr/flip.wav") -- FLIP
         end

         if (valuemode == 15)  then 
         playFile("/SOUNDS/fr/autotune.wav") -- AUTOTUNE
         end

         if (valuemode == 16)  then 
         playFile("/SOUNDS/fr/poshold.wav") -- POSHOLD
         end


         if (valuemode == 17)  then 
         playFile("/SOUNDS/fr/SYSTEM/0017.wav") -- 17 ??
         end


         if (valuemode == 18)  then 
         playFile("/SOUNDS/fr/SYSTEM/0018.wav")  -- 18 ??
         end




      memmode = valuemode

      end


                return memmode
end

return { init=init_func, run=run_func, output= {"MODE"} }


on vois clairement lorsque l'on bascule l'inter SA la différence !
avatar
djsyl

Messages : 1322
Date d'inscription : 11/12/2014
Age : 58
Localisation : Yerres (91330)

http://club-aquilon.fr

Revenir en haut Aller en bas

Re: Dégradation des sons

Message par Sacre100 le Dim 25 Jan 2015 - 13:02

Au premier coup d'oeil, on voit que le script peut jouer jusqu'à 11 sons (playFile ou playNumber) lors d'une exécution, ça fait beaucoup.

Faudrait essayer de répartir la charge sur plusieurs appels un peu comme tu le fais pour le nombre de GPS.

Y'a aussi les variables locales dans la fonction run qui entraînent une surcharge du garbage collector, et d'autres trucs aussi.

Joli challenge en tout cas, je vais m'y pencher dessus, ça me plait.
avatar
Sacre100

Messages : 1889
Date d'inscription : 30/11/2013
Age : 60
Localisation : Blonay - Suisse

Revenir en haut Aller en bas

Re: Dégradation des sons

Message par djsyl le Dim 25 Jan 2015 - 13:11

ben en fait si tu dégage la partie son

pour n'en jouer qu'un de temps en temps dés que la partie affichage est chargée le son est dégradé

c'est pareil sur des script de télémétrie ...

j'ai plutôt l'impression que c'est la boucle d'affichage qui sollicite trop de process !

il faudrait pouvoir ne pas ré-afficher ce qui ne change pas !
avatar
djsyl

Messages : 1322
Date d'inscription : 11/12/2014
Age : 58
Localisation : Yerres (91330)

http://club-aquilon.fr

Revenir en haut Aller en bas

Re: Dégradation des sons

Message par Sacre100 le Dim 25 Jan 2015 - 13:38

djsyl a écrit:ben en fait si tu dégage la partie son

pour n'en jouer qu'un de temps en temps dés que la partie affichage est chargée le son est dégradé

c'est pareil sur des script de télémétrie ...

j'ai plutôt l'impression que c'est la boucle d'affichage qui sollicite trop de process !

il faudrait pouvoir ne pas ré-afficher ce qui ne change pas !

Tu as surement raison, malheureusement on est obligé de redessiner tout l'écran à chaque exécution.

Tu as beaucoup de lcd.drawPixmap(...) et dans ce cas, mieux vaut avoir une carte SD pico bello (checkdisk et compress) et rapide sinon ça doit ralentir considérablement l'exécution. Pour mon horizon artificiel, j'avais commencé avec des lcd.drawPixmap mais je les ai vite abandonné l'affichage était trop saccadé.
avatar
Sacre100

Messages : 1889
Date d'inscription : 30/11/2013
Age : 60
Localisation : Blonay - Suisse

Revenir en haut Aller en bas

Re: Dégradation des sons

Message par Sacre100 le Dim 25 Jan 2015 - 14:36

Peut-être qu'en plaçant les playSound ou playNumber avant de dessiner l'écran, les sons seraient joués pendant que l'écran est rafraichit et tu optiendrais un meilleur son.
avatar
Sacre100

Messages : 1889
Date d'inscription : 30/11/2013
Age : 60
Localisation : Blonay - Suisse

Revenir en haut Aller en bas

Re: Dégradation des sons

Message par djsyl le Dim 25 Jan 2015 - 16:35

Bon je viens de faire les essais suivants :

J'ai déplacer la partie son avant les affichages ... pas mieux
Un gros ménage dans le répertoire BMP ... sans effet
Essai avec des cartes mémoires 10x genre 16Go que j'utilise en vidéo ... c'est même moins bien !


d'autres pistes ?
avatar
djsyl

Messages : 1322
Date d'inscription : 11/12/2014
Age : 58
Localisation : Yerres (91330)

http://club-aquilon.fr

Revenir en haut Aller en bas

Re: Dégradation des sons

Message par Belov le Dim 25 Jan 2015 - 16:52

Dans la page script, il y a un monitoring des scripts en cours (% cpu, mem ??)
avatar
Belov

Messages : 415
Date d'inscription : 01/01/2014
Age : 48
Localisation : Rennes

Revenir en haut Aller en bas

Re: Dégradation des sons

Message par djsyl le Dim 25 Jan 2015 - 18:32

faudrait que j'ai cette donnée en vocal ... je ne puis être sur 2 pages en même temps Hi
avatar
djsyl

Messages : 1322
Date d'inscription : 11/12/2014
Age : 58
Localisation : Yerres (91330)

http://club-aquilon.fr

Revenir en haut Aller en bas

Re: Dégradation des sons

Message par Sacre100 le Dim 25 Jan 2015 - 19:00

djsyl a écrit:faudrait que j'ai cette donnée en vocal ... je ne puis être sur 2 pages en même temps Hi

Tu appuies sur MENU Long quand tu es sur la page de télémesure et cela t'affiche ces infos en bas à gauche sauf erreur.
avatar
Sacre100

Messages : 1889
Date d'inscription : 30/11/2013
Age : 60
Localisation : Blonay - Suisse

Revenir en haut Aller en bas

Re: Dégradation des sons

Message par Sacre100 le Dim 25 Jan 2015 - 19:39

J'ai vu que dans ton script, tu peux désactiver l'affichage de l'écran selon la position de SA. Quelle est la qualité du son quand SA est plus grand que 0 ?

Ca pourrait permettre de confirmer si le problème vient de l'affichage ou pas.

Il y a jusqu'à 7 drawPixmap(...) à chaque exécution ce qui avec les playFile représente beaucoup d'accès à la carte SD.
avatar
Sacre100

Messages : 1889
Date d'inscription : 30/11/2013
Age : 60
Localisation : Blonay - Suisse

Revenir en haut Aller en bas

Re: Dégradation des sons

Message par djsyl le Dim 25 Jan 2015 - 23:06

Le son est parfait lorsque l'on enclenche pas le SA !

C'est comme cela que j'ai découvert le problème .
avatar
djsyl

Messages : 1322
Date d'inscription : 11/12/2014
Age : 58
Localisation : Yerres (91330)

http://club-aquilon.fr

Revenir en haut Aller en bas

Re: Dégradation des sons

Message par Sacre100 le Dim 25 Jan 2015 - 23:20

Alors c'est bien les 7 drawPixmap(...) qui posent problème, c'est très similaire à ce que j'avais eu comme soucis avec la flèche "return to home" sur mon horizon artificiel.

Si tu peux remplacer des dessins simples par une série lcd.drawLine(...), tu vas surement améliorer les choses mais cela ne simplifie pas la programmation. Evite les lcd.drawPoint(...) car il consomment vite beaucoup de CPU.

C'est ce que j'ai pû constater, y'a peut-être d'autres causes à ce problème.

Sur github, il me semble avoir vu une discussion sur la possibilité de charger en mémoire des bitmap afin de réduire les accès à la SD card, tu n'es pas le premier à rencontrer ce problème de lenteur.
avatar
Sacre100

Messages : 1889
Date d'inscription : 30/11/2013
Age : 60
Localisation : Blonay - Suisse

Revenir en haut Aller en bas

Voir le sujet précédent Voir le sujet suivant Revenir en haut

- Sujets similaires

 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum