krpano 1.19-pr4 / 1.19-pr5 / 1.19-pr6

  • Hi,

    while the iPhone really struggles

    The problem is the bad/inefficent 'video to texture' transfer implemention in Safari - see here at 'iOS and Mac Safari - Bad video to WebGL performance':
    https://krpano.com/plugins/videop…nownbrowserbugs

    Only Apple itself could improve that, there is notthing that could be optimize here from external.

    As workaround use lower-res videos, the performance depends on the pixel-size of the video (the more pixels that need to be copied from the video to the texture, the slower Safari).

    Best regards,
    Klaus

  • Hi, friends,
    I had a problem: the transition from 1.19.3 to 1.19.5 tours ceased to operate normally in flash, with the perfect worked under ntml5
    the same as in 1.19.6
    I found that the only reason for this was the command WAIT(0)

    as soon as I removed all the wait(0) - everything become ok
    whether I alone faced with such a problem?

    Serge

  • After much painful testing and rebuilding I have resolved the clunky movement withing stereoscopic VR on the cardboard with 1.19pr6.

    I rebuilt the project with 1.19pr6 base, no conversion using the default hotspots keeping it as default and all worked great, I reduced the new hotspots right down to between 4kb and 10kb and all was well. After more testing (adding or removing features) I noticed the clunky sickening movement only comes in really bad with the removal of the <!-- VR scene switching hotspots --> and <!-- floating/following VR hotspots --> as the code below.

    I find these very awkward in VR mode especially if you use hotspots,


    <!-- VR scene switching hotspots -->

    <!-- <style name="webvr_menu_style" depth="800" scale="0.5" distorted="true" ath="0" atv="45" alpha="0.5" />
    <hotspot name="webvr_prev_scene" keep="true" style="skin_base|webvr_menu_style" crop="0|64|64|64" ox="-64" onover="tween(scale,0.6);" onout="tween(scale,0.5);" vr_timeout="750" onclick="skin_nextscene_loop(-1);" visible="false" devices="html5.and.webgl" />
    <hotspot name="webvr_next_scene" keep="true" style="skin_base|webvr_menu_style" crop="64|64|64|64" ox="+64" onover="tween(scale,0.6);" onout="tween(scale,0.5);" vr_timeout="750" onclick="skin_nextscene_loop(+1);" visible="false" devices="html5.and.webgl" /> -->

    <!-- floating/following VR hotspots -->

    <!-- <action name="webvr_menu_following" type="Javascript" devices="html5"><![CDATA[
    var hs1 = krpano.get("hotspot[webvr_prev_scene]");
    var hs2 = krpano.get("hotspot[webvr_next_scene]");
    if(!hs1.hovering && !hs2.hovering)
    {
    var f = 0.01; // following speed factor
    var h = krpano.view.hlookat;
    var v = krpano.view.vlookat;
    var hsh = hs1.ath;
    var hsv = hs1.atv;
    h = (h -(h|0)) + (((h|0) +360180)%360) - 180.0;
    v = (v -(v|0)) + (((v|0) +360180)%360) - 180.0;
    hsh = (hsh-(hsh|0)) + (((hsh|0)+360180)%360) - 180.0;
    var dh = h - hsh;
    dh += (dh > 180) ? -360 : (dh < -180) ? 360 : 0
    hsh += dh*f;
    var a = Math.abs(v - hsv) / 90.0;
    a = 1.0 * Math.max(1.0 - 2.0*Math.sqrt(a), 0);
    v = v + 55.0 - v*1.5;
    hsv = hsv*(1.0 - f) + v*f;
    hs1.ath = hs2.ath = hsh;
    hs1.atv = hs2.atv = hsv;
    hs1.alpha = hs2.alpha = a;
    }
    ]]></action> -->


    Are these floating hotspots code being referenced elsewhere that removing this part could cause the clunky movement in stereo vr when removed?


    Thanks


    James Budge

  • Hi,

    Are these floating hotspots code being referenced elsewhere that removing this part could cause the clunky movement in stereo vr when removed?

    Yes - when you only remove that action but not it's call (see the 'webvr_setup' action), then there would be constantly warning and errors in the krpano log - and this will definitely be very bad for the performance!

    The log is html text and each additional log message requires an additional html element - and adding html elements is slow!

    Therefore always make your panos and tours error-free *wink* and don't trace constantly any messages!
    There is also a note about that in the documentation:
    https://krpano.com/docu/actions/#trace

    Best regards,
    Klaus

  • NOT work wait(0)


    Serge, you saved me - many thanks.

    2 days ago i noticed the same problem with flash in pr4-pr6: Drgagging the pano was not possible, klicks on thumbs and hotspots didn't do anything.
    But the right mouseclick showed the contextmenu and clicks in textfields did what they were supposed to do. Very strange.

    And now: after I removed my 1 wait(0) in 2000 lines: everything OK in PR6 with Flash!

    I dont't know if i had found this - many thanks!

    Wolfgang

  • Hi, Klaus,

    I do not have an example now
    I can say that as soon as I replace the WAIT(0) to WAIT(0.01) - problem is solved

    my virtual tours engine consists of a large number of modules and to search for the source of the problems I have cut off all of the modules disable, and then do a detailed tracing kernel
    after finding out the causes of the failure and fix it, I consistently connected the software modules and replaced them WAIT(0)
    Everything begins to work properly

  • Hi James,

    Just checked both tours and everything is ok, ¿did you modify the slow version?. Anyway, I've been having the same issue here on a Galaxy S6 Edge, slow and choppy animation with upgrade to pr-6. In this case things went beyond as I've had a complete freeze of the device twice while exiting from VR-mode (complete block, buttons don't work, no turn off, no volume, nothing) and had reset it manually, which really is a new experience with Krpano and an obvious red alarm with future productions. Klaus, you may want to check this out.

    Regards

    Luis

  • Sure - do you have an example where this happens?
    And what browser and browser version do you use?

    Yes, we have it online, it's a custom adaptation for a tour and it's open source right now. I'll send you the link.

    It happened in a Samsung Galaxy S6, Chrome 52.0.2743.98, Android 5.1.1. right on exit of VR MODE, but it's not happening all the time

    Regards

  • hi there. I have just converted to 1.19 pr-6. i have 17 scenes, and a target box in each scene.

    the properties of the target box is as follows :

    distorted="true" depth="off" vr_timeout="3000" zorder="1" zoom="true" enabled="true" alpha="1.0" visible="true"

    onloaded="tween(alpha,1.0); "



    the target box would appear in the scene. but when I mouse over or when the crosshair is over it in VR mode, the target box would just disappear !
    when i go to the previous scene and back to the current scene , sometimes the target box is there, sometimes it is not !!

    I have no idea what is wrong. this target box has similar settings as my other hotspots, but only it is causing issues.

    1) is it because i am using a .png file ?
    i am using a 256x256px .png image
    2) the target box has the same name in all the scenes, could it be the problem ?
    <hotspot name="hotspot_trigger"

    and In every scene , I have a function to remove it.
    <events name="nextsnd"
    onnewpano="webvr.resetSensor(178.536);"
    onremovepano="removehotspot(hotspot_trigger);
    removehotspot(HS_narration);
    removehotspot(HS_image);
    removehotspot(previous);
    removehotspot(title);
    removehotspot(home);
    removehotspot(restart); "
    />

    please help. this problem is getting annoying.

    Edited 2 times, last by tmrnvrcome: remembered more details (August 28, 2016 at 10:25 AM).

  • Hello Klaus,

    thanks for all the great work. *thumbsup*

    Actually we're testing the new VRone Plus and discovered a stuttering with the Samsung S6.
    As you noted in the documentation, this is caused by the mobilevr_lens_dist2 parameter.

    Would it be possible to use only mobilevr_lens_dist for this glasses?

  • Hi . I need help for my program . I have multiple textfield layers in a scene and I want to use ScrollArea plugin to toggle between the different layers. Only ONE textfield layer is visible at any ONE time.

    I did a simple mock up. But the scrollslider does not return to the original position and the text is cut off at the bottom.

    Do i have to create a scrollbar for each and every layer ? and use one layer container to contain one scrollbar and one textfield layer ?

    Code is as follows :


    <krpano>

    <!-- use a grid preview pano as background -->
    <preview type="grid(cube,16,16,512,0xCCCCCC,0xF6F6F6,0x999999);" details="16" />

    <!-- view settings -->
    <view hlookat="0" vlookat="0" fovtype="VFOV" fov="100" fovmin="60" fovmax="150" />


    <!-- the textfield -->
    <layer name="textfield" url="textfield.png" align="center" x="0" y="0" width="50%" height="300" scale9grid="6|6|268|188">

    <!-- the scrolling text -->
    <layer name="textmask" type="container" align="lefttop" x="5" y="5" width="-30" height="-10" maskchildren="true">
    <layer name="textscroller" url="%SWFPATH%/plugins/scrollarea.swf" alturl="%SWFPATH%/plugins/scrollarea.js" mwheel="true" direction="v" overscroll="0" align="lefttop" width="100%" height="100%" onscroll="if(hoverflow GT 0, div(yp,toverflow,hoverflow);Math.min(yp,1);Math.max(yp,0); copy(th,layer[scrollbar].pixelheight);sub(th,layer[scrollup].pixelheight);sub(th,layer[scrolldown].pixelheight);sub(th,layer[scrollslider].pixelheight); mul(yp,th);add(yp,layer[scrollup].pixelheight); copy(layer[scrollslider].y,yp); );">
    <layer name="text" url="%SWFPATH%/plugins/textfield.swf" align="lefttop" x="0" y="0" visible="false" width="100%" autoheight="true" background="false" border="false" onautosized="copy(layer[textscroller].height, height);"
    padding="10 15"
    html="data:testtext"
    css="color:#000000; font-family:Arial; font-size:12px;"
    />
    <layer name="text2" url="%SWFPATH%/plugins/textfield.swf" align="lefttop" x="0" y="0" visible="true" width="100%" autoheight="true" background="false" border="false" onautosized="copy(layer[textscroller].height, height);"
    padding="10 15"
    html="data:testtext2"
    css="color:#000000; font-family:Arial; font-size:12px;"
    />
    </layer>
    </layer>

    <!-- the scrollbar -->
    <layer name="scrollbar" type="container" bgcolor="0x000000" bgalpha="0.25" align="righttop" x="5" y="5" width="19" height="-10">
    <layer name="scrollup" url="dirbutton.png" align="righttop" x="19" rotate="-90" crop="0|0|19|19" onovercrop="0|19|19|19" ondowncrop="0|38|19|19" ondown="asyncloop(pressed, layer[textscroller].scrollby(0,+1));" />
    <layer name="scrolldown" url="dirbutton.png" align="rightbottom" x="19" rotate="+90" crop="0|0|19|19" onovercrop="0|19|19|19" ondowncrop="0|38|19|19" ondown="asyncloop(pressed, layer[textscroller].scrollby(0,-1));" />
    <layer name="scrollslider" url="sliderbutton.png" align="righttop" x="0" y="19" crop="0|0|19|19" onovercrop="0|19|19|19" ondowncrop="0|38|19|19" ondown="if(layer[textscroller].hoverflow GT 0, copy(cy,y);copy(sy,mouse.stagey);dragging(); );" dragging="if(pressed, sub(dy,mouse.stagey,sy);add(ny,cy,dy);Math.max(ny,layer[scrollup].pixelheight); copy(th,layer[scrollbar].pixelheight);sub(th,layer[scrolldown].pixelheight);sub(th,layer[scrollslider].pixelheight);Math.min(ny,th); copy(y,ny); sub(ny,layer[scrollup].pixelheight);sub(th,layer[scrollslider].pixelheight);div(ny,th); copy(fh,layer[textscroller].hoverflow); mul(fh,-1); mul(ny,fh); layer[textscroller].stopscrolling(); copy(layer[textscroller].y,ny); delayedcall(0,dragging()); );" />
    </layer>

    </layer>
    <hotspot name="btn" url="dirbutton.png" scale="2.0" ath="0" atv="-40" onclick="toggle(layer[text].visible); toggle(layer[text2].visible);" />

    <!-- the text for testing -->
    <data name="testtext">
    Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.
    Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent luptatum zzril delenit augue duis dolore te feugait nulla facilisi. Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat.
    Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent luptatum zzril delenit augue duis dolore te feugait nulla facilisi.
    Nam liber tempor cum soluta nobis eleifend option congue nihil imperdiet doming id quod mazim placerat facer possim assum. Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat.
    Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis.
    At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, At accusam aliquyam diam diam dolore dolores duo eirmod eos erat, et nonumy sed tempor et et invidunt justo labore Stet clita ea et gubergren, kasd magna no rebum. sanctus sea sed takimata ut vero voluptua. est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat.
    Consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.
    </data>

    <data name="testtext2">
    [p]Portuguese Macau around 1665, produced by the Dutch cartographer Johannes Vingboons (Image source: Atlas of Mutual Heritage). [/p]
    [/br]
    [p]Compare the map to today’s Macao.[/p]
    [p]The Portuguese were officially granted by the Ming dynasty in 1577 to use Macao as a port which developed into a colony.
    For more than 250 years Macao was the only port in China where Europeans could stay for a long period of time, and develop a community.
    The Dutch and British both tried to snatch without success Macao from the Portuguese. All sorts of Europeans came and went.
    The Portuguese maritime empire long ended in the early seventeenth century, but Macao limped ahead playing a key role in China-west interactions.
    It only formally became a part of Chinese territory in 1999. What a colony with rich and colorful histories.[/p]
    </data>

    </krpano>

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!