LINUX.ORG.RU

Тормоза при отрисовке

 


0

2

Создаем матрицу:

D = array(1:1000000,dim = c(1000,1000)) 
Рисуем при помощи image и levelplot Получаем ощутимую задержку, особенно во втором случае - где-то полминуты. В чем тут дело? Матрица ведь небольшая?


Не знаю как в R, а для гнуплота матрица 1000x1000 просто неподъемная. Опять таки не знаю как в R, но если рисовать ее в виде поверхности, то это ИМНО для любой рисовалки трэш угар и содомия - что Вы на такой матрице увидеть то хотите? Если рисовать цветом (значение в каждой ячейке передаются цвектов соотв пикселя), то картинка с трудом влезет на экран, нормальная рисовалка такое делает за секунды или даже доли секунды.

AIv ★★★★★
()
Ответ на: комментарий от AIv

Матлабы и matplotlib рисуют без проблем

EVP
() автор топика
Ответ на: комментарий от EVP

1000x1000, поверхность, гнуплот? Это в какой то параллельной реальности. 200х200 - уже ощутимые тормоза.

AIv ★★★★★
()
Ответ на: комментарий от AIv

И главное - 1000х1000, поверхность, линиями - просто тупо не видно нифига будет. Что бы линия четко читалась, нужно что бы она в основном шла свободно не пересекаясь с другими линиями. Или это нужен монитор с разрешением over 30000х20000. Если цветом (поверхность, гнуплотовый стиль pm3d) - что то еще можно будет понять, и то если поверхность гладкая без каких то мелкомасштабных особенностей. А тогда нафига стока точек?

AIv ★★★★★
()
Ответ на: комментарий от EVP

Вам же сказали что по умолчанию поверхность

> d<-array(1:1000000,dim = c(1000,1000))
> system.time(image(d))
пользователь      система       прошло 
       2.081        0.084        2.193 
> system.time(image(d,useRaster=TRUE))
пользователь      система       прошло 
       0.364        0.080        0.505 
> ?image

psv1967 ★★★★★
()
Ответ на: комментарий от EVP
> ?levelplot
> system.time(print(levelplot(d)))
пользователь      система       прошло 
       7.493        1.096        8.658 
> system.time(print(levelplot(d,useRaster = FALSE)))
пользователь      система       прошло 
       7.496        1.164        8.726 
> system.time(print(levelplot(d,useRaster = TRUE)))
пользователь      система       прошло 
       1.544        0.744        2.307 

PS ну и самая быстрая сборка lattice обычно та что идет с дистрибутивом я заметил. разбираться что там критично при сборке я например не стал, мне и так скорости хватает (гораздо важнее «правильная» векторная графика в документе).

psv1967 ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.