Ir para conteúdo


Foto
- - - - -

_GUIResourcePic.au3 - GDI+


  • Por favor, faça o login para responder
100 respostas neste tópico

#21 JScript

JScript

    A cada dia que passa eu aprendo muito mais com todos vocês!

  • Administradores (Adm)
  • PipPipPipPipPip
  • 2.445 posts
  • LocationSomewhere out there!

Postado 17 junho 2012 - 09:43

Já fiz as outras funções, agora estou :mad2: para redimensionar as imagens sem usar CPU demasiadamente...

:construction:

Abraços,

João Carlos.

#22 Belini

Belini

    Administrador

  • Administradores (Adm)
  • PipPipPipPipPip
  • 2.227 posts
  • LocationMinas Gerais

Postado 17 junho 2012 - 10:10

Aguardando para testes então.

#23 JScript

JScript

    A cada dia que passa eu aprendo muito mais com todos vocês!

  • Administradores (Adm)
  • PipPipPipPipPip
  • 2.445 posts
  • LocationSomewhere out there!

Postado 08 julho 2012 - 12:54

Agora a UDF usa GDI+ para renderizar as imagens!
Com base em

Por favor Login ou se não possuir um conta Registre-se para ver o conteúdo escondido

e no conceito de trabalho de Prog@ndy!


Uso de CPU muito baixa, na maioria dos casos usa 0%!
Gif com 720x305x24fps usa 0,12% (Core i7)

Abraços,

João Carlos.

#24 Belini

Belini

    Administrador

  • Administradores (Adm)
  • PipPipPipPipPip
  • 2.227 posts
  • LocationMinas Gerais

Postado 08 julho 2012 - 09:45

Estes dias estou de férias :dance: :guitar: e não vai ter como testar mais assim que voltar faço os testes e posto o resultado.

#25 Belini

Belini

    Administrador

  • Administradores (Adm)
  • PipPipPipPipPip
  • 2.227 posts
  • LocationMinas Gerais

Postado 14 julho 2012 - 04:04

Testei a função no computador que eu uso e funcionou perfeitamente, parece que ficou bem leve mesmo depois vou testar em um computador mais simples com o programa de jukeBox assim que testar posto os resultados.

#26 JScript

JScript

    A cada dia que passa eu aprendo muito mais com todos vocês!

  • Administradores (Adm)
  • PipPipPipPipPip
  • 2.445 posts
  • LocationSomewhere out there!

Postado 14 julho 2012 - 04:24

Ok, fico aguardando ansioso pelos testes, pois com os resultados eu posso fazer alterações!

Abraços,

João Carlos.

#27 Belini

Belini

    Administrador

  • Administradores (Adm)
  • PipPipPipPipPip
  • 2.227 posts
  • LocationMinas Gerais

Postado 15 julho 2012 - 08:26

Testei numa máquina mais fraca e não travou a lista na hora de escolher cd's em nenhum momento mais na hora de executar vídeos preciso ocultar a GUI principal e a GIF para mostrar o clipe e dar foco a barra e como eu disse antes esta barra tem que ter o foco o tempo todo para o kmplayer não aceitar teclas de atalho e observei os seguintes bug's:

1- Ao executar um vídeo usei o GUISetState(@SW_HIDE, $gui) na GUI e o _GUICtrlPic_SetState($pic_amostra, $GUI_HIDE) na GIF mais mesmo assim as vezes o kmplayer pegou o foco novamente e aceitou teclas de atalho.

2- Algumas vezes a GUI principal voltou a aparecer com a GIF ativa também isto acontece quando um vídeo está tocando e quando ela fica visível a barra fica em cima dela e o kmplayer por trás e isto tendo usado o @SW_HIDE e o $GUI_HIDE.

3- quando o que citei acima acontece o uso da CPU vai em quase 100% mais não tenho certeza ainda se é por causa da GIF.

#28 JScript

