Board.KolibriOS.org

Official KolibriOS board
It is currently Sat Dec 07, 2019 8:56 am

All times are UTC+03:00




Post new topic  Reply to topic  [ 255 posts ]  Go to page Previous 19 10 11 12 1317 Next
Author Message
PostPosted: Fri Jun 23, 2017 8:48 am 
Offline

Joined: Fri Dec 30, 2016 6:29 pm
Posts: 116
Pathoswithin wrote:
Всё не так просто. Современное "ядро" содержит несколько конвейеров и может выполнять несколько операций параллельно, если это возможно. А если нет, то лишние конвейеры простаивают так же как и лишние ядра. Идея Hyper-threading в том, чтобы гнать сразу два потока на одном ядре, и если код сильно последовательный, то теоретически это таки может дать двухкратный рост производительности. В Bulldozer всё наоборот: 2 облегчённых ядра могут совместно работать над одним потоком. В обоих случаях производительность сильно зависит от конкретного кода, и ещё раз повторю, что мерять её синтетическими попугаями бессмысленно. Для однопоточной программы это будет 2 ядра, для многопоточной - 4.

Микроглюки в играх говорят о нехватке видеопамяти (подкачка из оперативы) или оперативы (подкачка с диска). Резкие скачки производительности указывают на слабую видеокарту. Слабый процессор выдаёт низкое, но очень стабильное количество кадров.

Хм, сейчас проверил - танки потребляют около 480 мб (что минималки, что ультра), а видеопамяти - 512 мб. Судя по всему - да, так и получается. А подкачки нет, т.к. рамы 16 гб. Да, очень мало оперативки, но для танков этого более чем достаточно. Как-нибудь попробую еще затестить танки с процем атлон II x4 630, который чуть чуть быстрее, чем А10, но у него еще в два раза больше ядер (но это нам ни к чему) и с видеокартой AMD RX 470 4GB. SR уже тестил - два ядра под завязку и 15-20 фпс в независимости от настроек графики и разрешения.
Кстати, а как в корбуте увеличить объем видеопамяти? (вся видеопамять берется из рамы)


Top
   
PostPosted: Fri Jun 23, 2017 10:06 am 
Offline

Joined: Tue Apr 12, 2011 11:19 pm
Posts: 1151
olodar wrote:
Хм, сейчас проверил - танки потребляют около 480 мб (что минималки, что ультра), а видеопамяти - 512 мб.

Первое это что? ОЗУ?
olodar wrote:
Судя по всему - да, так и получается. А подкачки нет, т.к. рамы 16 гб.

И это мало ОЗУ? Сейчас вроде больше особо и не надо (если конечно кучи виртуалок не держать). Да и вообще эти танки странная вещь, а может и не они а АМД. Работало себе спокойно на RX480 на максимуме качества, и тут бац, где-то что-то поменялось, и все три кулера СО видеокарты начали работать на все 100%. Правда давно уже не запускал, может что и исправилось.

_________________
я лишь учусь


Top
   
PostPosted: Fri Jun 23, 2017 1:43 pm 
Offline

Joined: Fri Dec 30, 2016 6:29 pm
Posts: 116
punk_joker wrote:
olodar wrote:
Хм, сейчас проверил - танки потребляют около 480 мб (что минималки, что ультра), а видеопамяти - 512 мб.

Первое это что? ОЗУ?

Видео ОЗУ (столько выделил coreboot).
punk_joker wrote:
и тут бац, где-то что-то поменялось

Что где поменялось? Ты о чем?


Top
   
PostPosted: Fri Jun 23, 2017 2:36 pm 
Offline

Joined: Tue Apr 12, 2011 11:19 pm
Posts: 1151
olodar wrote:
Что где поменялось? Ты о чем?

Это так, отход от темы. Я имел ввиду, что играл себе спокойно в танки, видеокарта вела себя умеренно. А потом, после обновления игры. или возможно я драйвера при этом еще обновил, при тех же настройках, кулеры на видеокарте стали крутиться если не по максимуму, то близко к нему. Но это просто вспомнилось, когда прочитал про танки и RX470, и не имеет никакого отношения к теме разговора

_________________
я лишь учусь


Top
   
PostPosted: Fri Jun 23, 2017 3:02 pm 
Offline

