Seems that creating forms and morph from pngs is super slow opened bug reporthttps://pharo.fogbugz.com/f/cases/17403/Creating-Forms-from-PNGs-is-very-slow |
2016-01-16 13:50 GMT+01:00 Dimitris Chloupis <[hidden email]>:
your are loading 0-59 images in one turn. this takes ~ 1000 ms. Thats not bad. How about loading them only on demand? This may cut down the start up time: attache a small change for get and put the images into a dictionary and only load new "xx seconds-image" when it is used for the first time. - > [ChronosManager open] timeToRun "0:00:00:00.626" delay_image_loading.cs (4K) Download Attachment |
sorry but thats plain horrible performance wise and those images are needed as soon as the gui is opened. So there can be no lazy loading for them. The total size for all the 60 images is 530kbs . What would happen if I did some serious animations of 10s of mbs , I will have to go to buy a coffee to get my GUI opened :D On Sat, Jan 16, 2016 at 3:41 PM Nicolai Hess <[hidden email]> wrote:
|
Hi. I am not understand why you need to load images on startup? Why you not save pharo image with preloaded png files? Best regards, 16 янв. 2016 г. 14:50 пользователь "Dimitris Chloupis" <[hidden email]> написал:
|
In reply to this post by kilon.alios
On 16-01-16 14:48, Dimitris Chloupis wrote:
> sorry but thats plain horrible performance wise and those images are > needed as soon as the gui is opened. So there can be no lazy loading for > them. The total size for all the 60 images is 530kbs . What would happen > if I did some serious animations of 10s of mbs , I will have to go to > buy a coffee to get my GUI opened :D Is that on a disk or an SSD? You won't be able to get much more than 60 files opened/s on a disk. Stephan |
In reply to this post by Denis Kudriashov
Images are needed on startup when the project is updated which means any of the image files could change. Its a big problem for me , I can preload everything, save it to an image and distribute the image instead with zero delays. I dont care if this is going to be improved or not , since I can work around this limitation. On Sat, Jan 16, 2016 at 4:07 PM Denis Kudriashov <[hidden email]> wrote:
|
In reply to this post by Stephan Eggermont-3
disk, 1TB. why it matters ? from my profile its clear that its not the primitive that is the problem but how Pharo processes pngs. I happen to work with a lot of big data both in 3d graphics, a blender file can easily reach 250 mb and it opens under a second and audio files , plus instrument that uses alot of audio files as samples of several gbs giving again instanenous loading. I am not talking here 60 files, I am talking thousands of files. I report a sever limitation and I have been told a) I have not done enough to isolate the problem when I post clear profiling reports and the code that is responsible for it b) why I make a fuss about it since there are work arounds c) that its a hardware limitation when the hardware is able to perform light years ahead of what pharo is currently doing Sorry but this kind of attitude is really bad, when someone reports a bug I find it a lot better to tell him that you don't care or not reply at all and ignore him than just find excuses for the bug or limitation. I see it every single time I complain about a problem there is a few people who are logical about this like Ben , Esteban etc and then some other that in complete denial zone and easily offended by the truth. On Sat, Jan 16, 2016 at 4:07 PM Stephan Eggermont <[hidden email]> wrote: On 16-01-16 14:48, Dimitris Chloupis wrote: |
in any case, ignore my bug reports, I am done with this, I waste my time and your time . Its clear pharo is not really suited for my needs, life goes on. On Sat, Jan 16, 2016 at 4:40 PM Dimitris Chloupis <[hidden email]> wrote:
|
Hi Kilon, I’m sorry to feel you frustrated. Is clear than morphic (and the world) as it is now is not well suited to the kind of development you want to do, and clearly documentation is not good enough (even if we have moved forward recently, in part with your collaboration)… Anyway, yes, using the world as is and morphic are not very suitable to hard consuming graphics, but there are works that have been happening that improves all that: Using not the world, but SDL2 (through OS-Window) will reduce the cpu consumption drastically… in fact, what happens now (as far as I can guess… since I don’t know your stuff) is not that instancing a png is slow, but the rendering (you are redrawing every time and that is not optimised in morphic, who takes area as damaged every time and redraws it… using athens, who is vectorial and then consuming). So, with SDL2 you will improve (and you will have separated windows). Also, I think you do 3d stuff so in your case I would explore wooden… I remember Ronnie showed me an animated scene (I think it was the water example) with more then 200 fps without much effort. Finally… I know about people doing animations with Pharo (and morphic) than have a lot better performance than you had… so there is clearly a problem there. If you give me your sources I can give them a look and try to figure out what is happening. So well… I think is not that is not possible, but that you are traveling paths that are new for us, then not documented (or even tested), or really optimised. Something that we are willing to improve, as always :) cheers! Esteban
|
Thanks Estaban as I said I am not giving up on Pharo. I am actually very interested making pharo work with Unreal to give Pharo access to the most powerful graphics engine out there. Yeap moving to SDL could help a lot, I am 100% behind this idea. On Sat, Jan 16, 2016 at 5:49 PM Esteban Lorenzano <[hidden email]> wrote:
|
btw… I think joining unreal with pharo can give us a lot of power :) Also this something already done by Goran at 3dicc (http://www.3dicc.com) … I think his work is closed but Goran has always been very helpful and offered guidelines, etc. (I wanted to do the Unreal-Pharo bridge myself but well… no time so I stopped) :D I think if you are serious in your attempt I can put both of you in contact... cheers, Esteban
|
yes Goran introduced me to the Nim language that compiles to C and they hired the creator of it to work for their company , Goran made a squeak (it also works with pharo) to nim bridge . But I was not aware of him using Unreal. Definetely will send him a message . Will keep you posted on my progress, Unreal is definitely coming to Pharo :) On Sat, Jan 16, 2016 at 6:24 PM Esteban Lorenzano <[hidden email]> wrote:
|
In reply to this post by kilon.alios
2016-01-16 15:40 GMT+01:00 Dimitris Chloupis <[hidden email]>:
The bug report was indeed bad.
I did not see the "why make a fuss about". And the work arounds are actually helpful, no?
You reported a problem with morphics image loading and some people immediately step in to help you analyse your code. More pepole helped by giving some tipps and possible workaounds. What is wrong with this. I don't see a bad attitude.
|
how the bug report is bad ? No the workarounds were not helpful because I was already aware of them :) On Sat, Jan 16, 2016 at 9:51 PM Nicolai Hess <[hidden email]> wrote:
|
2016-01-16 21:36 GMT+01:00 Dimitris Chloupis <[hidden email]>:
Yes, let's go on. |
In reply to this post by kilon.alios
2016-01-16 15:30 GMT+01:00 Dimitris Chloupis <[hidden email]>:
Years ago I investigate this kind of problem for my application. I can't optimize PNGReader on image side. I tried to connect some C library but no success. My time was limited for this issue. And it was not really critical for me. So I gave up. After that Athens was announced. And as I understand Cairo can work with png-files directly without loading it to image side. I not try it. Maybe you can experiment with this. |
In reply to this post by kilon.alios
On 16-01-16 15:40, Dimitris Chloupis wrote:
> I report a sever limitation and I have been told > c) that its a hardware limitation when the hardware is able to perform > light years ahead of what pharo is currently doing That is because disks can not do much more than that. If you need more speed you need to make sure the files are not on different tracks, or cached. Stephan |
In reply to this post by kilon.alios
On 16-01-16 13:50, Dimitris Chloupis wrote:
> Seems that creating forms and morph from pngs is super slow Put the forms in one fuel file and materialize that Stephan |
> On 17 Jan 2016, at 19:58, Stephan Eggermont <[hidden email]> wrote: > > On 16-01-16 13:50, Dimitris Chloupis wrote: >> Seems that creating forms and morph from pngs is super slow > > Put the forms in one fuel file and materialize that > > Stephan That is exactly what I showed him in https://pharo.fogbugz.com/f/cases/17403/Creating-Forms-from-PNGs-is-very-slow The speedup was massive and it was so easy to do. But the fact remains that the PNG parser itself, being written in pure Pharo, could use a Plugin counterpart, like in the JPG case. Sven |
Hi,
> On Jan 17, 2016, at 8:27 PM, Sven Van Caekenberghe <[hidden email]> wrote: > > >> On 17 Jan 2016, at 19:58, Stephan Eggermont <[hidden email]> wrote: >> >> On 16-01-16 13:50, Dimitris Chloupis wrote: >>> Seems that creating forms and morph from pngs is super slow >> >> Put the forms in one fuel file and materialize that >> >> Stephan > > That is exactly what I showed him in https://pharo.fogbugz.com/f/cases/17403/Creating-Forms-from-PNGs-is-very-slow That is actually a very cool idea. Thank you both :) Doru > The speedup was massive and it was so easy to do. > > But the fact remains that the PNG parser itself, being written in pure Pharo, could use a Plugin counterpart, like in the JPG case. > > Sven -- www.tudorgirba.com www.feenk.com "Sometimes the best solution is not the best solution." |
Free forum by Nabble | Edit this page |