You are not logged in.

Dear visitor, welcome to krpano.com Forum. If this is your first visit here, please read the Help. It explains in detail how this page works. To use all features of this page, you should consider registering. Please use the registration form, to register here or read more information about the registration process. If you are already registered, please login here.

1

Saturday, May 23rd 2020, 5:44pm

hotspot invisible take memory ?!!

Hello there, i've an issue with a strange things...

I've all my hotspot writted in a single file...
i've an action who set my hotspot [visible/invisible] if theses attribute are in the scene or not, but i've finished my Vtour with more than 100 hotspots, and it take memory...

in my first scene i have only 2 hotspots visible (98 other are visible = false), but my fps down to (20-24), if i remove all of other hotspot and keep only 2 hotspot in the file my fps go to 60...

Can i put a specific state to my unvisible hotspot to not take memory ? *cursing*

regards

This post has been edited 2 times, last edit by "ChukA" (May 23rd 2020, 6:35pm)


2

Saturday, May 23rd 2020, 7:15pm

invisible hotspots take memory for sure,
but 100 "normal" hotspots should not hog down your FPS from 60 to 20.

what kind of hotspots are these? very large images?
if you use a single image file with crop,
each hotspot probably consumes the full memory needed for that large image.

you could try:
- single images for each hotspot
- inline images (use data uri with base64 in the url)
- dynamically only add the needed hotspots (addhotspot, removehotspot)

This post has been edited 1 times, last edit by "indexofrefraction" (May 23rd 2020, 9:57pm)


3

Saturday, May 23rd 2020, 7:44pm

Yes it's my option, add and remove dynamicly them but maybe it will be better to use other method.


i've tested keep="" true/false, but doesn't work...

they are animated hotspot...


i'll try to add and remove them...

4

Sunday, May 24th 2020, 12:39pm

Hi,

how did you measure the memory need and are you sure the memory need is your problem?

Visible=false causes no rendering and no hit-testing, but the referenced image gets loaded of course.
If you don't want an image to get loaded, just don't load it (no hotspot or an empty url).

But when several hotspot images are using the same 'source' image, that image only gets loaded once and also only one GPU texture is used. That means there would be no additional memory need in this case.

Best regards,
Klaus

HansNyb

Professional

Posts: 1,019

Location: Denmark

Occupation: Photographer

  • Send private message

5

Sunday, May 24th 2020, 8:13pm

Especially on iPad many hotspots reduce the performance a lot. Well my iPad is the first generation air from 2015
and maybe they got better since then,

I have up to 48 infospots using same info.png and most of the popups are just html.

The panning becomes quite jumpy on scenes with more than 20 especially now after I also got a narrator on each pano.

6

Monday, May 25th 2020, 11:58am

Hello allz,

My Vtour contains, maybe 60 scenes, each scene have 2-3 hotspots for the navigation and 1-2 hotspots sound...

All my sounds/hotspots are in a file with attributes, and action will show/play if attributes are valid !

On my iphone6/ipad2 he can't load the scene... error and reload again and again...

i've check the FPS and it's drop down ... it's animated hotspot (circle ani_black)

Other things, when i create dynamicly hotspots they seems to fly/slide a little bit... ?

If i put them to the tour.xml on the scene it will not fly/slide.

This post has been edited 1 times, last edit by "ChukA" (May 25th 2020, 4:11pm)


7

Monday, May 25th 2020, 3:49pm

Tips Fps Average Value.

i've write a small Average FPS added to the fps.xml,
it will take the average FPS on the tour... nothing special but it will help me to know when i add some "effect" what does they influence my FPS (on phone etc...)


<action name="fps_install" autorun="preinit" scope="local">
delayedcall(0.5,
addlayer(fps_display);
set(layer[fps_display],
type=text,
keep=true,
align='lefttop',
css=calc('font-size:'+(device.mobile AND stagescale LT 1.0 ? 24 : 12)+'px; color:#FFFFFF;'),
txtshadow='0 0 1 0x000000 1.0',
bg=false,
parent=STAGE,
vr=true,
enabled=false
);

addlayer(bench_display);
set(layer[bench_display],
type=text,
keep=true,
align='lefttop',
y='15',
css=calc('font-size:'+(device.mobile AND stagescale LT 1.0 ? 24 : 12)+'px; color:#FFFFFF;'),
txtshadow='0 0 1 0x000000 1.0',
bg=false,
parent=STAGE,
vr=true,
enabled=false
);

set(bench_cnt, 1);
set(average, calc((display.currentfps+0.5) BOR 0));

setinterval(fps_plugin, 0.25,
inc(bench_cnt);
calc(layer[fps_display].html, 'FPS: ' + ((display.currentfps+0.5) BOR 0));

add(average,calc((display.currentfps+0.5) BOR 0));
calc(layer[bench_display].html, 'MOY: ' + ((average/bench_cnt) BOR 0));
);
);
</action>

regards

8

Monday, May 25th 2020, 10:13pm

For Flying/sliding hotspot it's because i've used renderer=css3d... Now it's Ok !