1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

[VB.NET '08] Imagens de fundo = LAG

Discussão em 'Programação' iniciada por wyldkat, 20 de Março de 2009. (Respostas: 9; Visualizações: 1901)

  1. wyldkat

    wyldkat Power Member

    Pessoal, é o seguinte, eu tenho um programa que usa tabs, e ao mudar de tab ao aparecer a imagem de fundo, nota-se sempre um grande lag quando ele está a carregar os objectos (botoes, textbox, etc...) :\

    Exemplifico :

    [​IMG]

    Isto acontece ao mudar a tab para a calculadora! Btw, sem ser com tabs e so com um form acontece exactamente a mesma coisa...

    Há maneira de resolver isto?
     
  2. Tomb4000

    Tomb4000 Power Member

    Isso deve ter um doublebuffer no form, se tiver liga coloca a true.
     
  3. wyldkat

    wyldkat Power Member

    Neps, continua igual :\
     
  4. wyldkat

    wyldkat Power Member

    Anyone? Queria mesmo resolver isto...
     
  5. ribeiro55

    ribeiro55 Power Member

    Pode te parecer absurdo, mas tenta usar uma imagem sem compressão, como BMP.
    Tenho a certeza de que te vai melhorar bastante a performance.
    Não te esqueças do double buffer também.
     
  6. wyldkat

    wyldkat Power Member

    Bem, efectivamente ficou mais rápido, mas inda laga um bocado... Não há maneira de resolver definitivamente o problema? É que isto vai para uma exposição e era mau os visitantes verem isto assim :\...

    Mas obrigado anyway!

    PS: Já agora, qual a diferença entre importar para o "Local resource" e para o "Project resource"?
     
  7. ribeiro55

    ribeiro55 Power Member

    Julgo que seja internamente a mesma coisa, até mesmo a nível de consumo de memória, se é isso que te preocupa.
    A diferença é que um "Local Resource" não pode ser re-utilizado, ao passo que um "Project Resource" pode ser referenciado anywhere, anytime no código.

    Para além de usar imagens sem compressão, não conheço mais nada que a GDI+ possa fazer para isso :1361:
     
  8. inginheiiro

    inginheiiro Power Member

    tenta colocar o seguinte codigo na form.

    Código:
     protected override CreateParams CreateParams{        
       get        {                
                      CreateParams cp = base.CreateParams;                
                      cp.ExStyle |= 0x02000000;                
                      return cp;        
                   }
    }
    
    
    protected override void OnPaintBackground( PaintEventArgs pevent )
    {  }
    
    
     
  9. ribeiro55

    ribeiro55 Power Member

    Brutal!

    Mas, no VB, piora. Muito. :005:

    EDIT: Ok, melhora. (não tinha feito override do "OnPaintBackGround"). Só limpa é o sebo à background pic.
     
    Última edição: 25 de Março de 2009
  10. inginheiiro

    inginheiiro Power Member

    podes desenhar a background pic num buffer (doublebuffer) è espeta-la no fundo, quando fazes override ao onPaintBackground.
     

Partilhar esta Página