JScript

    A cada dia que passa eu aprendo muito mais com todos vocês!

  • Administradores (Adm)
  • PipPipPipPipPip
  • 2.445 posts
  • LocationSomewhere out there!

Postado 15 julho 2012 - 08:45

Ok, vamos por partes:

1- "kmplayer pegou o foco novamente e aceitou teclas de atalho." -> Nada a ver com a UDF!

2- Essa eu não entendi muito bem...

3- "CPU vai em quase 100%" -> Pode ter certeza: você disse estar tocando vídeos, esse é o maior consumo da CPU!

Me manda depois uma cópia final do teu programa para eu analisar também.

Abraços,

João Carlos.

#29 Belini

Belini

    Administrador

  • Administradores (Adm)
  • PipPipPipPipPip
  • 2.227 posts
  • LocationMinas Gerais

Postado 17 julho 2012 - 08:13

Fiz mais testes e ao que tudo indica o uso excessivo da CPU é na hora de executar vídeo mesmo, testei com o kmplayer, VLC e Média Player e com todos o uso da CPU foi alto isto porquê o computador que testei é bem mais fraco que o meu de uso, agora quanto a Gif ficar ativa durante a execução dos vídeos não tive como testar pois não dá prá usar o WinActive e ver se está sendo ativada e quando é que isto acontece, teria como colocar um título ou identificação no controle da Gif prá ser identificado com o WinActive?

#30 JScript

JScript

    A cada dia que passa eu aprendo muito mais com todos vocês!

  • Administradores (Adm)
  • PipPipPipPipPip
  • 2.445 posts
  • LocationSomewhere out there!

Postado 17 julho 2012 - 09:17

2- Algumas vezes a GUI principal voltou a aparecer com a GIF ativa também isto acontece quando um vídeo está tocando e quando ela fica visível a barra fica em cima dela e o kmplayer por trás e isto tendo usado o @SW_HIDE e o $GUI_HIDE.

O trecho de código que interpreta a seguinte função que você usou como parâmetro o $GUI_HIDE[autoit]_GUICtrlPic_SetState($pic_amostra, $GUI_HIDE)[/autoit]É esse aqui:[autoit]
If BitAND($iState, $GUI_HIDE) = $GUI_HIDE And BitAND($iCtrlState, $GUI_SHOW) = $GUI_SHOW Then
; If image is GIF animated, kill timer...
If $avGRP_CTRLIDS[$iIndex][4] Then __GRP_KillTimer($avGRP_CTRLIDS[$iIndex][12], $iIndex)
Return GUICtrlSetState($iCtrlID, $iState)
EndIf
[/autoit]
Onde de forma alguma a GIF ficará "ativa" como você afirmou acima, pois é dado um KillTimer que elimina a animação da GIF, em seguida o control é verdadeiramente ocultado da GUI com a função GUICtrlSetState()!

Vou ter que examinar bem o seu código para verificar o que é...

Sobre colocar um título ou um identificação no controle da GIF, é impossível de ter detecção usando WinActive(), pois é apenas um controle, não uma janela!

Abraços,

João Carlos.

#31 Belini

Belini

    Administrador

  • Administradores (Adm)
  • PipPipPipPipPip
  • 2.227 posts
  • LocationMinas Gerais

Postado 17 julho 2012 - 09:34

Sobre colocar um título ou um identificação no controle da GIF, é impossível de ter detecção usando WinActive(), pois é apenas um controle, não uma janela!


Não precisa ser o WinActive() pode ser qualquer outro que identifique se o controle voltou a ficar ativo, com ControlClick("Interface","","Static1") consigo identificar o controle mais não tem como saber se foi ativado ou não.

#32 JScript

JScript

    A cada dia que passa eu aprendo muito mais com todos vocês!

  • Administradores (Adm)
  • PipPipPipPipPip
  • 2.445 posts
  • LocationSomewhere out there!

Postado 17 julho 2012 - 09:39

