Низкий FPS на графике scatter3d - PullRequest
0 голосов
/ 26 апреля 2020

Поворот графика, сделанного с помощью программного обеспечения R, с функцией car :: scatter3d (), выполняется намного медленнее, чем с некоторыми другими трехмерными графиками rgl. scatter3d () - функция по умолчанию, используемая Rcmdr, и я использую Rcommander для обучения R начинающих. Медленное поведение идентично Rcmdr (меню) и следующему коду (без загрузки Rcmdr):

library(car)
data(Anscombe, package="carData")
library(rgl)
scatter3d(Anscombe$urban,Anscombe$education,Anscombe$income, surface=FALSE, residuals=FALSE,   axis.scales=TRUE, grid=FALSE, ellipsoid=FALSE)

Когда я изменяю размер, поворачиваю вышеупомянутую диаграмму, кадров в секунду (кадров в секунду) go до менее чем один кадр каждые 10 секунд; Загрузка процессора одним ядром увеличивается до 45% (не выше). Я на Ubuntu 19.10 с приличной видеокартой c и аппаратное ускорение включено (и я использую несколько дисплеев). Никто из моих учеников (на Windows или MacOS) не жаловался на скорость.

Однако на моем P C может быть получена очень похожая диаграмма со следующей, с очень высокой скоростью, возможно, FPS> 15 (выглядит очень гладко):

install.packages("remotes")
remotes::install_github("kassambara/graph3d")
require(graph3d); require(rgl)
data(Anscombe, package="carData")
rgl_scatter(x=Anscombe$urban, y=Anscombe$education, z=Anscombe$income, data.scale=TRUE, add.ellipse=FALSE)

(Тот же код можно проверить без установки какого-либо пакета благодаря: http://www.sthda.com/english/wiki/a-complete-guide-to-3d-visualization-device-system-in-r-r-software-and-data-visualization).

Помимо скорость, единственное различие, которое я вижу между выводом rgl_scatter и scatter3d, заключается в туманном эффекте в scatter3d (не в rgl_scatter): фоновые сферы кажутся бледнее с scatter3d; это прекрасно, но если затраты на это делают его мучительно медленным, я бы предпочел потерять эффект тумана (по крайней мере, на моем собственном ноутбуке), чтобы иметь возможность анализировать данные со студентами. (Но я бы хотел использовать Rcommander, чтобы они могли следовать за ним.)

Выполнение следующих действий перед запуском scatter3d () или перед использованием меню Rcommander не имеет никакого эффекта:

rgl.bg(fogtype = "none")

I Я даже не уверен, что медленная скорость вызвана "туманным" внешним видом (или окклюзией окружающей среды, рассеиванием света или другим эффектом). Спасибо за любую подсказку!

...