Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - Remy

Pages: 1 ... 27 28 [29] 30 31 ... 44
421
Applications / Re: Shared storage
« on: April 30, 2020, 10:24:50 am »
Hi Dariusz,

I updated ffmpegHigh and added an ffmpegH.exe build which can be started from startup folder using the right parameters.
It start minimized when started with parameters. If no parameters are provided, you'll get a dialog with buttons
web link updated  to download new zip package.

Regards
Remy

423
Applications / Re: Shared storage
« on: April 30, 2020, 02:16:27 am »
Previous post updated

424
Programming / Re: Memory 'footprint' API?
« on: April 30, 2020, 12:24:38 am »
Hi Ivan,

Actually, I got that little util, pretty handy, although at some point in time it started crashing on several of the tabs, so things like : Modules, Mod Tree, Sharedmem cause a SYS3175 now.

More importantly, I would like to develop the code needed to provide the memory snapshot. Part of this is driven by my desire to better understand the Shared Memory situation. I see the darn thing dropping slowly, at times I see applications which will consume large chunks that never appear to be given back. This is a known issue, which I wish to understand better.

Just use theseus4, so I did following dave's suggestion
Then look on the shared memory and specially the high shr storage

How to use theseus4, very easy as it was suggested to me by Dave.

> Open Theseus, highlight a program in the list on the right, doesn't
> matter too much which one, perhaps THESEUS4. Then click Process-->Shared
> Object Summary which will bring up another window. Scroll down to close
> to the bottom where the addresses (first column) are over 1FFF0000. You
> can then see which DLLs are loaded high, how much memory they're using
> etc.

To capture the problem, start/stop the program which decreases the high shr storage each time.
Once close, run theseus and save the output in a file.
Then, start the program and do not stop it, refresh theseus and save the output in a new file. Then, compare both output.

The problem happens because the program loads module into high shr storage and at close time, it is freed (and it is) but at new run, the freed space isn't taken again but new address range is taken (the previous freed address range are no more usable - the pb).

It only occurs with high shr storage as I could see. To bypass this problem, modules have to be permanently loaded but as soon you decide to free them, next load will do the same as does the program at each start.
e.g.  ffmpeg 4.0.2 with DLLs flag to go above 512MB line may consume about 21MB in shr at each run. With the dlls loaded permanently, 21MB are used one time (as it is planned) and no more.
With my ffmpegHigh tool, you run it ones and don't close the prompt window used to run the tool to have the benefit of permanent loaded DLLs. With the existing OS/2 problem, each time you have to load DLLs which where freed, it takes again the dlls size into the memory (storage decreases than).

Here is an example of the storage with some modules loaded into high shr:

8DA60000  00108000  00000000  00000000  00000000  X264150  #0001 (shared code)
8DB68000  00008000                                 Free
8DB70000  001F2000  00000000  00000000  00000000  LIBVPX5  #0001 (shared code)
8DD62000  0000E000                                 Free
8DD70000  000A3000  00000000  00000000  00000000  SDL2     #0002 (shared code)
8DE13000  0000D000                                 Free
8DE20000  00019000  00000000  00000000  00000000  POSTPR55 #0001 (shared code)
8DE39000  00007000                                 Free
8DE40000  00004000  00000000  00000000  00000000  AVDEVI58 #0001 (shared code)
8DE44000  0000C000                                 Free
8DE50000  0001A000  00000000  00000000  00000000  SWRESA3  #0001 (shared code)
8DE6A000  00006000                                 Free
8DE70000  0007E000  00000000  00000000  00000000  SWSCAL5  #0001 (shared code)
8DEEE000  00002000                                 Free
8DEF0000  00216000  00000000  00000000  00000000  AVFILT7  #0001 (shared code)
8E106000  0000A000                                 Free
8E110000  00BD2000  00000000  00000000  00000000  AVCODE58 #0001 (shared code)
  Object Allocated Committed   Present   Swapped
 address    memory    memory    memory    memory  Description
8ECE2000  0000E000                                 Free
8ECF0000  00219000  00000000  00000000  00000000  AVFORM58 #0001 (shared code)
8EF09000  00007000                                 Free
8EF10000  00070000  00000000  00000000  00000000  AVUTIL56 #0001 (shared code)