Joined: Fri Dec 30, 2016 6:29 pm
Posts: 116
нашел в src/mainboard/amd/dinar/Kconfig следующие параметры:
1)
config HW_MEM_HOLE_SIZEK
hex
default 0x200000

что-то связанное с памятью, но если перевести его из 16-ой СС в десятичную, то получаем число 2097152, что далеко не соответствует 512 МБ.
2)
config HW_MEM_HOLE_SIZE_AUTO_INC
bool
default n
Тоже что-то похожее


Top
   
PostPosted: Fri Jun 23, 2017 8:29 pm 
Offline
Mentor/Kernel Developer
User avatar

Joined: Thu Mar 26, 2015 5:16 pm
Posts: 1264
punk_joker
Включи вертикальную синхронизацию в настройках игры или драйвера.


Top
   
PostPosted: Sun Jun 25, 2017 9:05 am 
Offline

Joined: Fri Dec 30, 2016 6:29 pm
Posts: 116
Вобщем, погонял танки. Твоя теория не канает, игра действительно потребляет около 480 мегабайт видео ОЗУ (минимальные настройки графики), 60 FPS, постоянно загружен процессор на 25% (1 ядро из 4), и часто происходят микрофризы, "подергивания" в игре. Так что, процессор не особо нужен играм, но минимум он должен потянуть. Это как палка, на которой груз. Если чуть чуть нехватит ей прочности, то она сломается, а вот добавить прочности немного и будет держать.


Top
   
PostPosted: Sun Jun 25, 2017 1:20 pm 
Offline
Mentor/Kernel Developer
User avatar

Joined: Thu Mar 26, 2015 5:16 pm
Posts: 1264
Какая теория? Почему не канает?
60 FPS при загрузке на 25% это десятикратный запас. "Маловато будет! Маловато!"
О каких танках идёт речь? World of Tanks? Так там рекомендуется 2 ГБ видеопамяти.


Top
   
PostPosted: Mon Jun 26, 2017 1:22 pm 
Offline

Joined: Mon Dec 05, 2016 11:04 am
Posts: 146
olodar wrote:
нашел в src/mainboard/amd/dinar/Kconfig следующие параметры
"dinar" это совсем другая плата. Исходники специфичные для нашей платы:
Code:
./src/mainboard/lenovo/g505s/
дальше
Code:
./src/ec/compal/ene932/ - интерфейс с EC контроллером
./cpu/amd/agesa/family15rl/ - процессор
./northbridge/amd/agesa/ - северный мост
./southbridge/amd/agesa/hudson/ - южный мост
Остальные вещи можно узнать в ./mainboard/lenovo/g505s/dsdt.asl и похожих исходниках.
Разработчики коребута любят объединять код и приходится помнить некоторые особенности:
например у нас EC контроллер ENE KB9012 но для него подходят исходники из ./src/ec/compal/ene932
или например у нас южный мост Bolton, но для них обоих подходит код из ./southbridge/amd/agesa/hudson/
а дальше нужно добавлять xhci блоб от болтона если хочешь чтобы был USB3.0

Если посмотреть KConfig в папке g505s там тоже есть
Code:
config HW_MEM_HOLE_SIZEK
   hex
   default 0x200000

config HW_MEM_HOLE_SIZE_AUTO_INC
   bool
   default n
Чтобы понять, на что именно влияют эти конфиги, нужно всего лишь поискать
"HW_MEM_HOLE_SIZEK" и "HW_MEM_HOLE_SIZE_AUTO_INC" по всем исходникам коребута
или какой то отдельной папке. Для этого можно использовать или Total Commander (если сидишь на винде) -
- или в линуксовом терминале командой типа
Code:
find ./coreboot/ -type f -print0 | xargs -0 grep -n "HW_MEM_HOLE_SIZEK"

Напечатает список файлов и строчку на которой смотреть, а дальше их открываешь прям из консоли в тестовом редакторе, например
Code:
gedit ./mainboard/lenovo/g505s/dsdt.asl &
главное не забывать на конце команды значок & чтобы открытие текстового редактора не заблокировало терминал и в том же окне можно было вызвать ещё команд
Code:
gedit ./src/northbridge/amd/agesa/family15rl/northbridge.c &
а иногда достаточно просто погуглить по названию этого конфига - часто его обсуждали в списке рассылки coreboot и там есть его описание

