LINUX.ORG.RU
ФорумTalks

[Яблоко головного мозга] Графика в установщике макоси быстрее компиза


0

0

Я тут давече от нечего делать скачал образ макоси и решил хоть краем глаза посмотреть, что же это такое (у меня AMD+SATA, так что шансов поставить это чудо почти нет).
Так вот, загрузился этот установщик, появились окошки, как на скриншотах, тени отбрасывают. И начал я их двигать - а они, сволочи, двигаются плавно-плавно. Менюшки появляются тоже быстро, всякие диалоги сверху выезжают. Короче на глаз это безобразие оказалось быстрее того, чем я пользуюсь каждый день (то бишь компиза). Драйвер для моей карты оно явно не могло поднять уже на этапе установки. Тогда у меня напрашивается закономерный вопрос: WTF?

Ответ на: комментарий от iBliss

>> Весь вопрос в том, насколько медленнее. И таких расчетов просто нет.

> Намного.

Сколько это в процентах и как это замерено?

> Графика в ядре - наружу торрчат только примитивы. Никаких операций с графикой в юзерспейсе.

Эта фраза ровным счетом ничего не значит :)

tailgunner ★★★★★
()
Ответ на: комментарий от tailgunner

> Весь вопрос в том, насколько медленнее.

На глаз, на глаз медленнее. Когда скролл пэдээф виден невооруженным глазом - это цензоред_для_модераторов. И дело не в скорости цпу/граф. чипа, а в синхронизации в первую очередь. Именно там основные потери на иксах. В _нормальных_ системах видеоперации проходят во многом подобно транзакциям в бд - полностью обработка операции (вывод окна на экран) и потом переключение видеостраниц (если 2д). На иксах такого тупо не сделать, а кэширование в компизе до всинка спасает лишь частично.

> И таких расчетов просто нет.

И быть не может - функции от слишком большого количества переменных.

LamerOk ★★★★★
()
Ответ на: комментарий от tailgunner

Ты всегда так общаешься с людьми или у тебя сегодня настроение не задалось? Тебе лично я как бы ничего доказывать не собирался, когда создавал этот топик. Тут вот с людьми поговорили и обсудили данный факт.

mamay_cozak
() автор топика
Ответ на: комментарий от Cancellor

> Кексты работают в юзерспейсе? Или я что-то путаю?

Нет кексты работают в контексте ядра, с юзерспейсом они общаются через MACH RPC

iBliss
()
Ответ на: комментарий от mamay_cozak

> Ты всегда так общаешься с людьми или у тебя сегодня настроение не задалось?

Всегда. Оно у меня по жизни не задалось ;)

> Тебе лично я как бы ничего доказывать не собирался

Я и не требовал у тебя доказательств. Хотел уточнить непонятное мне место в твоем постинге. И для протокола: нет, ты не обязан ничего уточнять.

tailgunner ★★★★★
()

ну и что что графика работает быстре.... макось оперативки кушает большими ложками и не давится.

mono ★★★★★
()
Ответ на: комментарий от tailgunner

Ну слава богу. А то я даже как-то растерялся от обилия уточняющих вопросов и строгости их подачи.

mamay_cozak
() автор топика
Ответ на: комментарий от tailgunner

>> И кстати, ответа так и не получил.

ви таки ..., или притворяетесь? :) На вопрос "Почему? У тебя такая редкая карта?" тебе вроде уже ответили - потому что используется VESA... либо школота нынче больно звездатая пошла, либо у звездатых день throttl'а мысленных процессов.

Andru ★★★★
()
Ответ на: комментарий от tailgunner

> Топикстартер не упомянул, что у него там написано VESA.

Оно везде vesa. Что-то вроде варианта safe-mode.

> Весь вопрос в том, насколько медленнее. И таких расчетов просто нет.

Это можно просто заснять на видео. Теоретически я это так себе вижу. Отрисовать какую нить сложную хренотень, отразить ее раз десять. И прогнать на одном и том же компе. Под линем и под макосью.

Идеально бы подошел интел-мак. Так чтоб и линь на нем родной и макось не хакинтош.

iBliss
()
Ответ на: комментарий от LamerOk

>> Весь вопрос в том, насколько медленнее.

> На глаз, на глаз медленнее.

Это ясно из слов топикстартера.

> Когда скролл пэдээф виден невооруженным глазом - это цензоред_для_модераторов

У меня он не виден.

> На иксах такого тупо не сделать

Ерунда. Может, это и не сделано (не знаю), но про принципиальную невозможность - не надо. Вот Сделать Aqua прозрачной по сети - это невозможно, да (не изобретя иксы повторно).

>> И таких расчетов просто нет.

> И быть не может

Понятно. Остается голая органолептика.

tailgunner ★★★★★
()
Ответ на: комментарий от Andru

> либо школота нынче больно звездатая пошла, либо у звездатых день throttl'а мысленных процессов.