Para identificar o "estado" de um control basta utilizar a função nativa:[autoit]GUICtrlGetState()[/autoit]
Mas porque saber se a GIF está ativa se você explícitamente a desativou, ou melhor, ocultou usando a função:[autoit]_GUICtrlPic_SetState($pic_amostra, $GUI_HIDE)[/autoit]
Abraços,

João Carlos.

#33 Belini

Belini

    Administrador

  • Administradores (Adm)
  • PipPipPipPipPip
  • 2.227 posts
  • LocationMinas Gerais

Postado 17 julho 2012 - 09:54

Só quero testar tudo mesmo prá ir descartando as possibilidades.

#34 Belini

Belini

    Administrador

  • Administradores (Adm)
  • PipPipPipPipPip
  • 2.227 posts
  • LocationMinas Gerais

Postado 18 julho 2012 - 10:04

descobri porque a gui principal e o controle da Gif ficam visíveis mesmo tendo sido ocultados usando @SW_HIDE e $GUI_HIDE

O controle da gui foi criado usando o parâmetro $GUI_WS_EX_PARENTDRAG
Spoiler


Ao trocar a imagem da gif mesmo se a gui principal e o controle da Gif estiverem ocultos eles voltam a ficar visíveis
Spoiler


Exemplo completo do teste feito:
Spoiler


Modificação que fiz no meu script para evitar que isto aconteça:
Spoiler


O certo não seria a GUI principal ficar oculta o tempo todo e só voltar a ficar visível se for mudado o seu estado para @SW_SHOW?

#35 JScript

JScript

    A cada dia que passa eu aprendo muito mais com todos vocês!

  • Administradores (Adm)
  • PipPipPipPipPip
  • 2.445 posts
  • LocationSomewhere out there!

Postado 18 julho 2012 - 12:24

Ok, agora eu entendi e já identifiquei o problema!

Aguarda o próximo release (acho que hoje mesmo) que estará mais rápido e com esse problema sanado!!!

Abraços,

João Carlos.

#36 Belini

Belini

    Administrador

  • Administradores (Adm)
  • PipPipPipPipPip
  • 2.227 posts
  • LocationMinas Gerais

Postado 19 julho 2012 - 09:21

OK, fico aguardando as mudanças para fazer novos testes.

#37 JScript

JScript

    A cada dia que passa eu aprendo muito mais com todos vocês!

  • Administradores (Adm)
  • PipPipPipPipPip
  • 2.445 posts
  • LocationSomewhere out there!

Postado 20 julho 2012 - 09:27

*Nova versão*

1.7.2012.2600b
  • 20/07/2012 -> Vários bugs foram corrigidos e a UDF foi otimizada para uma execução mais rápida!
Abraços,

João Carlos.

#38 Brenner

Brenner

    OldSchool Programmer

  • Membros
  • PipPipPipPip
  • 416 posts
  • LocationJoão Pessoa - Paraíba

Postado 21 julho 2012 - 05:31

Muito bom... Até testei aqui. Só fiquei meio curioso com o filme do constantine kkkk :tv_happy:

#39 Belini

Belini

    Administrador

  • Administradores (Adm)
  • PipPipPipPipPip
  • 2.227 posts
  • LocationMinas Gerais

Postado 22 julho 2012 - 08:52

Nos testes que fiz o problema mencionado foi resolvido e as outras funções que testei também funcionaram perfeitamente, @jscript obrigado pelas correções feitas, vou fazer outros testes e se achar mais alguma coisa volto a postar.

#40 JScript

JScript

    A cada dia que passa eu aprendo muito mais com todos vocês!

  • Administradores (Adm)
  • PipPipPipPipPip
  • 2.445 posts
  • LocationSomewhere out there!

Postado 22 julho 2012 - 09:18

@Brenner
Obrigado, sobre o filme, é excelente!

@Belini
Só tenho à lhe agradecer pelos bugs encontrados, você é meu testador oficial!!!

Abraços,

João Carlos.




0 usuário(s) está(ão) lendo este tópico

0 membro(s), 0 visitante(s) e 0 membros anônimo(s)

Documentação OnLine de referência