At higher address the storage module size is seen and flagged as free but no more used :

8EF80000  00108000  00000000  00000000  00000000
8F088000  00008000                                 Free
8F090000  001F2000  00000000  00000000  00000000
8F282000  0000E000                                 Free
8F290000  000A3000  00000000  00000000  00000000
8F333000  0000D000                                 Free
8F340000  00019000  00000000  00000000  00000000
8F359000  00007000                                 Free
8F360000  00004000  00000000  00000000  00000000
8F364000  0000C000                                 Free
8F370000  0001A000  00000000  00000000  00000000
8F38A000  00006000                                 Free
8F390000  0007E000  00000000  00000000  00000000
8F40E000  00002000                                 Free
8F410000  00216000  00000000  00000000  00000000
8F626000  0000A000                                 Free
8F630000  00BD2000  00000000  00000000  00000000
  Object Allocated Committed   Present   Swapped
 address    memory    memory    memory    memory  Description
90202000  0000E000                                 Free
90210000  00219000  00000000  00000000  00000000
90429000  00007000                                 Free
90430000  00070000  00000000  00000000  00000000
   
I put 2 "size in storage" entries into bold for illustration.

This is why I wrote ffmpegHigh to not have these all free "holes" left in the storage resulting into a big storage decrease.
But, to have the DLLs permanent (the bypass to prevent "holes") the prompt window used to run ffmpegHigh must not be closed (just minimize it like it is done for ffturbo).

Hope this may help you.
Best regards

Updt: It looks I wrote at the same time as Dave :D

425
Applications / Re: Shared storage
« on: April 29, 2020, 05:16:36 pm »
Hi Remy,

Thank you for publishing this. I am thinking this is a benefit each time one runs ffmpeg, that would mean through mplayer, VLC or SMPlay as well.

...
*Warning*
It can not be used in place of ffturbo (ffturbo takes care of libpathstrict while ffmpegHigh no) 
 http://remydodin.levillage.org/fr/realisations.php?item=6000&id=realisations

I do have a follow-up question though. As opposed to ffturbo, it would appear that your setup is persistent only as long as the CMD session remains active, yes?

Code: [Select]
*WARNING* Do not close this "prompt window dialog" to maintain DLL(s) loaded
          And gain benefits of permanent loaded DLL(s) used by applications
          >> Closing this window will free loaded DLL(s) through this tool <<

Therefore, I'm thinking that the script should be run in DETACHed mode during system boot-up?

* It has a sense to use it only if you set ffmpeg dll to load high using above512 or highmem *
dll loaded below 512MB have no storage issue.

First question: Yes
Second question: For those using ffmpeg (with dll flagged to load high) each time after boot, it could be helpful.

Upate notte:. For VLC; VLC.DLL and VLCCORE.DLL with the flag set to load high, have the same issue and can be preloaded too
=> You then create a single file name mydll.dlh (including all ffmpeg dlls as well vlc dlls) and give it as input to ffmpagHgh
ffmpegHigh -l mydll.dlh    (specifying a external file disables included DLL list. You have then to add all DLLs into your external input file)

e.g.
X264150.DLL
LIBVPX5.DLL
SDL2.DLL
POSTPR55.DLL
AVDEVI58.DLL
SWRESA3.DLL
SWSCAL5.DLL
AVFILT7.DLL
AVCODE58.DLL
AVFORM58.DLL
AVUTIL56.DLL
VLCCORE.DLL
VLC.DLL
       
This way, you'll load all DLL's in one command  :D   but of course, you can also run ffmpegHigh twice
ffmpegHigh -l      (will load all ffmpeg dlls)
ffmpegHigh -l vlcdlls.dlh     (external file with only LVC dlls list)

Regards
Rémy   

426
Applications / Re: Shared storage
« on: April 29, 2020, 03:27:37 pm »
Hi Remy,

I might make sense to use the same parameters as the mozturbo programs, i.e. -l to load dll's instead of -c

Usage: q:\var\temp\FC#37.0\ffturbo.exe [-h] [-l | -u] [-p path]
       -h display this help
       -l load modules
       -u unload modules
       -t turbo function, implies load, uses more memory
       -p specify fully qualified path to directory where the DLLs are located
       -v output version

 ;)

