Page 16 of 17

Re: KolibriOS in eBox BIOS / 86Duino

Posted: Mon Nov 03, 2014 5:46 pm
by Mario_r4
Mario_r4 wrote:
hidnplayr wrote:
Mario_r4 wrote:Also we need to fix some of the programs that receive data through f.36 and GS.
f36 works correctly, but f73 (blitter) is not yet implemented in 16bpp mode.
I'm not sure about the correct operation f36. You can see in the picture the colors displayed on the screen and the colors obtained in f36 not conform to the format. The application expects that the color will be in the format 24bpp, but the current code simply copies 16bpp to 24bpp.

I think it is better to do the conversion 16bpp to 24bpp at the kernel level - it will solve the problem for many applications.
Spoiler:
IMGP9040.JPG
Ok. This was a problem in the code MGB. I fixed it in SVN r.5160.

Re: Оптимизация ядерной графики

Posted: Mon Nov 03, 2014 6:23 pm
by hidnplayr
since #5161 the blitter should also work in 16bpp mode.

Re: Оптимизация ядерной графики

Posted: Mon Nov 03, 2014 6:37 pm
by Mario_r4
hidnplayr wrote:since #5161 the blitter should also work in 16bpp mode.
Blitter code probably still can be optimized. On the other items, the difference between 32bpp and 16bpp on eBox is not so great. For example, the output images f7 hasn't such failure in performance, as f73.
Spoiler:
ebox_5157_32bpp.png
ebox_5157_32bpp.png (6.96 KiB)
Viewed 7794 times
ebox_5161_16bpp.png
ebox_5161_16bpp.png (6.73 KiB)
Viewed 7794 times

Re: Оптимизация ядерной графики

Posted: Mon Nov 03, 2014 6:52 pm
by hidnplayr
Mario: feel free to experiment with this blitter code, I dont like it at all and chose the lazy copy-paste-patch method for this.
I want to get back to playing with this 86duino and network code now :)

Re: Оптимизация ядерной графики

Posted: Mon Nov 03, 2014 7:17 pm
by Mario_r4
hidnplayr wrote:Mario: feel free to experiment with this blitter code, I dont like it at all and chose the lazy copy-paste-patch method for this.
I want to get back to playing with this 86duino and network code now :)
I think it makes sense to wait fix for r.5130.

Re: Оптимизация ядерной графики

Posted: Tue Nov 04, 2014 2:54 pm
by Mario_r4
hidnplayr
Serge has fixed the problem r.5130. Here are the results of tests on RoverBook U800.
Spoiler:RoverBook U800 32bpp SVN r.5129
rb_5129_32bpp.png
rb_5129_32bpp.png (4.32 KiB)
Viewed 7746 times
RoverBook U800 32bpp SVN r.5165
rb_5165_32bpp.png
rb_5165_32bpp.png (4.33 KiB)
Viewed 7746 times
RoverBook U800 16bpp SVN r.5165
rb_5165_16bpp.png
rb_5165_16bpp.png (4.06 KiB)
Viewed 7746 times
P.S. Now you can think about the 8-bit modes. :wink:

Re: Оптимизация ядерной графики

Posted: Tue Nov 04, 2014 3:17 pm
by hidnplayr
Mario_r4 wrote:P.S. Now you can think about the 8-bit modes. :wink:
There is also 15 bpp :wink:

I am personally quite satisfied with the available video modes now.
I believe almost all VESA2.0+ compatible cards have at least one 16, 24 or 32bpp mode.

Re: Оптимизация ядерной графики

Posted: Wed Nov 05, 2014 4:38 am
by pascualle
Ух как много интересных новостей по поводу 16(15)bpp.
Могу ли я попросить обновить в вики описание графических функций касательно (8), 16, 24, 32bpp?

Re: Оптимизация ядерной графики

Posted: Wed Nov 05, 2014 9:07 am
by Mario_r4
А чего там обновлять? Для приложений ничего не изменилось, не считая того что нужно учитывать возможность режима 16bpp при прямой работе с видеопамятью через регистр GS. Однако работа через GS это скорее системный хак, чем нормальное явление, просто так быстрее считывать данные для скриншутера.

Re: Оптимизация ядерной графики

Posted: Wed Nov 05, 2014 12:22 pm
by pascualle
Mario_r4,
жаль, признаю, тот самый случай, когда я совершенно не понимаю сути происходящего,
мне показалось, что fn73 уже может работать не только с 32bpp

Re: Оптимизация ядерной графики

Posted: Wed Nov 05, 2014 12:32 pm
by Mario_r4
pascualle wrote:мне показалось, что fn73 уже может работать не только с 32bpp
Она как раз задумывалась товарищем Serge, чтобы выводить от приложения исключительно 32bpp - так как упрощенный код без кучи проверок работает быстрее ф.65 (которая как раз поддерживает всякие разные bpp).

Re: Оптимизация ядерной графики

Posted: Wed Nov 05, 2014 3:18 pm
by CleverMouse
Mario_r4 wrote:Она как раз задумывалась товарищем Serge, чтобы выводить от приложения исключительно 32bpp - так как упрощенный код без кучи проверок работает быстрее ф.65 (которая как раз поддерживает всякие разные bpp).
Скорость ни при чём: viewtopic.php?p=31993#p31993. Функция 65 написана неправильно, её можно существенно ускорить, чтобы она не отличалась от 73, но, видимо, никому не нужно.

Re: Оптимизация ядерной графики

Posted: Wed Nov 05, 2014 3:37 pm
by Mario_r4
CleverMouse wrote:Скорость ни при чём: viewtopic.php?p=31993#p31993. Функция 65 написана неправильно, её можно существенно ускорить, чтобы она не отличалась от 73, но, видимо, никому не нужно.
Почему не нужно? Просто некоторые вещи либо забываются (я всего лишь человек, да, а не суперпрограммист с идеальной памятью как ты), либо не критичны для текущего использования. И вообще правило, что любой код можно оптимизировать никто не отменял. У меня сложилось мнение, что Serge сделал ф.73 в основном из-за скорости, возможно я и ошибся в своих оценках.

Re: Оптимизация ядерной графики

Posted: Wed Nov 05, 2014 3:40 pm
by Mario_r4
pascualle wrote:Mario_r4,
жаль, признаю, тот самый случай, когда я совершенно не понимаю сути происходящего,
Во видишь - добрый и вежливый человек все сразу доступно объяснил.
Spoiler:Вот я не добрый и не вежливый. :wink:

Re: Оптимизация ядерной графики

Posted: Wed Nov 05, 2014 3:51 pm
by Serge
Mario_r4
Не столько из-за скорости, сколько из-за отсечения. + ещё зарезервирован ebx для ROP.