Неееее, просто у стрелка аллергия на неопределенные формулировки. ЖD

Иногда даже начинает казаться что "дох#я" у него не переменная а константа, которая даже в чем-то измеряется. %)

iBliss
()
Ответ на: комментарий от mamay_cozak

>> 2Гб ему бы хватило, чтобы жить без свопа?

У меня 10.4.8 с выделенным 512Мб в QEMU работает, винтом не шуршит :)

Andru ★★★★
()
Ответ на: комментарий от mono

> макось оперативки кушает большими ложками и не давится.

Субъективно, у меня макось работает (а не только рисует окошки) быстрее, чем убунта, да и оперативы жрёт меньше. А если и жрёт, то как-то умудряется так ловко работать со свопом, что диву даёшься.

Cancellor ★★★★☆
()
Ответ на: комментарий от mamay_cozak

> 2Гб ему бы хватило, чтобы жить без свопа?

Окстись - гектар за-глаза. Если конечно не собираешься возится с фотографиями 6x9 метров (не мегабайт).

iBliss
()
Ответ на: комментарий от iBliss

>> Неееее, просто у стрелка аллергия на неопределенные формулировки. ЖD 

каждый сходит сума по своему... ладно, тогда притензий нет :)

Andru ★★★★
()
Ответ на: комментарий от Andru

Ну вот. При нынешних ценах на ОП, это даже можно не обсуждать.

mamay_cozak
() автор топика
Ответ на: комментарий от Andru

> На вопрос "Почему? У тебя такая редкая карта?" тебе вроде уже ответили - потому что используется VESA

Мне ответили все, кроме того, у кого я спрашивал.

> либо школота нынче больно звездатая пошла, либо у звездатых день throttl'а мысленных процессов.

Либо кое-кто быстрых разумом студней слишком быстр разумом.

tailgunner ★★★★★
()
Ответ на: комментарий от tailgunner

> И даже познавательно :)

Ага! Я вот только сейчас задумался, а ведь по-сути дела в чем-то мечта таненнбаума получилась. Правда к реализации отнеслись без фанатизма и от второго места по дырявости идеология микроядра не спасла.

iBliss
()
Ответ на: комментарий от iBliss

Блин, мне всегда хотелось чего-то такого же простого и логичного как FreeBSD, красивого и продуманного как MacOS, во всём остальном - как Linux, только на микроядре. Неужели у меня одного такие представления об "идеальной системе"?

Cancellor ★★★★☆
()
Ответ на: комментарий от iBliss

> Я вот только сейчас задумался, а ведь по-сути дела в чем-то мечта таненнбаума получилась.

Ненене. к мечте Танненбаума гораздо ближе Линукс с его GEM, FUSE и UIO. Почитай о Minix3.

> от второго места по дырявости идеология микроядра не спасла.

Ну тебе-то не пристало вестись на рекламу. То, что называется "микроядром" в OS X, является микроядром только в очень узком смысле - историческом.

tailgunner ★★★★★
()
Ответ на: комментарий от Cancellor

> Блин, мне всегда хотелось чего-то такого же простого и логичного как FreeBSD, красивого и продуманного как MacOS, во всём остальном - как Linux

Ну макось и есть потомок фрибсд поверх микроядра. Ну а ./configure && make && make install легко превращают его в слаку %)

iBliss
()
Ответ на: комментарий от tailgunner

> То, что называется "микроядром" в OS X, является микроядром только в очень узком смысле - историческом.

Ну это вроде как "Видишь суслика? Вот и я не вижу. А он есть!" ЖDDDDD

iBliss
()
Ответ на: комментарий от tailgunner

> У меня он не виден.

Я привел неудачный пример - с пэдээфом может быть еще идиотизм реализации, рендерящий только viewport и пересчитывающий его при каждом событии скроллинга.

> про принципиальную невозможность - не надо

Для тебя сюрприз, что даже "декорации" окон - отдельные иксовые окна?

LamerOk ★★★★★
()
Ответ на: комментарий от LamerOk

>> про принципиальную невозможность - не надо

> Для тебя сюрприз, что даже "декорации" окон - отдельные иксовые окна?

Нет. Но для меня будет сюрпризом, если в Aqua они таковыми не являются.

tailgunner ★★★★★
()
Ответ на: комментарий от Andru

> У меня 10.4.8 с выделенным 512Мб в QEMU работает, винтом не шуршит :)

А можно подробней? Как оно там себя чувствует и где можно почитать о таком извращении?

mamay_cozak
() автор топика

> WTF?

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

Spectr ★★★
()
Ответ на: комментарий от LamerOk

> Это глупая шутка, надеюсь?

Нет. Не все программируют оконные приложения для Мака, ты удивлен?

> http://en.wikipedia.org/wiki/Quartz_Compositor

