Home   News   Concept   AMIGA-Compatible   Hardware   Forum   Questions+Answers   Pictures   Contact & Team

Welcome to the Natami / Amiga Forum

This forum is for AMIGA fans interested in the new NATAMI platform.
Please read the forum usage manual.


All TopicsNewsQAFeaturesTalkTEAMLogin to post    Create account
Welcome to the Natami lounge.
Meet new AMIGA friends here and enjoy having a friendly chit chat.

NetSurf Bounty Proposalpage  1 2 3 4 5 
Bernd Afa
Germany

Posts 146
07 Mar 2010 17:12


>* For just Scrolling you use only the GFX Sceen.
 
  this not work.when you use fastmem you need scroll the whole bitmap in fastmem with CPU.
 
  you can try it out yourself if you have classic HW, in libnsfb you can change HW_SWSURFACE and SW_HWSURFACE.color look then wrong, but for a speed measurement its ok.
 
  I have send a good tester and he report me that both versions need near same time to render a page.only the scroll is lots faster in HWSRUFACE.
 
  you think more in theory.i do before i do something a benchmark to see if the extra work is really need.
 
  maybe you can get few % more speed, but i dont like spend lots work for it.
 
  gain best performance cost several magnitude more time.
  also keep in mind, when you change source lots, you need merge more code when netsurf team enhance netsurf.
 
  if you like to help and you have time, maybe you can also bring the MOS netsurf source upto date so it work with newest neturf.
 
  You read this announce fornetsurf 2.5 ?
 
  EXTERNAL LINK

Gunnar von Boehn
Germany
(Natami Team Member)
Posts 3738
07 Mar 2010 18:25


bernd afa wrote:

>* For just Scrolling you use only the GFX Sceen.
 
  this not work.when you use fastmem you need scroll the whole bitmap in fastmem with CPU.

This works. :-)
This is how many real games are coded.

bernd afa wrote:

  you can try it out yourself if you have classic HW, in libnsfb you can change HW_SWSURFACE and SW_HWSURFACE.color look then wrong, but for a speed measurement its ok.

What I told you works fine. 
I think you did not understand me.



Bernd Afa
Germany

Posts 146
07 Mar 2010 18:48


