Olá Erko
Uma vez desenvolvi um projeto que tinha o mesmo problema. Naquela ocasião eu
tinha que ler um arquivo texto contábil com mais de 4 milhões de linhas, o
que dava mais ou menos uns 5GB.
Então, usei como analogia aos players de vídeos. Imagine, um vídeo de 1GB
como o pc rada? Bom o vilme tem 1GB e uma hora e meia, só que você irá ver
segundo por segundo, e cada segundo são 30 frames. Nesse caso, pq então
colocar todo o vídeo em memória.
Com essa analogia desenvolvi o projeto, onde eu linha blocos do arquivo
texto e mandava para a interface, como o usuário só é capaz de ler uma
página por vez, então quando ele paginava, eu voltava ao arquivo original,
recalculava o deslocamento que ele fez com base no movimento do scoll e
trazia novamente mais um pedaço do arquivo. Nessa brincadeira, das milhares
de páginas que meu arquivo texto tinha, eu só retornava 64 linhas por vez, o
que dava mais ou menos uns 50 kb.
Dessa forma consegui resolver o problema e a aplicação ficou um foguete!!!





2009/12/16 Erko Bridee de Almeida Cabrera <erko.bri...@gmail.com>

> Então o drama é o seguinte
>
> o cliente já fez o download do arquivo com as informações
> que varia de 20 a 250+ MB para os clientes corporativos
>
> agora se eu tiver q mandar isso via internet para o servidor
> para depois voltar
>
> 250 MB download
> 250 MB upload
> -250 MB download (creio eu que menos dq o valor inicial em objetos)
>
> arredondando essa brincadeira: 750 MB de tráfego na internet...
>
> isso para ver um arquivo é insano ^^
>
> se bem q eu já apresentei esse cenário na reunião q teve hj o pessoal
> meio que aceitou o absurdo e a principio vamos limitar em 100 MB que a app
> o Adobe Flash Player Runtime aguentou ler ^^
>
> mas continuo a leitura sobre manipulação de arquivos no Adobe Flash Player
> 10+
>
> o/
>
>
> 2009/12/15 J.C.Ködel <jcko...@gmail.com>
>
>>  OPs. Esqueci do resto: não, não fiz jogos em Flex (ainda). Pura falta de
>> tempo.
>>
>> O jogo em questão era o bom e velho Ultima Online (www.uo.com) com um
>> servidor customizado feito em C# (www.runuo.com)
>>
>>
>>  *From:* Erko Bridee de Almeida Cabrera <erko.bri...@gmail.com>
>> *Sent:* Tuesday, December 15, 2009 2:47 PM
>> *To:* flexdev@googlegroups.com
>> *Subject:* Re: [flexdev] Leitura de arquivo > 250 MB
>>
>> Tenho um projeto aki
>>
>> Adobe Flex  (interface)
>> BlazeDS (Java - Server)
>>
>> de Telecom, onde os clientes corporativos
>> irão ter uma aplicação em Flex para ler/carregar e
>> visualizar as informações detalhadas de suas contas
>> telefonicas
>>
>> o problema q os clientes corporativos pode ter casos
>> de um arquivo com mais de 200 MB
>>
>> para arquivos de até 50 MB a aplicação
>> está lidando tranquilamente, a leitura do arquivo,
>> isto a parte em Adobe Flex =]
>>
>> o arquivo está na máquina do cliente
>>
>> no geral a aplicação consiste em geral em um visualizador
>> gráfico desse arquivo, que vai apresentar gráficos
>> e opções de calculos e filtros ^^
>>
>> bom se tu souber algo relacionado a leitura de arquivos grandes
>> textuais no Adobe Flex e/ou AIR
>>
>> qq link, referencia já é uma luz ^^
>>
>> muito obrigado o/
>>
>> ----
>>
>> ps.: tu desenvolve games com Adobe Flex é? tem algo publicado, mesmo post
>> sobre o assunto?
>>
>> eu curto games ^^
>>
>>
>>
>> 2009/12/15 J.C.Ködel <jcko...@gmail.com>
>>
>>>  Já fiz projetos que tinham que ler mais do que 2 Gb para a memória (um
>>> servidor de jogos online). Imagine um jogo online com milhões de itens
>>> distribuídos em 7 mapas gigantescos com milhares de jogadores online, tudo
>>> em memória e sendo persistido pra disco de tempos em tempos.
>>>
>>> Por motivos de performance, foi feito via PInvoke.
>>>
>>> Qual plataforma e linguagem pretende utilizar?
>>>
>>>  *From:* Erko Bridee de Almeida Cabrera <erko.bri...@gmail.com>
>>> *Sent:* Tuesday, December 15, 2009 11:20 AM
>>> *To:* flexdev@googlegroups.com
>>> *Subject:* [flexdev] Leitura de arquivo > 250 MB
>>>
>>> Olá pessoal blz?
>>>
>>> sei que isso é insano, mas tenho um caso aqui
>>> que preciso ler um arquivo de 250+ MB e joga-lo para memória
>>>
>>> que representam uma coleção de objetos
>>>
>>> alguem aqui já teve a necessidade de ler um arquivo tão grande assim?
>>>
>>> conhece alguma referencia/link sobre o assunto?
>>>
>>> grato pela ajuda ^^
>>>
>>> --
>>> Att,
>>> Erko Bridee de Almeida Cabrera
>>> http://erkobridee.com/
>>> http://gospel.erkobridee.com/
>>> http://www.cwbfx.com/
>>> http://twitter.com/ErkoBridee
>>> Currículo: http://netcarreiras.com/prof.html?uid=11410
>>>
>>> --
>>> Você recebeu esta mensagem porque está inscrito na lista "flexdev"
>>> Para enviar uma mensagem, envie um e-mail para flexdev@googlegroups.com
>>> Para sair da lista, envie um email em branco para
>>> flexdev-unsubscr...@googlegroups.com
>>> Mais opções estão disponíveis em http://groups.google.com/group/flexdev
>>>
>>
>>
>>
>> --
>> Att,
>> Erko Bridee de Almeida Cabrera
>> http://erkobridee.com/
>> http://gospel.erkobridee.com/
>> http://www.cwbfx.com/
>> http://twitter.com/ErkoBridee
>> Currículo: http://netcarreiras.com/prof.html?uid=11410
>>
>> --
>> Você recebeu esta mensagem porque está inscrito na lista "flexdev"
>> Para enviar uma mensagem, envie um e-mail para flexdev@googlegroups.com
>> Para sair da lista, envie um email em branco para
>> flexdev-unsubscr...@googlegroups.com
>> Mais opções estão disponíveis em http://groups.google.com/group/flexdev
>>
>
>
>
> --
> Att,
> Erko Bridee de Almeida Cabrera
> http://erkobridee.com/
> http://gospel.erkobridee.com/
> http://www.cwbfx.com/
> http://twitter.com/ErkoBridee
> Currículo: http://netcarreiras.com/prof.html?uid=11410
>
> --
> Você recebeu esta mensagem porque está inscrito na lista "flexdev"
> Para enviar uma mensagem, envie um e-mail para flexdev@googlegroups.com
> Para sair da lista, envie um email em branco para
> flexdev-unsubscr...@googlegroups.com
> Mais opções estão disponíveis em http://groups.google.com/group/flexdev
>



-- 
Edgard Davidson.
blog:edgarddavidson.com
skype:edgarddavidson
twitter:http://twitter.com/edgarddavidson
LindedIn:http://br.linkedin.com/in/edgarddavidson
FaceBook:http://pt-br.facebook.com/people/Edgard-Davidson/100000408023347

-- 
Você recebeu esta mensagem porque está inscrito na lista "flexdev"
Para enviar uma mensagem, envie um e-mail para flexdev@googlegroups.com
Para sair da lista, envie um email em branco para 
flexdev-unsubscr...@googlegroups.com
Mais opções estão disponíveis em http://groups.google.com/group/flexdev

Responder a