Page 44 of 59
Re: WebView: Text-based Browser
Posted: Sun Mar 30, 2014 2:48 pm
by Mario_r4
Qemu correct configuration:
-net nic,model=rtl8139 -net user
Re: WebView: Text-based Browser
Posted: Sun Mar 30, 2014 2:57 pm
by Leency
WebView 1.0 Beta 4
1. Просмотр исходника страницы, спасибо ppk-center за идею. Требует небольшой доработки и оптимизации, но уже сейчас пригодно к использованию. Вариант с str_replace() оказался очень медленный, используется более оптимизированный вариант.
2. Загрузка цветов из скина (спасибо dunkaist и 0CodErr за помощь)
3. Увеличена высота строки - так легче воспринимается текст.
4. Реализовано получение абсолютного адреса картинки.
Исправления:
а. Когда нажимаешь клавиши Home/End в строке адреса, то эти клавиши больше не влияют на прокрутку страницы.
б. Исправлены артефакты в строке адреса, если мы нажали перейти на какую-то страницу, и до этого у нас был выделенный текст в ней.
в. Раньше затирались нижнение 10 пикселей изображения, очень древний баг, исправлено
Re: WebView: Text-based Browser
Posted: Sun Mar 30, 2014 3:03 pm
by Leency
Mario_r4 wrote:Qemu correct configuration:
-net nic,model=rtl8139 -net user
I used rtl8139, but this adapter wasn't stable before, so hidnplayr asked me to switch to i82557b.
Now I tryed rtl8139 one more in QEMU. It works faster than i82557b and bug isn't exists. So I will contiune using it.
Re: WebView: Text-based Browser
Posted: Sun Mar 30, 2014 3:21 pm
by e-andrew
Без вкладок он даже красивее выглядит, может лучше их вниз кинуть? Непривычно конечно, но со временем...
Re: WebView: Text-based Browser
Posted: Sun Mar 30, 2014 3:36 pm
by Albom
Алан Купер "Психбольница в руках пациентов"
Мой веб-броузер проводит большую часть времени в бездействии, пока я просматриваю различные сайты. Он мог бы легко предвидеть мои потребности и готовиться к ним, а не терять зря время. Почему он не может воспользоваться временем простоя для загрузки страниц по видимым ссылкам? Велики шансы, что вскоре я попрошу браузер перейти на одну из этих страниц. Невостребованный запрос легко оборвать, однако на ожидание выполнения нового запроса всегда тратится время. Если бы программа предвидела мои желания, готовилась к моим запросам, вместо того, чтобы молча ожидать моей команды, она стала бы гораздо более отзывчивой без необходимости в более быстром Интернете.
Leency
Как тебе такая идея?
Re: WebView: Text-based Browser
Posted: Sun Mar 30, 2014 3:54 pm
by Mario_r4
Albom
Я думаю по умолчанию такая вещь должна быть отключена, так как есть люди с лимитированными тарифными планам по доступу к сети, а на GPRS так вообще тарификация чуть ли не за каждый килобайт. Они могут не знать о том что есть такая предзагрузка и будут сильно потрясены, удивлены и крайне обескуражены, но вслух произнесут и на форум напишут совсем другое.