>What I told you works fine. 
  >I think you did not understand me.
 
  Its possible to use SDL programs in SWSURFACE by set the env var SDL_SWSURFACE.
 
  then see if netsurf render faster or not.
  maybe somebody with a classic try this out.better reboot when change a value
 
  thats code in SDL
 
  static SDL_Surface *CGX_SetVideoMode(_THIS, SDL_Surface *current,
      int width, int height, int bpp, Uint32 flags)
  {
    Uint32 saved_flags;
    int needcreate=0;
    if (getenv("SDL_HWSURFACE"))flags |= SDL_HWSURFACE ;
    if (getenv("SDL_SWSURFACE"))flags &= ~SDL_HWSURFACE ;
 
  the report i get say it render not faster.

Gunnar von Boehn
Germany
(Natami Team Member)
Posts 3738
07 Mar 2010 21:04


Hi Bernd,
 
 

  Its possible to use SDL programs in SWSURFACE
 

I think the clue is to combine both aspect.
The advantage of a SW surface is that the memory interface to Fastmem is about 8 times faster than to GFX mem.
This is nice.
But we need to make sure not to loose this advantage if we copy the whole screen to GFX-card even when not needed.
Therefore we will get spped by only copying the "damaged" part to the GFX card for display. And we need to use the GFXcard as buffer for Blitter scrolling.
The combination of both techniques (Blitter/Fastmem) should be optimal IMHO.
 
 
I have one question regarding the rendering of Netsurf.
I had a look at the source, I saw some function that gave me the impression that Netsurf does endian conversion per drawn pixel.
Did I see this right or did I misunderstand this?

Bernd, when you think of Netsurf.
What would you say is the current bottelleneck?
Which parts does in your opinion make sense to tune?

Bernd Afa
Germany

Posts 146
08 Mar 2010 08:13


>What would you say is the current bottelleneck?
   
    the bottleneck is the whole netsurf core.as i told drawing a page does not cost lots time.
   
    I do some benchmarks that use simple HTML text.
   
    I show the history.html file of ibrowse Demo.
    This is a large Text file of 74 kb and 831 lines.near every line contain a html command.
   
   
    i disable in winuae the JIT so i get 060/50 speed simular on real world pages.
   
    showing this file(from ram) need in ibrowse 1 sec.on netsurf it need 5 sec.
   
    thats really fast speed, because its lots text and netsurf use antialiased truetype fonts.
   
    So a page full of antialiased text is worst case for graphic interface.
    all system are slower when print text as when print images or rectangles etc.
   
    On netsurf amiga.org show need on my testcase (winuae with disabled JIT) 31 sec.amigaworld.net 18 sec.
   
    thats simular a 060 50 MHZ.
   
    so you see what netsurf do, and wy its slow is most non graphic.
    maybe when 2.5 is out, all work better.
 
  >I had a look at the source, I saw some function that gave me the >impression that Netsurf does endian conversion per drawn pixel.
  >Did I see this right or did I misunderstand this?
 
  yes thats right, and to answer your question before about the true transparence.
 
  netsurf is so optimize that it use the alpha code only when a Pixel is little transparent.if it is 0 or 100% it does not use the func

Bruce Lee

Posts 6
08 Mar 2010 08:32


bernd afa wrote:

>What would you say is the current bottelleneck?
   
    the bottleneck is the whole netsurf core.as i told drawing a page does not cost lots time.
        ...

As far as I know the NetSurf core does NOT make use of threads (Netsurf was born on RiscOS which lacks multitasking).

Amiga does HAVE multitasking, so Bernd could add eg. multi-threading when fetching data from the internet, to amiga netsurf port.



Gunnar von Boehn
Germany
(Natami Team Member)
Posts 3738
08 Mar 2010 09:02


bruce lee wrote:

  As far as I know the NetSurf core does NOT make use of threads (Netsurf was born on RiscOS which lacks multitasking).
 

 
RISC OS has of course multi-tasking!

BTW What makes you think that several tasks would make the program any faster?
 
Splitting a program into several tasks does NOT by design make is faster. You can easy solve certain problems by using several tasks.
 
 

Team Chaos Leader
USA
(Natami Team Member)
Posts 1199
08 Mar 2010 11:20


My guess as to what I think they are trying to say is that a web page can load faster if several TCP/IP requests are processed simultaneously.

If a page must download 20 images.  Sometimes the 10th image might get stuck for a second, thus slowing down images 11-20.  But with some sort of multiprocessing-whatever-u-callit images 11-20 can load at full speed without having to wait while image 10 being delayed.



Bernd Afa
Germany

Posts 146
08 Mar 2010 15:13


I have not much tests done with netsurf.

netsurf work this way.it read in the html file what images to load.

Now it send all picture load to internet async.how many requests at once can choose by a variable.

the default of 16 is too much for classic.
so it must reduce to 8.see thread on amiga.org.

i do some tests with diffrent rates to check for upcoming data.

normaly a rate of 100 ms is fast enough, because there are so many requests send at once.

I try with a faster rate of 20 ms and a slower rate of 500 ms without JIT.load time is near same.

My guess a speed problem is maybe the libxml.

This lib is used in OWB and netsurf and when i jump in the debugger during load a webpage, i notoice very often that there is a function call in libxml that allocate memory fill in some bytes etc.do that again and again.I dont know for what libxml is need so frequently.

memalloc is due to ixemul faster as amiga OS builtin.amiga OS own mem system is also a speedbrake and on fragment mem you can see netsurf run slower and slower.

ixemul can work with amiga mem system and buddy allocator.
when use buddy allocator  memalloc is no speedbrake.

also memalloc is on C++ programs more frequently done, a reason wy OWB is slower.

Team Chaos Leader
USA
(Natami Team Member)
Posts 1199
08 Mar 2010 15:46


TLSFmem greatly speeds up memory allocations.

Bernd Afa
Germany

Posts 146
08 Mar 2010 15:56


the problem with tlsfmem is that it not run with memtracker as wipeout.

and memtracker is important when develop.maybe somebody can compile the wipeout from MOS for 68k.it alloc mem in system friendly way and should work with tlsf mem.

Thomas Richter
Germany

Posts 699
08 Mar 2010 19:44


bernd afa wrote:

the problem with tlsfmem is that it not run with memtracker as wipeout.

And why exactly is this a problem? You shouldn't run them in parallel - why is this an issue? To make debugging faster? (-;

So long,
Thomas


Team Chaos Leader
USA
(Natami Team Member)
Posts 1199
08 Mar 2010 23:15


TLSFmem should not have to be run at all.  It should be built into the OS to start with.

One Thousand
USA
(Natami Team Member)
Posts 716
09 Mar 2010 00:38


Amen, TCL.  Amen.

Matt Hey
USA

Posts 204
09 Mar 2010 07:02


I also agree with TCL. Now that the N68050 will have fast bit field (bfffo) instructions, it's obvious TLSFmem should be in a future AmigaOS for the Natami. TLSFmem is tested and the benefits in reduced fragmentation and speed are well documented.


Christian Kummerow
Germany

Posts 171
09 Mar 2010 08:14


Team Chaos Leader wrote:

It should be built into the OS to start with.

You want to include it forced into the OS?
Very Bad idea, TLSF is incompatible with importend Software.

Wawa Tk
Germany

Posts 351
09 Mar 2010 09:40


this is severe offtopic. maybe you want start another thread about if tlsf should become part of os or not. and provide solid arguments especially examples of incompatible soft.

Team Chaos Leader
USA
(Natami Team Member)
Posts 1199
09 Mar 2010 09:48


TLSFmem speeds up all software such as NetSurf.  It is very stupid to run NetSurf without TLSFmem.

Angel of Paradise
Germany

Posts 32
09 Mar 2010 10:20


Hello,

I find the discussion about new amiga browsers very interesting.
I don't have anough memory to properly run netsurf so I could not test how fast it runs.

Can someone tell me what the speed difference of Netsurf will be with and without using the optimized memory allocator?

Could someone post some number for this?

Bernd Afa
Germany

Posts 146
09 Mar 2010 12:14


>And why exactly is this a problem? You shouldn't run them in >parallel - why is this an issue? To make debugging faster? (-;

its really not a modern OS, when need disable tlsf reboot and then start wipeout.

this avoid devs to start wipeout and maybe oversee a bug, because they are too lazy to do this action.

so maybe somebody should compile wipeout for MOS for 68k so it can work together with tlsf and it can see if tlsf is really rock solid and better notice bad written programs that do memtrash because of diffrent tlsf structures

posts 90page  1 2 3 4 5