по-моему там просто отъедается небольшой кусок оперативки (2 МБ) для использования PCI устройствами (не как видеопамять и т.д. а просто для работоспособности интерфейсов PCI) . можно попробовать увеличить до 4 МБ если есть ощущение что этого не хватает


Top
   
PostPosted: Mon Jun 26, 2017 5:46 pm 
Offline

Joined: Fri Dec 30, 2016 6:29 pm
Posts: 116
Pathoswithin wrote:
Какая теория? Почему не канает?
60 FPS при загрузке на 25% это десятикратный запас. "Маловато будет! Маловато!"
О каких танках идёт речь? World of Tanks? Так там рекомендуется 2 ГБ видеопамяти.

Какой нафиг запас?! Это для многопоточных программ запас! А танки потребляют одно ядро, на i7 второго поколения нагружает лишь на 10 процентов и никаких фризов нет (т.е. ядро загружено меньше, чем на половину). И это древний i7.
Речь идет о танках онлайн.
В дарке, например, похожая ситуация, но только дарк нагружает переодически два ядра, а к видеокарте дарк вообще не требователен.


Top
   
PostPosted: Mon Jun 26, 2017 5:55 pm 
Offline

Joined: Tue Apr 12, 2011 11:19 pm
Posts: 1151
olodar wrote:
Какой нафиг запас?! Это для многопоточных программ запас! А танки потребляют одно ядро, на i7 второго поколения нагружает лишь на 10 процентов и никаких фризов нет (т.е. ядро загружено меньше, чем на половину). И это древний i7.
Речь идет о танках онлайн.


Так это браузерные танки? Тогда очевидно, что загрузка зависит от использования процессора браузером, не?

_________________
я лишь учусь


Top
   
PostPosted: Mon Jun 26, 2017 6:13 pm 
Offline

Joined: Mon Dec 05, 2016 11:04 am
Posts: 146
.
Новости c этих выходных:

1) Полностью распакован официальный биос InsydeH20 этого ноутбука
при помощи немного устаревших инструментов от Insyde Software Japan:
https://github.com/s-sosnitskiy80/Insider_BIOS_Tools
https://www.bios-mods.com/forum/Thread-Insider-BIOS-Tools-First-Release

Зачем это было нужно:

раньше для встроенной видеокарты HD 8650G в A10-5750M у нас был только тот VGABIOS который мы извлекали через линуксовое ядро при помощи этого метода - https://www.coreboot.org/VGA_support#Retrieval_via_Linux_kernel . Разумеется мы извлекали его уже после того как комп включился, а в процессе включения компа VGABIOS модифицируется: меняются значения встроенных переменных и т.д. - То есть этот наш VGABIOS изначально был не совсем чистый и когда мы грузимся с "нечистым" VGABIOS-ом с которым уже раз грузились и у которого уже по умолчанию изменены какие-то переменные - это чисто в теории может привести к дополнительным глюкам

Теперь у меня есть "чистый" VGABIOS для встроенной видеокарты HD 8650G, а также два тоже чистых VGABIOS-а для двух встроенных дискретных видеокарт которые встречаются в разных версиях этого ноута Lenovo G505S (HD 8570M и R5 M230) - их вообще не получалось извлечь через линуксовое ядро, но благодаря этим инструментам от InsydeH20 удалось наконец-то добыть эти VGABIOS-ы

Помимо этого ещё есть куча модулей которые могут быть чем-то интересны. Всё это я выложу куда-нибудь в скором времени

2) Пересобран coreboot с многими полезными патчами, расширяющими его функционал, а также с тремя "чистыми" VGABIOS-ами

Конфиги, патчи и описания что они делают и как их применять, а также билды - тоже выложу, как решим проблемы (про них ниже)

*) Мини-проблема: при попытке загрузки дополнения "FILO" (это такой мини-бутлоадер альтернативный GRUB-у) оно виснет на выполнении одной ассемблерной вставки. Пока что виню компилятор - полгода назад был gcc-5.2.0 и нормально запускалось, а сейчас gcc-6.3.0 и зависон при запуске (при этом исходники FILO почти не менялись с того времени). Скорее всего новый GCC криво компилит эту ассемблерную вставку. Пока что мои билды будут без FILO, может быть я тут один им пытался пользоваться, но все равно жаль когда на одно интересное дополнение меньше

