Я написал форму для входа пользователя. Я использовал код, чтобы провести их через форму. Например, после входа в ячейку A4 он переходит к D4, после D4 он переходит к A5 и т. д. Несмотря на то, что время выполнения (как показано в расшифровке выполнения) невелико (в большинстве случаев около 0,1 секунды), лист Google время отклика обычно составляет около 1 секунды. Он чувствует себя довольно медленным. Есть ли способ улучшить реакцию листа Google на это действие?
Улучшить скорость отклика Скрипт листа Google
Ответы (2)
Помимо времени, необходимого для выполнения метода, вы должны учитывать «время транспортировки» (связь между серверами Google и пользовательским устройством), время пересчета электронной таблицы и время обновления пользовательского интерфейса.
Чтобы повысить шансы пользователей формы получить лучший опыт,
- избегать или сокращать использование формул
- избегайте или сокращайте использование изменчивых функций, таких как NOW()
- избегайте или сокращайте использование открытых ссылок, таких как A:A
- уменьшить длину цепочек расчетных зависимостей
- и т.п.
Также попросите пользователей формы
- удалить все расширения веб-браузера
- закройте все остальные вкладки веб-браузера
- закройте все остальные локальные приложения
- использовать очень быстрое интернет-соединение
- и т.п.
дальнейшее чтение
- Профилирование производительности скрипта приложения Google
- Измерение времени прохождения и выполнения дополнений
person
Rubén
schedule
27.05.2019
Есть ли способ измерить время транспортировки, время пересчета электронной таблицы и время обновления пользовательского интерфейса?
- person Tam Le; 27.05.2019
Брюс Макферсон (ramblings.mcpher.com) опубликовал на своем сайте сообщение с кодом об этом (возможно, в этой статье нет не охватить все, но это действительно отличное начало).
- person Rubén; 27.05.2019
Отличный ресурс, жаль, что я знал это намного раньше. Однако не удалось найти часть, на которую вы указываете.
- person Tam Le; 27.05.2019
Использование Apps Script для перемещения пользователя по электронной таблице, вероятно, не то, что вам будет удобно.
Вместо этого ознакомьтесь с руководством по диалоговым окнам и боковым панелям и подумайте, стоит ли создавать форму в HTML/Javascript было бы более подходящим решением (при условии, что простое создание формы Google не является).
person
sinaraheneba
schedule
27.05.2019
Я создаю форму, чтобы пользователь вводил данные с изображения. После того, как они закончили с изображением, форма очищается, нужно обработать следующее изображение. Возможно ли это с помощью формы Google?
- person Tam Le; 27.05.2019
Чтобы убедиться, что я понимаю, что вы хотите: изображение загружается на страницу, пользователь вводит некоторые данные из содержимого этого изображения, отправляет свою запись, форма очищается, загружается новое изображение, и пользователь повторяет этот процесс. ? Я не очень много работал с Google Forms, чтобы узнать, возможно ли это с их платформой, но это абсолютно возможно с помощью боковой панели (если вы хотите, чтобы они использовали ее, находясь на лист) или с помощью скрипта приложений Google, развернутого как веб-приложение.
- person sinaraheneba; 27.05.2019
например, простая HTML-страница с вашим изображением и формой для отправки. Также может предварительно получить следующее изображение, чтобы оно было сразу после отправки, без необходимости ждать ответа от сервера.
- person sinaraheneba; 27.05.2019
Предварительная выборка, о которой вы говорите, находится в скрипте/листе Google или HTML-странице?
- person Tam Le; 27.05.2019
потенциально оба, в зависимости от того, как вы его создаете и откуда вы получаете эти образы (например, Drive через DriveApp или какой-либо другой сервис). Например, загрузка двух изображений при загрузке страницы, отображение первого. Когда первое отправлено, клиент переключается на второе изображение и начинает собирать третье, или, как вы считаете, это работает лучше всего (загрузка большего или меньшего количества изображений заранее, работа в пакетном режиме и т. д.).
- person sinaraheneba; 27.05.2019
Я получаю изображения от
.insertImage('a_Google_drive_link',1,1)
. Как загрузить 2 изображения сразу?
- person Tam Le; 27.05.2019
Опять же, скрипт Google Apps запускается в облаке, а не на вашем клиенте. Пытаться сделать так, чтобы ваш клиент работал более плавно, изменяя код скрипта приложения, все равно, что пытаться улучшить воздушное движение в Хитроу, делая более быстрые самолеты. Я говорю о создании вашей формы в HTML, а не об использовании электронной таблицы.
- person sinaraheneba; 27.05.2019
потенциально, оба, в зависимости от того, как вы его создаете и откуда вы получаете эти образы (например, Drive через DriveApp или какой-либо другой сервис), я спросил об этом из-за этих слов.
- person Tam Le; 27.05.2019
да. Если вы загружаете изображения из другого места, вам может понадобиться написать этот код только на стороне клиента. Если вы извлекаете изображения с диска, вам нужно будет написать код скрипта приложений, чтобы отправить его клиенту.
- person sinaraheneba; 27.05.2019
Range.getA1Notation()
s), это немного поможет. Кроме того, пожалуйста, не публикуйте изображения кода/ошибок и постарайтесь включить образец соответствующего кода, чтобы люди могут лучше понять, какие у вас проблемы. - person sinaraheneba   schedule 27.05.2019Range.getA1Noation()
стоит менее 1 миллисекунды. При этом время отклика составляет около 1 секунды. Это, вероятно, должно быть довольно низким в списке приоритетов оптимизации. Моя проблема заключается в разнице между временем выполнения скрипта и временем отклика, а не в самом коде. - person Tam Le   schedule 27.05.2019