[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: stderr



Покотиленко Костик -> debian-russian@lists.debian.org  @ Fri, 21 Nov 2008 22:23:11 +0200:

 >> > Вы наверняка знаете как появился Gtk+ Люди писали The GIMP и им по целому
 >> > ряду причин потребовалось сделать с Motif нечто, что его коммерческая
 >> > лицензия не позволяла. И они написали свой тулкит (вдвоем). Если бы они
 >> 
 >> Ну, к авторам The Gimp и другие претезнии есть. Например, то, что в
 >> Script-Fu garbage-collection не собирает объекты IMAGE, CHANNEL и тому
 >> подобные. Их приходится уничтожать явно.
 >> 
 >> То есть написать расширение к Scheme для обработки изображений, так
 >> чтобы оно работало в соответствии с духом Scheme они не сумели.
 >> 
 >> Думаю, что и с GUI у них было то же самое - не сумели understand, 
 >> и стали reinvent. Poorly.
 >> 
 >> Кстати, большая часть тех вкусностей, которая отличала Gtk времен
 >> gimp 0.9 от современных ему тулкитов потом куда-то делась, задавленная
 >> тяжестью Gnome HIG.

 ПК> Сам GTK инструмент хороший, не без претензий конечно, НО тяжесть и
 ПК> ресурсоёмкость програм - это следствие малого количества времени
 ПК> затраченного разработчиками программ на ОПТИМИЗАЦИЮ.

 ПК> К примеру, была задача организовать TreeView с ~4 миллиона строк и ~30
 ПК> колонок, нужен был поиск. База в dbf ~3Гб. Представляю сколько памяти бы
 ПК> зажрала прога и как бы она тупила если всё держать в TreeStore с
 ПК> прокруткой и поиском. В итоге сделал поиск по индексу, а часть
 ПК> результата помещался в TreeView, который был размером количества строк,
 ПК> которое влазит на экран, прокрутка к TreeView не привязана, и при
 ПК> прокрутке, сдвинутый список заливался в TreeStore.

 ПК> В результате прога памяти почти не занимала, прокрутка была с задержкой
 ПК> в 100мс, но даже на ~4млн записей не тупила ни разу.

Я тоже у себя в программе к такому подходу пришел.  Но я к нему пришел
от кривизны, глючности и недостаточной функциональности TreeView.
Т.е. разделение на model, view и controller у них вменяемое, но ни
вменяемого готового view, ни вменяемого готового model нет.

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

-- 
Artem Chuprina
RFC2822: <ran{}ran.pp.ru> Jabber: ran@jabber.ran.pp.ru

When C++ is your hammer, everything looks like a thumb
 -- Latest seen from Steven M. Haflich, in c.l.l


Reply to: