Welcome, Guest. Please login or register.

Author Topic: Curse of the SDL  (Read 24776 times)

Description:

0 Members and 1 Guest are viewing this topic.

Offline chris

Re: Curse of the SDL
« on: August 21, 2011, 12:28:05 PM »
Quote from: utri007;654287
There are some pointless projects (about www), I don't want to say what ;) and others doesn't know what kind of web broweser Netsurf is, so they think that A-Web is more usefull.

Here http://eab.abime.net/showthread.php?t=43738 somebody said that that "I maybe would consider doing an OS3 ReAction-based port, I'd have to be convinced that it was much better than AWeb though, which I'm not. There's no menus on this version (!) so I'm not sure what features it offers, if any."

I don't have enough knowledge and english is not my motherlanguage, so I woun't bother to arguing him.

So Bern do you know where is Netsurf feature list?

It is surely on the NetSurf website.

Firstly, the SDL version is the "framebuffer" frontend.  It has been repeatedly said by the core developers that this frontend is for debugging and example purposes only and is not intended to be a feature-complete frontend.

Off the top of my head, briefly, the OS4 version has the following features:
* CSS support (of course!)
* Full UTF-8 character support
* ReAction-based GUI
* Tabbed and multi-window browsing
* Cookie browser
* Local (thumbnail tree-based) and global history windows
* Hotlist window, hotlist menu
* ARexx port
* Full drag'n'drop throughout (loading, saving, uploading, drag text selections to text input boxes, history entries to browser windows, etc)
* Load images through DataTypes (also partial support for embedded audio)
* Native clipboard support for text and images, can also save objects as IFF
* PDF output and printing (currently disabled - will return when core fixed, have requested that to be on the list for this year)
* HW accelerated blits and resizes for images using OS4.1's compositing functions

There are a load of core and other features I've missed, but other than the first two, I don't think any of that is in the current 68k SDL version.

Quote
1. Get smaler memory footprint, 8bit screens would help?
2. Disable requirement of true type fonts so that it would work with AGA
3. Give it a native GUI

1. Would be useful for OS4 too.  A modification to my new DataTypes loader to not use V43 mode, and only using that for images rather than the core/internal image loaders, might make this easier, albeit probably not quicker (text and line drawing will still need changing of course)
2. TrueType fonts do work with AGA, the problem is converting outline fonts to bitmaps is very slow (also the case for Commodore's Intellifont code).  Using bitmap fonts isn't a major problem though, my very first release would load any fonts and convert the text to the local character set and print it with Text().  The only reason I open outline fonts directly is because that is the only way to print UTF-8 characters, but it is slower.  This might be an acceptable trade-off for 68k, although I'd suggest making it a configurable option.
3. No comment!
« Last Edit: August 21, 2011, 12:45:28 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 chris

Re: Curse of the SDL
« Reply #1 on: August 21, 2011, 12:36:22 PM »
Quote from: bernd_afa;654097
But netsurf team change the backend interface lots, so itix version do not work with newer netsurf core.

itix does not want change code to new backend interface and give up netsurf for MOS.
I can understand him, its really not nice what netsurf developers do, they often change their API


What do you expect them to do?  Keep it exactly the same so no improvements can be made?

Quote

So netsurf 68k use SDL, because SDL is mainted by a netsurf developer and all backend API changes he add in the SDL code.


All the officially supported frontends get updated when the core API changes.  I usually do it myself for the OS4 version anyway, but if not the person who makes the core changes will update it (eventually).  They can't necessarily test them all, but the basic changes are done so any errors are trivial to fix.

The MUI version was never an officially supported frontend so hasn't had this treatment.  Moreover, it wasn't even in SVN until after a major core change had already rendered it uncompilable.  I suspect it is so far behind now that it would be easier to start again.
"Miracles we do at once, the impossible takes a little longer" - AJS on Hyperion
Avatar picture is Tabitha by Eric W Schwartz
 

Offline chris

Re: Curse of the SDL
« Reply #2 on: August 22, 2011, 06:57:04 PM »
Quote from: itix;655721
In my opinion biggest drawback in Netsurf is it is designed for non-multitasking RISC OS. It is single threaded application blocking UI when it is waiting for network or disk activity.


I don't think that is a major problem.  NetSurf always stays responsive to input here, only occasionally stalling when converting huge images (which is a rare occurance anyway).  I can load multiple tabs in the background, scroll up and down, switch between them with hardly any pauses.  Of course, on 68k these pauses will be maginified, but the browser has been designed from the start to run as a single task, so it is broken down into small chunks that return quickly before checking for events and doing the next bit.  It effectively does its own internal multitasking.

btw RISC OS is a a multitasking OS, it just happens to be co-operative instead of pre-emptive.
"Miracles we do at once, the impossible takes a little longer" - AJS on Hyperion
Avatar picture is Tabitha by Eric W Schwartz