Welcome, Guest. Please login or register.

Author Topic: NetSurf 3.6 web browser released!  (Read 4763 times)

Description:

0 Members and 1 Guest are viewing this topic.

Offline wawrzon

Re: NetSurf 3.6 web browser released!
« Reply #29 on: November 22, 2016, 07:02:32 PM »
@olsen
i dont remember very well, as its a longer while ago now, but tlsf by chris hodges and subsequently patched by cosmos are replacements for the genuine system allocator (which may have caused problems with legacy apps) rather than statically linked against an application for internal use. thats pretty different to what you are trying to achieve, so i doubt the mentioned results are relevant, but also im not sure if the other participants understand the difference.
 

Offline wawrzon

Re: NetSurf 3.6 web browser released!
« Reply #30 on: November 22, 2016, 07:11:23 PM »
Quote from: olsen;816730
Ah, so none of the existing TLSF implementations were linked against NetSurf at any time? I'd say it would not be too difficult to adapt them to work with AmigaOS.

Patching the exec memory management API at runtime would not be quite the same as replacing the memory management for a single application. Once your exec patches have to work for all running programs, it becomes so much harder to diagnose problems and their causes. Your chances of discovery are much better if you can limit the scope.


im afraid the amiga tlsf source isnt openly available at this time. i guess it should, by license requirements? maybe contact chris directly? im convinced, cosmos contribution was asm based..
 

guest11527

  • Guest
Re: NetSurf 3.6 web browser released!
« Reply #31 on: November 22, 2016, 07:45:35 PM »
The major problem with all these approaches, including TSLFMem is that it most are not compatible to the (unfortunately) documented exec memory administration structure, which is the simple stupid chunk based format. You'll find it in exec/memory.h, and unfortunately programs may - and some actually do - depend on this particular structure. Replacing the organization of the exec memory system is therefore a bad idea.

You can do two things, however: First, *avoid* fragmentation where it is created by replacing or updating system components that cause them, and improve the allocation strategy of your own application as well. Recycle structures, avoid malloc()/free() (AllocMem()/FreeMem()) if you can re-use the memory yourself. "Recycle, do not through away".

The prime source in the operating system (layers.library) is already gone. The next source are graphics Regions and RegionRectangles, unfortunately this is much harder to fix in a conservative backwards-compatible way.

The second thing you can do - and probably should do - is to link your own programs with their own implementation of a memory manager that only pulls big chunks from exec, and then maintains them itself. Even if these are only the stupid exec memory pools, this might already help keeping the rest of the system happy.
 

guest11527

  • Guest
Re: NetSurf 3.6 web browser released!
« Reply #32 on: November 22, 2016, 07:58:21 PM »
Just for the fun of it: PoolMem has a bare-bone concept related to "Slabs", though it is called a little different there - it keeps a "scratch list" of recently released objects up to a maximal size. Hence, if you release an object of < 256 bytes, it will be linked into the scratch list (a very simple pointer adjustment), and if you allocate an object of such size, the scratch list will be visited first (again a simple pointer adjustment). Once in a while, the scratch list is revisited and "compacted".

This can be made compatible to the exec memory pools, so there is no danger of compatibility problems. Of course, programs that handle memory incorrectly (e.g. by writing into memory that has already been released) are likely to cause problems. "scratch list" memory is much more likely to be touched any time sooner, a fact that caused a couple of crashes of software following such bad programming practise.
 

Offline gregthecanuck

  • Full Member
  • ***
  • Join Date: Feb 2003
  • Posts: 169
  • Country: ca
    • Show only replies by gregthecanuck
Re: NetSurf 3.6 web browser released!
« Reply #33 on: November 23, 2016, 01:22:33 AM »
Hats off to everyone in this thread. It is nice to see a civil discussion. :)
 

Offline Georg

  • Jr. Member
  • **
  • Join Date: Feb 2002
  • Posts: 90
    • Show only replies by Georg
Re: NetSurf 3.6 web browser released!
« Reply #34 on: November 23, 2016, 08:07:36 AM »
Quote from: Thomas Richter;816736
The next source are graphics Regions and RegionRectangles, unfortunately this is much harder to fix in a conservative backwards-compatible way.


Make graphics.library allocate this stuff in such a way that their addresses are multiple of 2, but not multiple of 4 (ie. address last byte is 0x2, 0x6, 0xA or 0xE). This way it should be possible to detect if it was allocated by itself or by someone evil outside.
 

Offline Georg

  • Jr. Member
  • **
  • Join Date: Feb 2002
  • Posts: 90
    • Show only replies by Georg
