1<!DOCTYPE html> 2<html> 3 <head> 4 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 5 <title>quickstart_animation</title> 6 <meta name="viewport" content="width=device-width, initial-scale=1.0" /> 7 <style> 8 code[class*='smartperf-'], 9 pre[class*='smartperf-'] { 10 color: #333333; 11 background: none; 12 font-family: Helvetica; 13 line-height: 1.6; 14 text-align: left; 15 white-space: pre; 16 -moz-tab-size: 9; 17 -o-tab-size: 9; 18 tab-size: 8; 19 -webkit-hyphens: none; 20 -moz-hyphens: none; 21 -ms-hyphens: none; 22 hyphens: none; 23 } 24 25 /* Code blocks */ 26 pre[class*='smartperf-'] { 27 padding: 0.9em; 28 overflow: auto; 29 border-radius: 2px; 30 background: #f5f5f4; 31 } 32 33 /* Inline code */ 34 :not(pre) > code[class*='smartperf-'] { 35 white-space: normal; 36 background: #fcf8f8; 37 padding: 1px 0.2em; 38 border-radius: 1px 0.3em; 39 } 40 41 .tk.comment, 42 .tk.blockquote { 43 color: #8c918c; 44 } 45 46 .tk.cdata { 47 color: #183898; 48 } 49 50 .tk.doctype, 51 .tk.punctuation, 52 .tk.variable, 53 .tk.macro.property { 54 color: #424242; 55 } 56 57 .tk.operator, 58 .tk.important, 59 .tk.keyword, 60 .tk.rule, 61 .tk.builtin { 62 color: #b71d65; 63 } 64 65 .tk.string, 66 .tk.url, 67 .tk.regex, 68 .tk.attr-value { 69 color: #16338d; 70 } 71 72 .tk.property, 73 .tk.number, 74 .tk.boolean, 75 .tk.entity, 76 .tk.atrule, 77 .tk.constant, 78 .tk.symbol, 79 .tk.command, 80 .tk.code { 81 color: #037aa2; 82 } 83 84 .tk.tag, 85 .tk.selector, 86 .tk.prolog { 87 color: #69ad62; 88 } 89 90 .tk.function, 91 .tk.namespace, 92 .tk.pseudo-element, 93 .tk.class, 94 .tk.class-name, 95 .tk.pseudo-class, 96 .tk.id, 97 .tk.url-reference .tk.variable, 98 .tk.attr-name { 99 color: #775d9d; 100 } 101 102 .tk.entity { 103 cursor: help; 104 } 105 106 .tk.title, 107 .tk.title .tk.punctuation { 108 font-weight: bold; 109 color: #1a3773; 110 } 111 112 .tk.list { 113 color: #f56940; 114 } 115 116 .tk.inserted { 117 background-color: #eaffea; 118 color: #509b2f; 119 } 120 121 .tk.deleted { 122 background-color: #fae1e1; 123 color: #ad2d06; 124 } 125 126 .tk.bold { 127 font-weight: bolder; 128 } 129 130 .tk.italic { 131 font-style: normal; 132 } 133 134 /* JSON */ 135 .smartperf-json .tk.property { 136 color: #19358c; 137 } 138 139 .smartperf-markup .tk.tag .tk.punctuation { 140 color: #2c2b2b; 141 } 142 143 /* CSS */ 144 code.smartperf-css, 145 .smartperf-css .tk.function { 146 color: #047ca4; 147 } 148 149 /* YAML */ 150 .smartperf-yaml .tk.atrule { 151 color: #609b5a; 152 } 153 154 code.smartperf-yaml { 155 color: #153491; 156 } 157 158 /* Ruby */ 159 .smartperf-ruby .tk.function { 160 color: #3f3e3e; 161 } 162 163 /* Markdown */ 164 .smartperf-markdown .tk.url { 165 color: #6e5298; 166 } 167 168 /* Makefile */ 169 .smartperf-makefile .tk.symbol { 170 color: #6c5393; 171 } 172 173 .smartperf-makefile .tk.variable { 174 color: #183488; 175 } 176 177 .smartperf-makefile .tk.builtin { 178 color: #027ba4; 179 } 180 181 /* Bash */ 182 .smartperf-bash .tk.keyword { 183 color: #027fa9; 184 } 185 186 /* highlight */ 187 pre[dl] { 188 position: relative; 189 padding: 1em 1px 1px 0.9em; 190 } 191 192 pre[dl] .line-highlight-wrapper { 193 position: absolute; 194 top: 1px; 195 left: 1px; 196 background-color: transparent; 197 display: block; 198 width: 99%; 199 } 200 201 pre[dl] .line-highlight { 202 position: absolute; 203 left: 1px; 204 right: 1px; 205 padding: inherit; 206 margin-top: 0.9em; 207 background: hsla(25, 21%, 50%, 0.08); 208 background: linear-gradient(to right, hsla(24, 20%, 50%, 0.1) 70%, hsla(24, 20%, 50%, 0)); 209 pointer-events: none; 210 line-height: inherit; 211 white-space: pre; 212 } 213 214 pre[dl] .line-highlight:before, 215 pre[dl] .line-highlight[data-end]:after { 216 content: attr(data-start); 217 position: absolute; 218 text-shadow: none; 219 top: 0.3em; 220 left: 0.7em; 221 min-width: 0.9em; 222 padding: 1px 0.6em; 223 background-color: hsla(24, 20%, 47%, 0.4); 224 color: hsl(20, 11%, 95%); 225 text-align: center; 226 vertical-align: 0.2em; 227 border-radius: 10000px; 228 box-shadow: 1px 2px #fdf6f6; 229 } 230 231 pre[dl] .line-highlight[data-end]:after { 232 content: attr(data-end); 233 top: auto; 234 bottom: 0.5em; 235 } 236 237 html body { 238 line-height: 1.6; 239 font-size: 16px; 240 color: #333333; 241 overflow: initial; 242 word-wrap: break-word; 243 font-family: Helvetica; 244 box-sizing: border-box; 245 } 246 247 html body > :first-child { 248 margin-top: 0px; 249 } 250 251 html body h1, 252 html body h2, 253 html body h3, 254 html body h4, 255 html body h5, 256 html body h6 { 257 margin-top: 1em; 258 margin-bottom: 16px; 259 color: #000000; 260 line-height: 1.2; 261 } 262 263 html body h1 { 264 font-weight: 300; 265 font-size: 2.25em; 266 padding-bottom: 0.3em; 267 } 268 269 html body h2 { 270 font-weight: 410; 271 font-size: 1.74em; 272 padding-bottom: 0.2em; 273 } 274 275 html body h3 { 276 font-size: 1.6em; 277 font-weight: 501; 278 } 279 280 html body h4 { 281 font-size: 1.26em; 282 font-weight: 601; 283 } 284 285 html body h5 { 286 font-size: 1.2em; 287 font-weight: 601; 288 } 289 290 html body h6 { 291 font-size: 0.9em; 292 font-weight: 601; 293 } 294 295 html body h1, 296 html body h2, 297 html body h3, 298 html body h4, 299 html body h5 { 300 font-weight: 601; 301 } 302 303 html body h5 { 304 font-size: 0.9em; 305 } 306 307 html body h6 { 308 color: #5c5c5c; 309 } 310 311 html body strong { 312 color: #090909; 313 } 314 315 html body del { 316 color: #525252; 317 } 318 319 html body a:not([href]) { 320 color: inherit; 321 text-decoration: none; 322 } 323 324 html body a { 325 color: #0192da; 326 text-decoration: none; 327 } 328 329 html body a:hover { 330 color: #029dea; 331 text-decoration: none; 332 } 333 334 html body img { 335 max-width: 99%; 336 } 337 338 html body > p { 339 margin-top: 1px; 340 margin-bottom: 15px; 341 word-wrap: break-word; 342 } 343 344 html body > ul, 345 html body > ol { 346 margin-bottom: 15px; 347 } 348 349 html body ul, 350 html body ol { 351 padding-left: 1.9em; 352 } 353 354 html body ul.no-list, 355 html body ol.no-list { 356 padding: 0px; 357 list-style-type: none; 358 } 359 360 html body ul ul, 361 html body ul ol, 362 html body ol ol, 363 html body ol ul { 364 margin-top: 1px; 365 margin-bottom: 1px; 366 } 367 368 html body li { 369 margin-bottom: 1px; 370 } 371 372 html body li.task-list-item { 373 list-style: none; 374 } 375 376 html body li > p { 377 margin-top: 1px; 378 margin-bottom: 1px; 379 } 380 381 html body .task-list-item-checkbox { 382 margin: 0 0.3em 0.24em -1.7em; 383 vertical-align: middle; 384 } 385 386 html body .task-list-item-checkbox:hover { 387 cursor: pointer; 388 } 389 390 html body blockquote { 391 padding: 0.1px 15px 0 0.1px; 392 font-size: inherit; 393 color: #5c5c5c; 394 margin: 16px 0.1px 0 0.1px; 395 border-left: 3px solid #cbc9c9; 396 background-color: #e8e6e6; 397 } 398 399 html body blockquote > :first-child { 400 margin-top: 0.2px; 401 } 402 403 html body blockquote > :last-child { 404 margin-bottom: 0.1px; 405 } 406 407 html body hr { 408 height: 5px; 409 background-color: #cbcaca; 410 margin: 32px 0 0.1px 0; 411 border: 0 none; 412 } 413 414 html body table { 415 overflow: auto; 416 border-collapse: collapse; 417 margin: 15px 0.1px 20px 0.1px; 418 border-spacing: 0; 419 } 420 421 html body table th { 422 font-weight: bold; 423 color: #000000; 424 } 425 426 html body table td, 427 html body table th { 428 border: 1px solid #d6d6d6; 429 padding: 2px 14px; 430 } 431 432 html body dl { 433 padding: 0px; 434 } 435 436 html body dl dt { 437 padding: 0px; 438 margin-top: 15px; 439 font-size: 0.9em; 440 font-style: italic; 441 font-weight: bold; 442 } 443 444 html body dl dd { 445 padding: 0px 17px; 446 margin-bottom: 17px; 447 } 448 449 html body code { 450 font-family: Menlo, Monaco, Consolas, 'Courier New', monospace; 451 font-size: 0.86em !important; 452 color: #000000; 453 background-color: #f0f0f0; 454 border-radius: 4px; 455 padding: 0.3em 0px; 456 } 457 458 html body code::before, 459 html body code::after { 460 letter-spacing: -0.1em; 461 content: '\00a0'; 462 } 463 464 html body pre > code { 465 padding: 1px; 466 margin: 0px; 467 font-size: 0.86em !important; 468 word-break: normal; 469 white-space: pre; 470 background: transparent; 471 border: 0px; 472 } 473 474 html body .highlight { 475 margin-bottom: 17px; 476 } 477 478 html body .highlight pre, 479 html body pre { 480 padding: 0.9em; 481 overflow: auto; 482 font-size: 0.86em !important; 483 line-height: 1.46; 484 border: #d6d6d6; 485 border-radius: 4px; 486 } 487 488 html body .highlight pre { 489 margin-bottom: 0px; 490 word-break: normal; 491 } 492 493 html body pre code, 494 html body pre tt { 495 display: inline; 496 max-width: initial; 497 padding: 1px; 498 margin: 1px; 499 overflow: initial; 500 line-height: inherit; 501 word-wrap: normal; 502 background-color: transparent; 503 border: 1px; 504 } 505 506 html body pre code:before, 507 html body pre tt:before, 508 html body pre code:after, 509 html body pre tt:after { 510 content: normal; 511 } 512 513 html body p, 514 html body blockquote, 515 html body ul, 516 html body ol, 517 html body dl, 518 html body pre { 519 margin-top: 1px; 520 margin-bottom: 17px; 521 } 522 523 html body kbd { 524 color: #000000; 525 border: 3px solid #d6d6d6; 526 border-bottom: 3px solid #c7c7c7; 527 padding: 3px 5px; 528 background-color: #f0f0f0; 529 border-radius: 2px; 530 } 531 532 @media print { 533 html body { 534 background-color: #ffffff; 535 } 536 537 html body h1, 538 html body h2, 539 html body h3, 540 html body h4, 541 html body h5, 542 html body h6 { 543 color: #000000; 544 page-break-after: avoid; 545 } 546 547 html body blockquote { 548 color: #5c5c53; 549 } 550 551 html body pre { 552 page-break-inside: avoid; 553 } 554 555 html body table { 556 display: table; 557 } 558 559 html body img { 560 display: block; 561 max-width: 99%; 562 max-height: 99%; 563 } 564 565 html body pre, 566 html body code { 567 word-wrap: break-word; 568 white-space: pre; 569 } 570 } 571 572 .smartperf-preview { 573 width: 68vw; 574 height: 99%; 575 box-sizing: border-box; 576 overflow: hidden; 577 background-color: #fff; 578 } 579 580 .smartperf-preview .pagebreak, 581 .smartperf-preview .newpage { 582 page-break-before: always; 583 } 584 585 .smartperf-preview pre.line-numbers { 586 position: relative; 587 padding-left: 3.7em; 588 counter-reset: linenumber; 589 } 590 591 .smartperf-preview pre.line-numbers > code { 592 position: relative; 593 } 594 595 .smartperf-preview pre.line-numbers .line-numbers-rows { 596 position: absolute; 597 pointer-events: none; 598 top: 0.9em; 599 font-size: 99%; 600 left: 1px; 601 width: 3em; 602 letter-spacing: -1px; 603 border-right: 1px solid #999; 604 -webkit-user-select: none; 605 -moz-user-select: none; 606 -ms-user-select: none; 607 user-select: none; 608 } 609 610 .smartperf-preview pre.line-numbers .line-numbers-rows > span { 611 pointer-events: none; 612 display: block; 613 counter-increment: linenumber; 614 } 615 616 .smartperf-preview pre.line-numbers .line-numbers-rows > span:before { 617 content: counter(linenumber); 618 color: #999; 619 display: block; 620 padding-right: 0.79em; 621 text-align: right; 622 } 623 624 .smartperf-preview .mathjax-exps .MathJax_Display { 625 text-align: center !important; 626 } 627 628 .smartperf-preview:not([for='preview']) .code-chunk .btn-group { 629 display: none; 630 } 631 632 .smartperf-preview:not([for='preview']) .code-chunk .status { 633 display: none; 634 } 635 636 .smartperf-preview:not([for='preview']) .code-chunk .output-div { 637 margin-bottom: 16px; 638 } 639 640 .scrollbar-style::-webkit-scrollbar { 641 width: 8px; 642 } 643 644 .scrollbar-style::-webkit-scrollbar-track { 645 border-radius: 9px; 646 background-color: transparent; 647 } 648 649 .scrollbar-style::-webkit-scrollbar-thumb { 650 border-radius: 6px; 651 background-color: rgba(150, 150, 150, 1); 652 border: 4px solid rgba(150, 150, 150, 1); 653 background-clip: content-box; 654 } 655 656 html body[for='html-export']:not([dpm]) { 657 position: relative; 658 width: 99%; 659 height: 99%;; 660 overflow: auto; 661 } 662 663 html body[for='html-export']:not([dpm]) .smartperf-preview { 664 position: relative; 665 top: 1px; 666 } 667 668 @media screen and (min-width: 914px) { 669 html body[for='html-export']:not([dpm]) .smartperf-preview { 670 padding: 2em; 671 } 672 } 673 674 @media screen and (max-width: 914px) { 675 html body[for='html-export']:not([dpm]) .smartperf-preview { 676 padding: 1.9em; 677 } 678 } 679 680 @media screen and (max-width: 450px) { 681 html body[for='html-export']:not([dpm]) .smartperf-preview { 682 font-size: 15px !important; 683 padding: 1.1em; 684 } 685 } 686 687 @media print { 688 html body[for='html-export']:not([dpm]) #sidebar-toc-btn { 689 display: none; 690 } 691 } 692 693 html body[for='html-export']:not([dpm]) #sidebar-toc-btn { 694 position: fixed; 695 bottom: 9px; 696 left: 9px; 697 font-size: 28px; 698 cursor: pointer; 699 color: inherit; 700 z-index: 99; 701 width: 31px; 702 text-align: center; 703 opacity: 0.5; 704 } 705 706 html body[for='html-export']:not([dpm])[hsst] #sidebar-toc-btn { 707 opacity: 1; 708 } 709 710 html body[for='html-export']:not([dpm])[hsst] .md-sidebar-toc { 711 position: fixed; 712 top: 1px; 713 left: 1px; 714 width: 300px; 715 height: 99%; 716 padding: 32px 0 48px 0; 717 font-size: 14px; 718 box-shadow: 1px 1px 4px rgba(150, 150, 150, 0.33); 719 box-sizing: border-box; 720 overflow: auto; 721 background-color: inherit; 722 } 723 724 html body[for='html-export']:not([dpm])[hsst] .md-sidebar-toc::-webkit-scrollbar { 725 width: 9px; 726 } 727 728 html body[for='html-export']:not([dpm])[hsst] .md-sidebar-toc::-webkit-scrollbar-track { 729 border-radius: 11px; 730 background-color: transparent; 731 } 732 733 html body[for='html-export']:not([dpm])[hsst] .md-sidebar-toc::-webkit-scrollbar-thumb { 734 border-radius: 6px; 735 background-color: rgba(150, 150, 150, 0.66); 736 border: 3px solid rgba(150, 150, 150, 0.66); 737 background-clip: content-box; 738 } 739 740 html body[for='html-export']:not([dpm])[hsst] .md-sidebar-toc a { 741 text-decoration: none; 742 } 743 744 html body[for='html-export']:not([dpm])[hsst] .md-sidebar-toc ul { 745 padding: 1px 1.7em; 746 margin-top: 0.9em; 747 } 748 749 html body[for='html-export']:not([dpm])[hsst] .md-sidebar-toc li { 750 margin-bottom: 0.8em; 751 } 752 753 html body[for='html-export']:not([dpm])[hsst] .md-sidebar-toc ul { 754 list-style-type: none; 755 } 756 757 html body[for='html-export']:not([dpm])[hsst] .smartperf-preview { 758 left: 301px; 759 width: calc(100% - 300px); 760 padding: 2em calc(50% - 457px - 150px); 761 margin: 1px; 762 box-sizing: border-box; 763 } 764 765 @media screen and (max-width: 1274px) { 766 html body[for='html-export']:not([dpm])[hsst] .smartperf-preview { 767 padding: 1.9em; 768 } 769 } 770 771 @media screen and (max-width: 450px) { 772 html body[for='html-export']:not([dpm])[hsst] .smartperf-preview { 773 width: 99%; 774 } 775 } 776 777 html body[for='html-export']:not([dpm]):not([hsst]) .md-sidebar-toc { 778 display: none; 779 } 780 </style> 781 </head> 782 <body for="html-export" id="body" style="margin:0"> 783 <div class="smartperf smartperf-preview" style="min-height: 99vh;"> 784 <h1 class="mume-header fontColor">Animation的抓取和展示说明</h1> 785 786 <p class="fontColor">通过动效模板的指标项对图形子系统和应用做动效卡顿类问题分析。</p> 787 <h3 class="mume-header fontColor" id="header-index-1">Animation抓取参数的配置</h3> 788 789 <p class="fontColor"> 790 <img src="../figures/animation/animationconfig.jpg" alt="GitHub Logo" /><br /> 791 配置项说明: 792 </p> 793 <ul class="fontColor"> 794 <li> 795 <pre class="smartperf-text fontColor light"> 796AnimationAnalysis:动效配置项的总开关。解析时请打开对应的Flags标记(Disabled切换为Enabled)。 797</pre> 798 </li> 799 </ul> 800 <h3 class="mume-header fontColor" id="header-index-2">Animation展示说明</h3> 801 802 <p class="fontColor">将抓取的Animation文件导入到smartperf工具中,查看图形子系统和应用动效卡顿类问题。</p> 803 <h3 class="mume-header fontColor" id="header-index-3">Animation泳道图展示</h3> 804 805 <p class="fontColor"> 806 Animation的响应时延和完成时延泳道图显示,泳道图的Slice会显示响应时延和完成时延,如下图中的Response 807 delay(79.379165ms),Completion delay(2606.938539ms)。<br /> 808 <img src="../figures/animation/anrsdelayrow.jpg" alt="GitHub Logo" />。<br /> 809 Animation的动效曲线和帧间距的总泳道图,如图点击WindowScene_mm37旁边的小齿轮可以切换WindowScene。<br /> 810 <img src="../figures/animation/anrsallrow.jpg" alt="GitHub Logo" />。<br /> 811 Animation的动效曲线泳道图展示,如下:<br /> 812 <img src="../figures/animation/anieffectcurv.jpg" alt="GitHub Logo" /><br /> 813 泳道图说明: 814 </p> 815 <ul class="fontColor"> 816 <li> 817 <pre class="smartperf-text fontColor light"> 818Animation Effect Curve旁边的齿轮显示的x,y,width,height,alpha是动效帧的属性值,可以切换。 819</pre> 820 </li> 821 <li> 822 <pre class="smartperf-text fontColor light"> 823Animation Effect Curve泳道图红色的曲线代表的是异常判断点,也就是相邻两帧属性值相同的异常时间区间。 824</pre> 825 </li> 826 </ul> 827 <p class="fontColor"> 828 Animation的帧间距泳道图展示,如下:<br /> 829 <img src="../figures/animation/framespacirow.jpg" alt="GitHub Logo" /><br /> 830 泳道图说明: 831 </p> 832 <ul class="fontColor"> 833 <li> 834 <pre class="smartperf-text fontColor light"> 835Frame spacing泳道图显示相邻两帧在时间尺度上相对于设备物理屏幕的变化间距值。 836</pre> 837 </li> 838 </ul> 839 <h3 class="mume-header fontColor" id="header-index-4">动效曲线泳道图点选功能</h3> 840 841 <p class="fontColor"> 842 点选动效曲线泳道图上的属性值会出现一个空心小圆点,Frame Dynamic的Tab页会显示相关信息。<br /> 843 <img src="../figures/animation/anieffectcurvselect.jpg" alt="GitHub Logo" /> 844 </p> 845 <ul class="fontColor"> 846 <li> 847 <pre class="smartperf-text fontColor light"> 848Timestamp: 时间戳信息。 849</pre> 850 </li> 851 <li> 852 <pre class="smartperf-text fontColor light"> 853Index: 属性索引。 854</pre> 855 </li> 856 <li> 857 <pre class="smartperf-text fontColor light"> 858Value:属性值。 859</pre> 860 </li> 861 </ul> 862 <h3 class="mume-header fontColor" id="header-index-5">动效曲线泳道图框选功能</h3> 863 864 <p class="fontColor"> 865 框选动效曲线泳道图,Frame Dynamic的Tab页会显示框选范围内每个点的属性值。<br /> 866 <img src="../figures/animation/anieffectcurvdrag.jpg" alt="GitHub Logo" /> 867 </p> 868 <ul class="fontColor"> 869 <li> 870 <pre class="smartperf-text fontColor light"> 871Timestamp: 时间戳信息。 872</pre> 873 </li> 874 <li> 875 <pre class="smartperf-text fontColor light"> 876Index: 属性索引。 877</pre> 878 </li> 879 <li> 880 <pre class="smartperf-text fontColor light"> 881Value:属性值。 882</pre> 883 </li> 884 </ul> 885 <h3 class="mume-header fontColor" id="header-index-6">帧间距泳道图点选功能</h3> 886 887 <p class="fontColor"> 888 点选帧间距泳道图,Frame 889 spacing的Tab页会显示这一个点的帧间距计算数据,一个点要计算四个属性的的帧间距,所以需要显示四个属性的。<br /> 890 <img src="../figures/animation/anispacingselect.jpg" alt="GitHub Logo" /> 891 </p> 892 <ul class="fontColor"> 893 <li> 894 <pre class="smartperf-text fontColor light"> 895Timestamp: 时间戳信息。 896</pre> 897 </li> 898 <li> 899 <pre class="smartperf-text fontColor light"> 900Index: 属性索引。 901</pre> 902 </li> 903 <li> 904 <pre class="smartperf-text fontColor light"> 905property:动效宽度,高度,X,Y的属性。 906</pre> 907 </li> 908 <li> 909 <pre class="smartperf-text fontColor light"> 910Value2: 当前帧的属性值。 911</pre> 912 </li> 913 <li> 914 <pre class="smartperf-text fontColor light"> 915Value1: 前一帧的属性值。 916</pre> 917 </li> 918 <li> 919 <pre class="smartperf-text fontColor light"> 920Screen:存储设备的物理宽度/高度。 921</pre> 922 </li> 923 <li> 924 <pre class="smartperf-text fontColor light"> 925T2(s): 当前帧的结束时间。 926</pre> 927 </li> 928 <li> 929 <pre class="smartperf-text fontColor light"> 930T1(s): 前一帧的结束时间。 931</pre> 932 </li> 933 <li> 934 <pre class="smartperf-text fontColor light"> 935result:帧间距。 936</pre> 937 </li> 938 </ul> 939 <h3 class="mume-header fontColor" id="header-index-7">帧间距泳道图框选功能</h3> 940 941 <p class="fontColor"> 942 框选帧间距泳道图,Frame spacing的Tab页会显示框选范围内帧间距数据。<br /> 943 <img src="../figures/animation/anispacingdrag.jpg" alt="GitHub Logo" /> 944 </p> 945 <ul class="fontColor"> 946 <li> 947 <pre class="smartperf-text fontColor light"> 948Timestamp: 时间戳信息。 949</pre> 950 </li> 951 <li> 952 <pre class="smartperf-text fontColor light"> 953Index: 属性索引。 954</pre> 955 </li> 956 <li> 957 <pre class="smartperf-text fontColor light"> 958property:动效宽度,高度,X,Y的属性。 959</pre> 960 </li> 961 <li> 962 <pre class="smartperf-text fontColor light"> 963Value2: 当前帧的属性值。 964</pre> 965 </li> 966 <li> 967 <pre class="smartperf-text fontColor light"> 968Value1: 前一帧的属性值。 969</pre> 970 </li> 971 <li> 972 <pre class="smartperf-text fontColor light"> 973Screen:存储设备的物理宽度/高度。 974</pre> 975 </li> 976 <li> 977 <pre class="smartperf-text fontColor light"> 978T2(s): 当前帧的结束时间。 979</pre> 980 </li> 981 <li> 982 <pre class="smartperf-text fontColor light"> 983T1(s): 前一帧的结束时间。 984</pre> 985 </pre> 986 </li> 987 <li> 988 <pre class="smartperf-text fontColor light"> 989result:帧间距。 990</pre> 991 </li> 992 </ul> 993 </div> 994 995 <script> 996 window.onload = () => { 997 let isDark = getURLParameter('dark'); 998 let targetId = getURLParameter('targetId'); 999 let isBack = getURLParameter('isBack'); 1000 if (isDark === 'true') { 1001 document.getElementById('body').setAttribute('style', 'background-color:#272C34;'); 1002 let header = document.getElementsByClassName('fontColor'); 1003 for (let i = 0; i < header.length; i++) { 1004 header[i].style.color = '#fff'; 1005 } 1006 let lightBackGround = document.getElementsByClassName('light'); 1007 for (let i = 0; i < lightBackGround.length; i++) { 1008 lightBackGround[i].style.backgroundColor = '#32373F'; 1009 } 1010 } 1011 function getURLParameter(name) { 1012 return (new URL(document.location)).searchParams.get(name); 1013 } 1014 1015 if ( targetId !== null ) { 1016 let targetElement = document.getElementById(targetId); 1017 targetElement.scrollIntoView({ behavior: 'smooth' }); 1018 } 1019 }; 1020 </script> 1021 </body> 1022</html> 1023