Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Выбор языка программирования написания GUI для доступа к БД Postgresql. / 3 сообщений из 3, страница 1 из 1
27.07.2014, 11:10:41
    #38706724
happyman_fk
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выбор языка программирования написания GUI для доступа к БД Postgresql.
Начинал я с Lazarus. Выбрал его, потому что бесплатный и потому что учил Delphi в университете.
Разработка шла быстро. Уже всё сделано.
В базе данных лежат картинки, организован их поиск и показ на форме.
Не нравится то, что работает всё медленно.

Решил попробовать что-то другое.
Пока что выбор между Python и С++, но эти языки я знаю очень поверхностно.

1. Python.
Научился подключаться к БД (используя psycopg2), закачивать картинки в базу и сохранять из базы. Но это всё скажем так в виде консольного приложения. То есть всё в одном файле *.py.
Установил PyQt GPL for Python, но так и не получилось сделать работающее приложение.

2. За последние два дня: установил Microsoft Visual Studio Express 2008.
Получилось только настроить доступ к БД в консольном приложении. (настроил подключение библиотек, работает примитивный запрос). Пробовал Windows Forms Application, но там не получилось.

P.S. Знаю на среднем уровне ActionScript, PHP. Т.е. опыт освоения новых языков программирования имеется.
...
Рейтинг: 0 / 0
27.07.2014, 16:32:34
    #38706781
grgdvo
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выбор языка программирования написания GUI для доступа к БД Postgresql.
happyman_fk,

Не пробовали для начала разобраться, что именно работает медленно?
...
Рейтинг: 0 / 0
27.07.2014, 18:05:59
    #38706810
happyman_fk
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выбор языка программирования написания GUI для доступа к БД Postgresql.
grgdvo,
Пробовал и даже в ветке Delphi поднимал тему: http://www.sql.ru/forum/1104967-2/bystroe-otobrazhenie-bmp-tormozit-loadfromstream-stream

SQLQuery1.Open; // ---> 31-1200 ms (От двух до ста картинок)
MyBitmap.LoadFromStream(JpgStream, 1106062); // ---> 1200-1300 ms
BitBlt(Image1.Canvas.Handle, 0, 0, 2500, 3500, MyBitmap.Canvas.Handle, 0, 0, $00CC0020); // ---> 2500-2700 ms

Пробовал картинки сжимать zlib - не получилось. Пробовал конвертировать рисунки в png - получилось, но не помогло.
Пробовал реализовать идею fd00ch надо жать сырые биты ZLib'ом и распаковывать их на клиенте прямиком в область памяти, выделенную под DIB-секцию, которую отображает TImage, но тоже не хватило знаний и терпения.

Сегодня провёл эксперимент.
Добавил вручную в image1 рисунок в Лазарусе. Дальше в свойствах image1 сделал visible:= false. Потом в процедуре нажатия кнопки: image1.visible:= true. Аналогичное проделал в программе Microsoft Visual С++ 2008, проект типа Windows Forms Application.
В программе на С++ рисунок появился почти мгновенно, в Лазарусе - секунды две.
В Питоне получилось сделать поиск рисунка из базы и отображать. Тоже, кажется, что появляется мгновенно.
Вот кусок кода в Питоне:
Код: python
1.
2.
3.
4.
5.
 
        image = QtGui.QImage()
        image.loadFromData(data)
        lbl = QtGui.QLabel(self)
        lbl.setPixmap(QtGui.QPixmap(image))
...
Рейтинг: 0 / 0
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Выбор языка программирования написания GUI для доступа к БД Postgresql. / 3 сообщений из 3, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]