3) Тщательно протестированы все видеокарты на билдах коребута с тремя "чистыми" VGABIOS-ами

*) ПРОБЛЕМА - не работает подсветка экрана ноутбука! Изображение есть, а подсветка не работает и не включается. На кнопку F9 которая раньше включала/выключала подсветку - тоже теперь не реагирует! Возможно "нечистый" VGABIOS всё же в каком-то плане выгодно отличается по отношению к "чистому" VGABIOS-у... Собираюсь посравнивать их в HEX-редакторе и дизассемблировать при помощи какого-нибудь AtomDis, чтобы может быть получить что-то среднее между "чистым" и "нечистым" - чтоб и подсветка экрана работала и остальные переменные в норме были

*) Зато хорошо идёт изображение на VGA порт! Раньше у меня на внешний монитор меню SeaBIOS не показывалось, на нём появлялось изображение только когда операционка начинала грузиться, а теперь всё нормально. Пока что неясно чем вызвано это улучшение - то ли тем что VGABIOS от встроенной видеокарты "чистый" теперь, то ли тем что добавил два новых VGABIOS-а

*) Пробовал запускать внешнюю дискретную видеокарту HD 6670 (которая от стационарного компа), подключал через райзер в порт ноута MiniPCI-e, разумеется запитанную от ATX блока питания - у которого закорочены два контакта через перемычку, чтоб питание шло

Внешняя дискретная видеокарта вроде бы была идеальная для такого тестирования - она относится к поколению до GCN и её драйвера давным-давно стабильные. Но странное дело - когда пытаюсь запуститься вместе с подключенной внешней видеокартой, зачастую пропадает всё изображение вообще - и на экране ноутбука (который хоть и без подсветки но видно что на него картинка не идёт), и на внешний монитор изображение идёт далеко не с любым линуксом а только с определёнными дистрибутивами/ядрами. Причём те дистрибутивы которым всё же удаётся хоть как то выводить изображение на внешний монитор при подключенной внешней видеокарте - они не могут показать рабочий стол и сваливаются в голую консоль

Когда мне удавалось получить эту голую консоль, в ней я видел через lspci что внешняя видеокарта обнаруживается - и это самое главное, остальные проблемы программного характера которые удастся решить рано или поздно. Может быть у винды таких проблем нету и в винде у тебя получится

Кстати, ради интереса проверял с порта самой внешней видеокарты - с неё тоже изображение не идёт

Если у меня запустился бы линуксовый рабочий стол я бы попробовал запустить какую-нибудь линуксовую игрушку с параметром DRI_PRIME=1 и если FPS заметно подрос значит дискретная видеокарта работает хорошо

Может быть нужно будет как-то добыть VGABIOS этой внешней дискретной видеокарты и тоже встроить его в коребут в дополнение к тем трём, вдруг это что-то изменит

Странное дело - на очень старом ноуте через тот же переходник, нормально включается с внешней видеокартой, рабочие столы - всё нормально работает, и даже с порта внешней видеокарты идёт изображение! Но это в линуксе, а в винде оно не работает нифига

Вывод: эта связка с внешней дискретной видеокартой через райзер какая то нестандартная и где-то она работает а где-то нет, всё зависит от железа софта и кучи мелких неочевидных вещей. В любом случае не жалею что приобрёл райзер даже если вдруг его не удастся запустить с коребутным ноутом - где то да и сгодится в хозяйстве, в крайнем случае этот переходник очень востребован и перепродать по себестоимости будет легко если понадобится


Last edited by floppy121 on Thu May 23, 2019 10:11 am, edited 2 times in total.

Top
   
PostPosted: Mon Jun 26, 2017 8:16 pm 
Offline
Mentor/Kernel Developer
User avatar

Joined: Thu Mar 26, 2015 5:16 pm
Posts: 1264
olodar
А, так это игра на flash? И оно ещё и может нормально работать? :lol:
Тогда 60 FPS это вообще мощно.


Top
   