ffmpeg.cmd [-l | -u | -q] [dllname | dlls inputfile] [extra_parm]
Now, available options (one required):
-l  load
-u  free (Unload)
-q  query

dllname or dlls_inputfile are optional parameters (if not ffmpeg dlls have to be loaded..) 

extra parameter after cmd string "1" for detailed error
-h  not added, it is displaied by default if input option isn't valid.

Good suggestion

*Warning*
It can not be used in place of ffturbo (ffturbo takes care of libpathstrict while ffmpegHigh no) 
 http://remydodin.levillage.org/fr/realisations.php?item=6000&id=realisations

427
Applications / Re: Shared storage
« on: April 28, 2020, 07:49:29 pm »
I wrote a rexx tool to load DLLs as permanent into memory or freed
(not palnned to be used when libpathstrict is used.

This help resolving several High shared storage issue where some programs loads the DLL only for the process but under OS2, the free storage isn't reused and left as unusable. This could en by a short of storage into High shared memory (freeze, hung...)

I now set all ffmpeg DLLs to be high loaded using highmem or ABOVE512 and run my rexx tool. All works fine and no more any High shr storage "lost"

My tools has following rules:

ffmpegHigh [option] ddlname or inputfile extraparm

option (required) :
-c   load dlls
-u   free dlls

dllnam  (for a specifuc dll load
or
dllinput file with a list of dlls like the result out of DIR *.DLL /B-D

Extraparm: 1  enable more rc details (can be use in any case)

Note: As read, I can provide an external dll input file which supercedes tool included list.

e.g.
>> Module "X264150" successuffly loaded
>> Module "LIBVPX5" successuffly loaded
>> Module "SDL2" successuffly loaded
>> Module "POSTPR55" successuffly loaded
>> Module "AVDEVI58" successuffly loaded
>> Module "SWRESA3" successuffly loaded
>> Module "SWSCAL5" successuffly loaded
>> Module "AVFILT7" successuffly loaded
>> Module "AVCODE58" successuffly loaded
>> Module "AVFORM58" successuffly loaded
>> Module "AVUTIL56" successuffly loaded

Load of 11 DLLs successfull

 ************

Saved Handle file found and 12 lines read
>> module with handle x"2F200000" successfully freed (rc:0 - X264150)
>> module with handle x"DC1F0000" successfully freed (rc:0 - LIBVPX5)
>> module with handle x"9F1C0000" successfully freed (rc:0 - SDL2)
>> module with handle x"E91A0000" successfully freed (rc:0 - POSTPR55)
>> module with handle x"F01F0000" successfully freed (rc:0 - AVDEVI58)
>> module with handle x"F71F0000" successfully freed (rc:0 - SWRESA3)
>> module with handle x"E31F0000" successfully freed (rc:0 - SWSCAL5)
>> module with handle x"5C200000" successfully freed (rc:0 - AVFILT7)
>> module with handle x"60200000" successfully freed (rc:0 - AVCODE58)
>> module with handle x"E91F0000" successfully freed (rc:0 - AVFORM58)
>> module with handle x"CA1C0000" successfully freed (rc:0 - AVUTIL56)

Free of 11 DLLs successfull


Regards
Remy






 

428
Applications / Re: Shared storage
« on: April 27, 2020, 09:24:17 am »
Problem resolved and it works pretty well.

I coded a small rex which loads ffmpeg dlls (set to be high loaded by ABOVE512 or highmem) permanently into high shared storage. (all ffmpeg 4.0.2 eligible dlls are coded in the rexx. It work like ffturbo (without the need to have a running background process) but ffturbo is more complex due to libpathstrict...

If you are interested by my rexx code, send me an email from under my web site, same as AVxCAT, CLAMAVGUI...
remydodin*

429
Applications / Re: Shared storage
« on: April 27, 2020, 04:36:28 am »
Well, same raison as for firefox for which ffturbo was build.

I tested some rexx functions which seems to well work.
Working with this now.

Cheers/2

430
Applications / Shared storage
« on: April 25, 2020, 09:37:40 pm »
Hi !

Any idea why an older ffmpeg compiled with gcc 4.4.4 doesn't left any shared storage holes at close time while ffmpeg compiled with gcc 5.5.0 left about 20MB (all dlls size) of free unusable holes in the shared memory at close time ?

(FFmpeg or ffprobe)

Updt: problem occures as well with ffplay but in all cases only with dll's loaded above 512MB line  (when below, no issue)


Regards
Rémy

431
Storage / Re: How to force a folder 'refresh' from REXX?
« on: April 11, 2020, 06:48:05 pm »
Hi Dariusz,

Don't create any rexx and just use the provide tool under ArcaOS.

See here:
https://www.arcanoae.com/wiki/arcaos/post-install-tips-hints/

Under chapter :
Shadows in Tree view folders are not immediately rendered at desktop startup

(this update followed a ticket I opened in the past due to folder not correctly refreshed etc...)

432
Utilities / Re: VLC traps Panorama driver
« on: April 05, 2020, 03:05:52 pm »
Yes, I can open a bug report.
But really, the video driver should never trap even if you are passing it invalid parameters. As Dave Graser has stated,this trap effectively freezes your system to a point where you can no longer interact with it. The only good news is that you can properly shut down the system via the CAD handler which fortunately operates in text mode.
Dave Graser, would you please open a bug report at AN?
I think this problem will be fairly easy to fix since the trap info list the location and also the register contents.

Hi Lars,

I had trap issue with VLC which was due to "panorama shadow buffer enabled option" but due it speed up display, I left itt enable and the issue was resolved after enabling DIVE option under VLC parameters.

Suggestion was given by support after having opened a ticket. 

Hope it will help like it did for me.
Regards
Remy

433
Web applications / Re: Google Photos - pics no longer showing?
« on: April 03, 2020, 05:58:41 pm »
Hi
I tried Google Photos with Firefox 45.9 and it working very bad.
I can access the site, see the square shapes, but pictures does not display right.  I see the album cover, but once I access it I don't see the pictures. If I access one picture of the album I see it shortly and after that it change to the loading icon.

We need a new browser, let's keep supporting Bitwise.

Regards

Hum !
"I see shortly and after that it change to the loading icon"
It looks more like a network slowdown.... 
Can you try to recycle your dhcp (if dynamic) and retry !   

434
Web applications / Re: Google Photos - pics no longer showing?
« on: April 03, 2020, 02:10:55 pm »
Could it be webp ?  (I do not use google photo)
(new google and firefox too standard picture... and replaces jpg, png, gif etc...)   
Of course not supported by older browser nor under OS/2 ! 
https://www.fxsitecompat.dev/en-CA/docs/2018/webp-image-support-has-been-added/

libvebp libraies may be needed !
Or may be some online webp to jpg (gif...) could help !
Can you provide an example please ?

Regards
Rémy   
   

435
Applications / Re: Online learning
« on: March 30, 2020, 08:16:11 pm »
Yep.  I am getting there.  OpenOffice will export each slide as a jpeg using the export as html.  This also gives me the option of simply setting up the slides on a web server.  All I have to do is generate an audio file for each jpeg then add one line of code in the html file and good to go.

To get the timing right on a mpeg4 video, I am thinking of using AVxCAT to generat a mp4 of each slide which would be the length of the audio file.  Then combine the mp4s into one file using AVxCAT.  That gets around timing the audio to the default specified time for each slide.

I am hopeful.  Now to record the audios, where is that mic that came with OS/2 back in the 90s?
Thanks for the help.  I will continue to update.
Mike Engle

Hi Mike,
AVxCAT can use by default a "cover.jpg" image as soon this one is in the same path as the audio files to convert into videos (was done to simplify full audio cd/mp3 to video).
To extend this possibility, I did a temporary update you can get which is able to take the image (jpg or bmp "OS2") having the same name and under the same path as the audio file. This allow yoou to convert many audio files into video file in one run. Easier to process...

http://remydodin.levillage.org/doc/realisations/downloads/avxcat_fix.zip    (just repplace existing avxcat.exe with this temporary fix (no bldlelvel included)

Regards
Remy

Pages: 1 ... 27 28 [29] 30 31 ... 44