Russian Qt Forum
Сентябрь 21, 2024, 23:13 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Быстродействие QtScript  (Прочитано 2841 раз)
gigabyte
Гость
« : Март 19, 2010, 00:28 »

Вопрос в следующем:
Есть 2 варанта доступа к таблице в Firebird:
1. Plugin с использованием TableView, QSqlQuery и QSqlQueyModel - от нажатия меню до появления данных.
2. Скрипт написанный с использованием объектов созданных QtScriptGenerator:
ViewGoods.js:
Код:
importExtension('dbworks');

 var viewgoods = global.loadUI("modules/viewgoods.ui","ViewGoods",true);
 try {
viewgoods.show();
var tableModel = new QSqlQueryModel(viewgoods)
var query= dbworks.execSql("select * from viewgoods rows 10",true)
tableModel.setQuery(query);
viewgoods.tableView.setModel(tableModel);            
 } catch(e) { print(e) }

dbworks.js:
Код:
dbworks.execSql = function(query,ldb) {
var db = QSqlDatabase.database('qt_sql_default_connection');
var q = db.exec(query);
if(ldb) {
  print(q);
  return q;
} else
  return q;
}
1-й вариант запускаэтся около 4-х секунд (от нажатия кнопки меню)
2-й вариант - 8-10секунд
в 1-м варианте - при перемещении по таблице  само перебежение меньше секунды (момент от нажатия кнопки в низ и до перемещения выделения)
2-й вариант 1-2 секунды!!!!!!!!

П.С. Все необходимые расширения грузятся через importExtension ДО появления главной формы и уже находятся в памяти до вызова пунктов меню.
П.П.С. После многократного нажатия на пункт меню (для проверки кеширования данных) результат для плагина - 2-3сек., для скрипта  - без изменений.

Ну и собсно сам вопрос. Как это (скрипт) ускорить? до приемлемых временных интервалов?
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.042 секунд. Запросов: 21.