PostPosted: Tue Jun 27, 2017 5:14 pm 
Offline

Joined: Fri Dec 30, 2016 6:29 pm
Posts: 116
punk_joker wrote:
olodar wrote:
Какой нафиг запас?! Это для многопоточных программ запас! А танки потребляют одно ядро, на i7 второго поколения нагружает лишь на 10 процентов и никаких фризов нет (т.е. ядро загружено меньше, чем на половину). И это древний i7.
Речь идет о танках онлайн.


Так это браузерные танки? Тогда очевидно, что загрузка зависит от использования процессора браузером, не?

Нет, флеш плеер работает независимо от браузера.
Pathoswithin wrote:
olodar
А, так это игра на flash? И оно ещё и может нормально работать? :lol:
Тогда 60 FPS это вообще мощно.

Ха. Сам рукожопый гугл громче всех кукарекал о том, чтоб закопать флеш, но при этом выпилили из хрома NPAPI флеш, написали свой PPAPI говнофлеш, который лагает и дает в два раза меньше производительности в играх - браво!
floppy221, так ты пробовал вообще не включать биосы для встроенных видеокарт и попробовать запустить систему как стационарник? Кстати, раз биос распотрошили, то можно как-то сделать в корбуте поддержку turbocore'a?


Top
   
PostPosted: Tue Jun 27, 2017 5:19 pm 
Offline

Joined: Mon Dec 05, 2016 11:04 am
Posts: 146
Есть замечательная утилита AtomDis - https://cgit.freedesktop.org/~mhopf/AtomDis/
С её помощью можно дизассемблировать AMD-шные видеобиосы - "ATOMBIOS"

Внизу прилагаю дизассемблеры ATOMBIOS-а встроенной видеокарты (образы выложу попозже).
Сравнивал три видеобиоса:
1) Чистый VBIOS - извлекли из образа оф. биоса
2) Грязный VBIOS - оф. биос загрузился и потом извлекли
3) Очень грязный VBIOS - оф.биос загрузился, извлекли VBIOS и запихнули в коребут, ещё раз загрузились и опять извлекли

Разница между грязным и очень грязным - небольшая, 3 байта всего. Начиная со строки 4804:

data_table 0000ac5e #0b (VRAM_UsageByFirmware): <---olodar'у будет интересно
, он хотел чтобы встроенная видеокарта меньше оперативки кушала, где-то в ATOMBIOS это меняется


Size 000c
Format Rev. 01
Param Rev. 00
Content Rev. 05
дальше отличие.
Грязный:
00000000: e0ff 0b00 2000 2000
...
0004: ULONG ulStartAddrUsedByFirmware = 0x000bffe0 (786400)
Очень грязный:
00000000: e0ff 0700 2000 2000
...
0004: ULONG ulStartAddrUsedByFirmware = 0x0007ffe0 (524256)

===

Различий между "чистым" и "грязным" намного больше! Особенно интересны различия в этих таблицах и полях: LVDS_Info, sLCDTiming, ucLVDS_Misc, ucLCDPanel_SpecialHandlingCap, PowerPlayInfo, usSpreadSpectrumPercentage

Наверное при включении компа официальный BIOS редактирует VBIOS, внося туда нужные параметры для нормальной работы экрана, который - заметим - подключен через LVDS порт! Может поэтому подсветка и не работает, что для её работы нужны дополнительные телодвижения


Attachments:
File comment: Очень грязный VBIOS (оф.биос загрузился, извлекли VBIOS и запихнули в коребут, ещё раз загрузились и опять извлекли), дизассм AtomDis
dirty_very_F.txt [315.26 KiB]
Downloaded 69 times
File comment: Грязный VBIOS (оф. биос загрузился и потом извлекли), дизассм AtomDis
dirty_F.txt [315.25 KiB]
Downloaded 74 times
File comment: Чистый VBIOS (извлекли из образа оф. биоса), дизассм AtomDis
clean_F.txt [315.51 KiB]
Downloaded 68 times


Last edited by floppy121 on Tue Jun 27, 2017 5:29 pm, edited 2 times in total.
Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 255 posts ]  Go to page Previous 19 10 11 12 1317 Next

All times are UTC+03:00


Who is online

Users browsing this forum: No registered users and 2 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Limited