Re: NetSurf 3.6 web browser released!
« Reply #35 on: November 23, 2016, 08:15:21 AM »
Quote from: Thomas Richter;816737
Of course, programs that handle memory incorrectly (e.g. by writing into memory that has already been released) are likely to cause problems.


For the first 8 bytes of freed memory this is not even save in old memory system, if freed memory region was exactly in front of another allocated memory region, because then it becomes the start of a new "free memory chunk": 8 bytes used as node of free memory list.
 

Offline klx300r

  • Amiga 1000+AmigaOne X1000
  • Hero Member
  • *****
  • Join Date: Sep 2007
  • Posts: 3246
  • Country: ca
  • Thanked: 20 times
  • Gender: Male
    • Show only replies by klx300r
    • http://mancave-ramblings.blogspot.ca/
Re: NetSurf 3.6 web browser released!
« Reply #36 on: November 24, 2016, 03:41:30 PM »
@ chris

thanks for the update! after years of not using my classics on the net I hope to try this update out on my A4000 soon once I get her all back into her case
____________________________________________________________________
c64-dual sids, A1000, A1200-060@50, A4000-CSMKIII
Indivision AGA & Catweasel MK4+= Amazing
! My Master Miggies-Amiga 1000 & AmigaOne X1000 !
--- www.mancave-ramblings.blogspot.ca ---
  -AspireOS.com & Amikit- Amiga for your netbook-
***X1000- I BELIEVE *** :angel:
 

Offline chrisTopic starter

Re: NetSurf 3.6 web browser released!
« Reply #37 on: November 24, 2016, 11:15:50 PM »
Post-3.6 version with newly updated clib2: http://cy2.uk/netsurfos3
Let me know if it is faster or not!
"Miracles we do at once, the impossible takes a little longer" - AJS on Hyperion
Avatar picture is Tabitha by Eric W Schwartz
 

Offline utri007

Re: NetSurf 3.6 web browser released!
« Reply #38 on: November 25, 2016, 11:08:14 AM »
I made a quick test, when I had my lunchbreak.

Congratulations again to all involved. :) It is much faster, amiga.org downloads now 28-30 seconds with my 68060 / 66mhz. Was 46-48 seconds. Still not that fast than it used to be20-22 seconds, but with memory fragemention problem it wasn't usefull.

I also tested it with my 68040 / 40mhz. It might use little bit more ram? 2-3mb more, when amiga.org is loaded? But still useable with 32mb ram. Amiga.org loads with this system 44 seconds.
ACube Sam 440ep Flex 800mhz, 1gb ram and 240gb hd and OS4.1FE
A1200 Micronic tower, OS3.9, Apollo 060 66mhz, xPert Merlin, Delfina Lite and Micronic Scandy, 500Gb hd, 66mb ram, DVD-burner and WLAN.
A1200 desktop, OS3.9, Blizzard 060 66mhz, 66mb ram, Ide Fix Express with 160Gb HD and WLAN
A500 OS2.1, GVP+HD8 with 4mb ram, 1mb chip ram and 4gb HD
Commodore CDTV KS3.1, 1mb chip, 4mb fast ram and IDE HD
 

Offline cha05e90

  • Full Member
  • ***
  • Join Date: Feb 2003
  • Posts: 232
  • Country: de
    • Show only replies by cha05e90
    • http://www.ruthe.info
Re: NetSurf 3.6 web browser released!
« Reply #39 on: November 25, 2016, 12:56:17 PM »
Chris, is there any *known* issue with CyberGrafX based OS 3.9 systems?

After a quick test yesterday I found that on my Picasso96/Picasso II equipped Amiga Netsurf worked as expected (Picasso screen with 16 Bit/800x600 px) while my CyberGrafX/CV64-3D Amiga always rendered images with 8 Bit - even if the screen hat 16 or 24 Bit depth.
X1000|II/G4|440ep|2000/060|2000/040|1000
 

Offline olsen

Re: NetSurf 3.6 web browser released!
« Reply #40 on: November 25, 2016, 01:09:48 PM »
Quote from: utri007;816861
I made a quick test, when I had my lunchbreak.

Congratulations again to all involved. :) It is much faster, amiga.org downloads now 28-30 seconds with my 68060 / 66mhz. Was 46-48 seconds. Still not that fast than it used to be20-22 seconds, but with memory fragemention problem it wasn't usefull.

Does the page load time improve if you immediately reload the page (assuming that it is not simply reloaded from the disk cache, but re-fetched from the web site)?