Re: WebView: Text-based Browser
Posted: Sun Mar 30, 2014 4:19 pm
by Leency
Есть такая штука, как
Code: Select all
<link rel='next' href='next_page' />
Когда текущая страница загрузится, то потом загружается эта.
Сейчас я подумываю сделать кеширование страниц. Это обязательное условие для вкладок.
Re: WebView: Text-based Browser
Posted: Mon Mar 31, 2014 2:13 pm
by ppk-center
Leency wrote:
1. Просмотр исходника страницы, спасибо ppk-center за идею. Требует небольшой доработки и оптимизации, но уже сейчас пригодно к использованию. Вариант с str_replace() оказался очень медленный, используется более оптимизированный вариант.
Ну и как реализован более оптимизированный вариант.
Re: WebView: Text-based Browser
Posted: Mon Mar 31, 2014 2:49 pm
by Leency
ppk-center
Давай рассмотрим твой вариант.
Code: Select all
str = str_replace("<", "<p><font color=red><", str);
str = str_replace(">", "></font></p>", str);
Какие минуса:
1. во-первых он медленный, т.к. один и тот же буфер должен прогоняться каждый раз с начала.
str_replace("<", "<p><font color=red><", str); - с начала и до конца, str_replace(">", "></font></p>", str); - тоже с начала и до конца.
Это ОЧЕНЬ долго.
2. во-вторых в лучшем случае получится каша:
str = str_replace("<", "<p><font color=red><", str);
мы заменяет все "<" на "<p><font color=red><" - ОК.
А потом все ">" на "></font></p>", т.е. все
> в предыдущей строке "<p><font color=red><" тоже будут заменены!
И это всё в лучшем случае. В худшем, мы получим рекурсию, т.к. в строке
str_replace("<", "<p><font color=red><", str);
мы заменяем < несколькими <.
Каков мой вариант.
http://websvn.kolibrios.org/filedetails ... 9&peg=4719
Он похож на твой, только тут мы перебираем каждый символ страницы и формируем новый буфер.
т.е.
Псевдокод.
for (i=cur_page_start; i<cur_page_length; i++)
{
if (*i=='<') strcat(new_buf_source, "<p><font color=red><" );
else if (*i=='>') strcat(new_buf_source, "></font></p>" );
else chrcat(new_buf_source, *i );
}
Re: WebView: Text-based Browser
Posted: Mon Mar 31, 2014 3:01 pm
by Leency
Кстати, в исходнике баг...
Re: WebView: Text-based Browser
Posted: Mon Mar 31, 2014 4:21 pm
by 0CodErr
Как будто "0,5 секунды" — это быстро
У тебя там, кстати, что
strcat, что
chrcat сначала определяют длину строки в буфере, хотя ты сам двигаешь указатель, например: new_buf++, и к тому же тебе известна длина добавляемых данных. То есть, достаточно было
memcpy(dst, src, count). А здесь
chrcat(new_buf, ww) можно даже и без
memcpy обойтись.
Re: WebView: Text-based Browser
Posted: Mon Mar 31, 2014 5:02 pm
by Leency
> "0,5 секунды"
То, что было 24 секунды я засекал. 0.5 сказано примерно для сравнения.
> У тебя там, кстати, что strcat, что chrcat сначала определяют длину строки в буфере, хотя ты сам двигаешь указатель
Точно, можно этот момент улучшить. Спасибо.
Re: WebView: Text-based Browser
Posted: Mon Mar 31, 2014 7:24 pm
by buyerninety
Albom quotes;
"Мой веб-броузер проводит большую часть времени в бездействии, пока я просматриваю различные сайты.
Он мог бы легко предвидеть мои потребности и готовиться к ним, а не терять зря время. Почему он не может
воспользоваться временем простоя для загрузки страниц по видимым ссылкам?... чтобы молча ожидать моей
команды, она стала бы гораздо более отзывчивой без необходимости в более быстром Интернете."
Mario_R4 replies;
"
Я думаю по умолчанию такая вещь должна быть отключена, так как есть люди с лимитированными тарифными
планам по доступу к сети"
...
Mario_R4 has his finger on the problem... for instance to look at a website e.g.;
http://www.blurbusters.com/faq/120hz-mo ... lightboost
you realize that to start downloading even say 1st five links would slow down too much web access for the webpage you
are
currently viewing (and which itself perhaps has pictures which are still not yet finished downloading for displaying).
Examine suggestion more critically.. OK,
you are at some webpage, you see a link you know you will want to view next
- if you were using Windows, you would left mouse button click the link, as it began to display you would move cursor up
to top right of new webpage window and minimize new window, so you can then keep viewing 1st webpage (while new link
webpage continues downloading
minimized to taskbar).
This process takes a bit more than 1 second of wasted mouse movement, each occaision you do this -
how to improve on this?
My
suggestion for
this scenario is to instead have the ability to double click the right mouse button, so that
'double click of right
mouse button on link' = 'download link (already) minimized to the taskbar, while maintaining current webpage for viewing'.
Of course, after 1st click of right mouse button, appears context menu - but on 2nd click, context menu is banished (unused)
and link fetching as above takes place.
{EDIT: banished(unused) = mouse driver recoded specifically for this behaviour}
The advantage is that you do not waste mouse movement, but a better advantage is much less disturbance to your viewing
(and reading) of current webpage - as is said in the West, you do not
'lose your train of thought'.
For Albom,
this suggestion does not satisfy his desire, but in imperfect world, suggestion is surely nearest to what he could
reasonably hope for
to speed up and make more efficient his browsing in (a future) KolibriOS browser.
Re: WebView: Text-based Browser
Posted: Mon Mar 31, 2014 8:22 pm
by Leency
WebView 1.0 Beta 5.5
1. Strong optimizations in ViewSource functions.
2. Fix header in ViewSource mode.
3. Fix page bufsize in ViewSource mode.
4. Decrease tab size to 4 spaces. Optimize tab code.
5. Optimize window redraw.
6. Use single quote instead double quote in ViewSource mode.
Re: WebView: Text-based Browser
Posted: Mon Mar 31, 2014 8:58 pm
by 0CodErr
Вылетела при попытке свернуть в заголовок.
Board:
Spoiler:
