Помогите со схемой. При загрузке и отрисовке массива более 1000 чисел на графике программа сильно тормозит и зависает. Мне надо отрисовать 100000 точек
code_21217.txt
Этот топик читают: Гость
Ответов: 96
Рейтинг: 1
|
|||
карма: 0 |
| ||
файлы: 1 | code_21217.txt [1006B] [182] |
Ответов: 8926
Рейтинг: 823
|
|||
301992, тормозит перебор строк из СпискаСтрок: code_21218.txt
|
|||
карма: 19 |
| ||
файлы: 1 | code_21218.txt [3KB] [146] |
Ответов: 96
Рейтинг: 1
|
|||
А как сделать, тчобы график строился по точкам из сохраненного текстового файла? У меня одна формирует этот список и сохраняет в файл, а эта должна отрисовать график по точкам из этого файла
|
|||
карма: 0 |
|
Администрация
Ответов: 15295
Рейтинг: 1519
|
|||
сохранять данные не в текстовом, а бинарном виде и использовать PlotStream
|
|||
карма: 27 |
|
Ответов: 8926
Рейтинг: 823
|
|||
301992, или открывать Ваш текстовой файл через Integer-, RealArray code_21219.txt
|
|||
карма: 19 |
| ||
файлы: 1 | code_21219.txt [1.5KB] [180] |
Ответов: 96
Рейтинг: 1
|
|||
Спасибо за ответы, буду думать. ТОлько пример code_21219.txt не отрисовывает график. После нажатия кнопки меняються подписи по осям, а самого графика не видно
|
|||
карма: 0 |
|
Ответов: 8926
Рейтинг: 823
|
|||
301992, я сформировал файл с 100000 записей integer от -99 до +99 и массив integer, а тип файла - String, может у Вас данные в файле Real
|
|||
карма: 19 |
| ||
файлы: 1 | graf.jpg [67.9KB] [220] |
Ответов: 96
Рейтинг: 1
|
|||
У Вас числа целые или дробные? У меня дробные типа:
1 -0.0625 0.078125 0.0625 0.0625 -0.015625 0.03125 -0.0625 ... и т.д. когда стоит Real, формируються только целые числа. |
|||
карма: 0 |
|
Администрация
Ответов: 15295
Рейтинг: 1519
|
|||
301992 писал(а): У Вас числа целые или дробные?Integer это целое знаковое |
|||
карма: 27 |
|
Ответов: 8926
Рейтинг: 823
|
|||
301992,
Ну Леонид же писал(а): открывать Ваш текстовой файл через Integer-, RealArray
|
|||
карма: 19 |
|
Ответов: 96
Рейтинг: 1
|
|||
Dilma, а как сохранять в бинарный файл, так чтобы потом другая программа могла считать информацию.
|
|||
карма: 0 |
|
Администрация
Ответов: 15295
Рейтинг: 1519
|
|||
301992 писал(а): а как сохранять в бинарный файл, так чтобы потом другая программа могла считать информацию.на этот вопрос невозможно ответить не зная того, в каком формате "другая программа" ожидает эти самые данные принять |
|||
карма: 27 |
|
Ответов: 96
Рейтинг: 1
|
|||
Вот эта схема производит вычисление и сохраняет в текстовые файлы. При количестве строк 100000 программа выполняется в течении 16 часов. Результат выполнения для данного случая 128 текстовых файла. Из того, что написано выше я думаю, что так долго выполняется програма из-за компонента "список строк", но я не знаю, как без него обойтись. Или я заблуждаюсь и проблема в другом.
code_21274.txt |
|||
карма: 0 |
| ||
файлы: 1 | code_21274.txt [8.4KB] [255] |
Администрация
Ответов: 15295
Рейтинг: 1519
|
|||
301992 писал(а): Из того, что написано выше я думаю, что так долго выполняется програма из-за компонента "список строк", но я не знаю, как без него обойтись. думать тут не нужно - нужно собрать тестовый пример и замерить время выполнения для 100к строк на операциях, которые по вашему предположению являются медленными. Вывожить пример на форум, спросить как улучшить ситуацию. на вскидку беглым осмотром схемы можно сразу указать узкие места используемого алгоритма: для вычислений используется MathParse(худшая из всех возможных альтернатив), в блоке вычисления стоит StrList в который данные только добавляются и только удаляются (сделано специально для понижения производительности?), исходные данные переданы в виде строки (после чего каждая из них парсится аж 128 раз в этом примере - опять делаем все, чтобы работало как можно медленнее?), ну и мелочь уже - создается 128 экземпляров схемы с одним единственным отличающимся параметром(счетчиком цикла) после чего опять в цикле каждая из них запускается на выполнение (а сразу запуск что сделать мешало?). ввиду вышеизложенного есть очень большие сомнения по поводу вывода о недостаточной производительности списка строк в предложенном примере |
|||
карма: 27 |
|
14