If so, then this may be significant. The "slab allocator" is referred to as a cache in the paper which introduced the concept. For a cache to be helpful it needs to already contain the data that is subsequently drawn from it ;)  Otherwise, the cache first needs to be organized and "primed". This process is sometimes called "warming up".

For the "slab allocator" to warm up it needs to allocate memory for the slabs which it will manage, chopping the slabs into (sometimes) hundreds of chunks. If you start this process cold, the "slab allocator" will first spend a lot of effort allocating memory and getting it ready for use.

This process could be sped up by preallocating slabs when NetSurf starts. However, it won't do just to allocate a bunch of slabs, one also needs to know which memory chunk sizes would be most appropriate.
 

Offline chrisTopic starter

Re: NetSurf 3.6 web browser released!
« Reply #41 on: November 25, 2016, 01:15:55 PM »
Quote from: cha05e90;816862
Chris, is there any *known* issue with CyberGrafX based OS 3.9 systems?

After a quick test yesterday I found that on my Picasso96/Picasso II equipped Amiga Netsurf worked as expected (Picasso screen with 16 Bit/800x600 px) while my CyberGrafX/CV64-3D Amiga always rendered images with 8 Bit - even if the screen hat 16 or 24 Bit depth.

None that I know of.  I'd be surprised if guigfx didn't recognise CGX and work correctly, I have *no* special handling of RTG screens on OS3 - as far as NetSurf is concerned it's just a normal palette-mapped screen.

edit I do get guigfx to stick images in an 8-bit bitmap though, no matter the screen depth, so maybe that's the problem?  It should be 8-bits per image though so shouldn't be too noticeable, and this applies to P96 too, so I'd expect to see the same effect on both.
« Last Edit: November 25, 2016, 01:23:06 PM by chris »
"Miracles we do at once, the impossible takes a little longer" - AJS on Hyperion
Avatar picture is Tabitha by Eric W Schwartz
 

Offline chrisTopic starter

Re: NetSurf 3.6 web browser released!
« Reply #42 on: November 25, 2016, 01:26:39 PM »
Quote from: olsen;816863
Does the page load time improve if you immediately reload the page (assuming that it is not simply reloaded from the disk cache, but re-fetched from the web site)?


To help with this, holding Shift whilst clicking Reload ought to re-fetch it from the network.
"Miracles we do at once, the impossible takes a little longer" - AJS on Hyperion
Avatar picture is Tabitha by Eric W Schwartz
 

Offline utri007

Re: NetSurf 3.6 web browser released!
« Reply #43 on: November 25, 2016, 01:32:23 PM »
Quote from: olsen;816863
Does the page load time improve if you immediately reload the page (assuming that it is not simply reloaded from the disk cache, but re-fetched from the web site)?

Sorry, what I did was amiga.org - > forums - > amiga.org - > forums -> amiga.org

At least that way load time didn't improve. Load time did vary, few seconds, but I didn't notice any pattern. But as I said, test was very short.

I can't do some more testing saturday, today I'm going to get drunk. :)
« Last Edit: November 25, 2016, 01:35:16 PM by utri007 »
ACube Sam 440ep Flex 800mhz, 1gb ram and 240gb hd and OS4.1FE
A1200 Micronic tower, OS3.9, Apollo 060 66mhz, xPert Merlin, Delfina Lite and Micronic Scandy, 500Gb hd, 66mb ram, DVD-burner and WLAN.
A1200 desktop, OS3.9, Blizzard 060 66mhz, 66mb ram, Ide Fix Express with 160Gb HD and WLAN
A500 OS2.1, GVP+HD8 with 4mb ram, 1mb chip ram and 4gb HD
Commodore CDTV KS3.1, 1mb chip, 4mb fast ram and IDE HD
 

Offline Primax

  • Newbie
  • *
  • Join Date: Feb 2016
  • Posts: 30
    • Show only replies by Primax
Re: NetSurf 3.6 web browser released!
« Reply #44 from previous page: November 25, 2016, 09:26:21 PM »
Some little tests on my Amiga1200 with 1230/50 accelerator:
Netsurf  took - with best configuration - 35,6 seconds to load amiga-news.de  using the version before, now takes 31,8 seconds. Jumping to aminet.net  (35 seconds) and back to amiga-news.de (31,1 seconds). Holding shift and  reload it, Netsurf took 30,8 seconds. So I guess if I reload it ten  times I can break the 20 seconds mark...:)

In any case: Thanks for the new version!
By the way: 90 seconds for amiga.org. And it looks quite bloated. The font is much to big.