Не нашел там ничего о декорациях окон. "In managing individual windows, Quartz Compositor accepts a bitmap image of the window's contents from its renderer, along with its position. The choice of the renderer is up to the individual application, although most use Quartz 2D". Где здесь сказано, что декорации являются или не являются окнами?

tailgunner ★★★★★
()
Ответ на: комментарий от tailgunner

Ты пропустил первое предложение:

> Quartz Compositor is the _SOLE_ facilitator for the placement of rendered bitmaps into the memory of the graphics card.

LamerOk ★★★★★
()
Ответ на: комментарий от tailgunner

Кстати, если окно можно таскать не только за заголовок (в макоси это сплошь и рядом), то как логически разделить декорации и собственно окно?

Cancellor ★★★★☆
()
Ответ на: комментарий от LamerOk

> Ты пропустил первое предложение:

Я ничего не пропустил.

>> Quartz Compositor is the _SOLE_ facilitator for the placement of rendered bitmaps into the memory of the graphics card.

И где здесь хоть слово о об окнах?

tailgunner ★★★★★
()
Ответ на: комментарий от Cancellor

> если окно можно таскать не только за заголовок (в макоси это сплошь и рядом), то как логически разделить декорации и собственно окно?

Я могу придумать как минимум один способ, но причем тут декорации?

"Я не могу ответить на твой вопрос в терминах Зодиака, потому что Зодиак не имеет к этому никакого отношения" (c).

tailgunner ★★★★★
()
Ответ на: комментарий от tailgunner

А оно должно здесь быть?

Еще раз медленно и печально:

В нормальных системах окно отрисовывает свое содержимое в буфер. По возможности пользуется системной же библиотекой для этого, которое все опеации проводит в видеопамяти видеочипом. Вывод результата происходит как атомарная операция.

В случае с иксами, мы можем при перемещнии окна теоретически без проблем получить ситуацию, когда передвинуто одно окно - клиентская часть, а другое окно - заголовок еще в процессе. Синхронизация этих процессов возложена на WM, который может "уйти на учет" в любой момент и по любому поводу. Даже гарантированного полного отображения клиентской части в момент вывода на экран может не быть. Архитектурно.

LamerOk ★★★★★
()
Ответ на: комментарий от iBliss

Это еще дальше от темы. Давай ка лучше аналоги получения контекста окна и WM_UPDATE, а не смену мониторов и разрешения экрана.

LamerOk ★★★★★
()
Ответ на: комментарий от LamerOk

> А оно должно здесь быть?

После твоего "Глупая шутка, надеюсь?" - да, должно. Напомню - я спросил, являются ли в Aqua декорации окна отдельными окнами, ты дал ссылку на статью о Quartz, в которой этот вопрос вообще не раскрыт.

> В нормальных системах окно отрисовывает свое содержимое в буфер

s/нормальных системах/OS X/

> В случае с иксами, мы можем при перемещнии окна теоретически без проблем получить ситуацию, когда передвинуто одно окно - клиентская часть, а другое окно - заголовок еще в процессе.

Да. Еще такую ситуацию мы можем получить при распаралеленой программе - одна нить рисует клиентскую часть, другая - заголовок. И что?

> Синхронизация этих процессов возложена на WM, который может "уйти на учет" в любой момент и по любому поводу

А может и не уйти.

Я вообще не понимаю, к чему ты ведешь - к тому, что на Линуксе эффекты органолептически тормозят из-за того, что WM не успевает отрисовывать декорации? Или к тому, что иксы архитектурно неспособны сделать битмап из всего toplevel window, вместе с его декорациями?

tailgunner ★★★★★
()
Ответ на: комментарий от LamerOk

> Это еще дальше от темы. Давай ка лучше аналоги получения контекста окна и WM_UPDATE, а не смену мониторов и разрешения экрана.

quartz-wm выполняет _ровно_ ту-же функцию. И у него точно также конечный результат - композитное совмещение собственных декораций и цг-шки приложения.

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

iBliss
()

Я тебя не понял друг, в каком месте то компиз тормозит? Он летает! Или ты перепутал с Аеро =)

ent4jes
()
Ответ на: комментарий от tailgunner

> После твоего "Глупая шутка, надеюсь?" - да, должно

Признаю, быстрым гугленьем я не в состоянии найти реализацию декораций в маке. Но мужская интуиция подсказывает мне, что вряд ли там имеется структруа WindowRef или аналогичная ей (http://developer.apple.com/documentation/GraphicsImaging/Conceptual/drawingwi...)

> s/нормальных системах/OS X/

s/нормальных системах/OS X, Win32, BeOS, OS/2, etc, etc, etc.../ тогда уж.

> Я вообще не понимаю, к чему ты ведешь

Я уже тысячу раз на это тыкал пальцем: xlib не является диспетчером для передачи функций видеодрайверу, а XWindow и XImage могут быть расположены бох знает где, а не в видеопамяти.

LamerOk ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.