We think you have liked this presentation. If you wish to download it, please recommend it to your friends in any social system. Share buttons are a little bit lower. Thank you!
Presentation is loading. Please wait.
Published byCaleb Popp
Modified over 2 years ago
Vivio50 © /11/04 Tock Tick - Running Interactive E-Learning Animations Backwards Jeremy Jones Dept. Computer Science Trinity College Dublin 2 Ireland
Vivio50 © /11/04 Overview Initial motivation for Vivio Some example Vivio animations How does it work? Conclusions google: "jones vivio" + I feel lucky
Vivio50 © /11/04 Initial Motivation How best to explain the operation of cache-coherency protocols * to Computer Engineering students? "I hear and I forget, I see and I remember, I do and I understand" [Confucius] Envisaged some 2D web based interactive reversible animations to complement lectures Students can use animations outside of lectures Engage students, encourage active learning & critical thinking and consequently improve learning outcomes Think before developing an interactive animation – NOT always appropriate * IEEE/ACM Computing Curricula 2001 section AR7 core
Vivio50 © /11/04 Example Vivio Animations may be embedded in a PowerPoint presentation, … but easier to demonstrate inside a browserbrowser [image rather than Vivio ActiveX control]
Vivio50 © /11/04 Animation Characteristics interactive scalable reversible web based parallel smooth animation control animation speed (via mouse wheel) single step forward and backwards snap forward and backwards to key frames standard hardware
Vivio50 © /11/04 How can such animations be created? interactive execution of an underlying program reversible need to be able to execute program backwards (or give the appearance thereof) very time consuming with existing technologies such as Java, Flash, SVG,...
Vivio50 © /11/04 Vivio A programming language / model that provides an appropriate level of abstraction for describing E-Learning animations An efficient runtime which handles the low level detail e.g. repainting the screen and playing animations in reverse
Vivio50 © /11/04 How does it work? Vivio source code compiler ActiveX player * (runtime) Vivio IDE * may be hosted in a web page, Word, PowerPoint, … vcode Vivio source code compiled and stored as compressed vcode files (most examples less than 4K) ActiveX player downloads the vcode, JIT compiles it into x86 machine code and then executes the generated code Runtime only for Windows and x86 (so far!)
Vivio50 © /11/04 Vivio Language Basics normal –int, real, string, class –arrays, associative arrays –functions, while, for, … animation specific –graphical objects (rectangles, ellipse, polygon, …) –groups, layers –animation clock –animated functions –fork(…)
Vivio50 © /11/04 Event Driven / Event Q animation t ticks per second (tps) on each tick execute attached event code (x) and then… render changes (r) executed code can add events to the eventQ typical render time >> execute time aggressive code to minimise rendered screen area no point rendering at rates > 100 tps xxrxrxxr tick 0tick 1 tick n xxr tick n+2tick n+1
Vivio50 © /11/04 Animated Functions r = Rectangle(…..) r.setpos(x, y, steps, interval, wait) setpos(…) sets position of r in steps steps with interval ticks between each step (linear interpolation from current position) if wait = 1 execution waits until animation completes, otherwise execution continues immediately to the next statement r.setpos(x, y) r.setpos(x, y, 0, 0, 0) most functions, where it makes sense, exist in animated form consider an exampleexample
Vivio50 © /11/04 Running Backwards 1 tick ntick 0 tick n-1 save state (SS) animate forward at normal speed wish to go back one tick NB. state saved at tick = 0 [in reality state saved when each object changes for the first time]
Vivio50 © /11/04 Running Backwards 2 restore saved state at tick = 0 fast forward by re-executing all events until tick n-1 save state at regular intervals – every t ticks or t ms of "execution" time render changes tick n tick 0 SS tick n-1
Vivio50 © /11/04 Running Backwards 3 tick 0 SS restore last saved state fast forward by re-executing events until tick n-2 render changes tick n-2 tick n-1 tick n
Vivio50 © /11/04 Saving State 1 incremental state saving (snapshots) save changes only technique also applied to non graphical objects created tick = 0 current state rendered state snapshots tick = 5000 state tick = 4000 state tick = 1000 state tick = 0 state graphical object last updated tick = 0
Vivio50 © /11/04 Saving State 2 reduce "execution" time by saving state more frequently and by saving state more frequently closer to target tick (t/N) set save state parameters at runtime setSSParameters(tickOrMS, interval, nsubintervals) could use an alternative strategy e.g. binary tick 0 0 t 2t tick n 3t 3t+t/2 3t+t/4 3t+3t/4 SS tick n-1 4 sub intervals
Vivio50 © /11/04 Playing Forward vs Backwards redraw region going forward tick n to tick n+1 redraw region going backwards from tick n to tick n-1 same screen area rendered whether going forward or backwards – hence equal render times (not quite so easy to implement!) more time spent in "execution" phase when playing backwards (set by frequency of state saves)
Vivio50 © /11/04 Some Performance Measurements 1 playing forwardsplaying backwards vcode size (bytes) # frames avg exe (ms) avg render (ms) # frames avg exe (ms) avg render (ms) ExchangeSort1,9042, , WriteOnce2, DLX/MIPS11,8963, , Vivio IDE instrumented to collect real time statistics using the Intel x86 hardware time stamp counter measurements collected on a DELL Inspiron 8100 laptop with 1.13GHz mobile Pentium III and 256K DRAM (N.B. SpeedStep technology) "avg exe (ms)" - everything apart from render time (i.e. executing event code, saving/restoring state,...) all animations displayed in an 800x bits per pixel window and run at 100 ticks/sec save state every 1024 ticks with 0 subintervals except DLX every 512 ticks with 8 sub intervals Note the "identical" render times playing forwards and backwards
Vivio50 © /11/04 Some Performance Measurements 2 playing forwardsplaying backwards vcode size (bytes) # frames avg exe (ms) avg render (ms) # frames avg exe (ms) avg render (ms) ExchangeSort1,9042, , WriteOnce2, DLX/MIPS11,8963, , Vivio IDE instrumented to collect real time statistics using the Intel x86 hardware time stamp counter measurements collected on a DELL Dimension 8300 with 3.00GHz Pentium 4, 1GB DRAM and NVidia GeForce Fx 5200 graphics card "avg exe (ms)" - everything apart from render time (i.e. executing event code, saving/restoring state,...) all animations displayed in an 800x bits per pixel window and run at 100 ticks/sec saving state every 1024 ticks with 0 subintervals except DLX every 512ticks with 8 sub intervals Note the "identical" render times playing forwards and backwards
Vivio50 © /11/04 Some Performance Measurements 3 playing backwards intervalnsubintervalsavg exe (ms)avg render (ms) conditions as per previous slide "avg exe" time vs save state parameters for DLX/MIPS animation
Vivio50 © /11/04 Conclusions How frequently are the Vivio animations used? –installation/portability issues Are the animations beneficial educationally? –survey results How long does it take to create an animation? –took 3 months for Edsko De Vries (JS BA) to create the MIPS/DLX animation MIPS/DLX What next?
Vivio50 © /11/04 Thank you for listening. Any Questions?
PCI Bus CENG Spring Dr. Yuriy ALYEKSYEYENKOV 2 The PCI (Peripheral Component Interconnect) bus was developed as a low-cost, processor-independent.
SG 4: FIT1001 Computer Systems S Important Notice for Lecturers This file is provided as an example only Lecturers are expected to modify / enhance.
Chapter 4 MARIE: An Introduction to a Simple Computer.
Slide 1 COMPUTING (Higher) Unit 1 Computer Systems Topic 2 – Computer Stucture.
© 2010 InHand Electronics, Inc. – Troubleshooting Linux Performance and Battery Consumption Issues Dave Stewart Director of Software Engineering.
C HAPTER 1 Computer Organization and Architecture.
1 Maintaining large software systems Dr L Bottaci Department of Computer Science University of Hull, Hull, UK.
6-Hour Hands-On Introduction to LabVIEW. Course Goals Become comfortable with the LabVIEW environment and data flow execution Ability to use LabVIEW to.
Query Optimizer Overview Conor Cunningham Principal Architect, SQL Server Query Processor 1.
1Computer Graphics Better Interactive Programs Lecture 9 John Shearer Culture Lab – space 2
ISBN Prentice-Hall, 2006 Chapter 5 Designing the System Copyright 2006 Pearson/Prentice Hall. All rights reserved.
Copyright © 2003 Pearson Education, Inc. Slide 1.
Chapter 7 – Design and Implementation 1Chapter 7 Design and implementation Note: These are a modified version of Ch 7 slides available from the authors.
©Ian Sommerville 2000CS 365 Critical Systems ValidationSlide 1 Chapter 21 Critical Systems Validation.
Copyright: Silberschatz, Korth and Sudarshan 1 Chapter 23: Advanced Data Types and New Applications.
Silberschatz, Galvin and Gagne ©2010 Operating System Concepts Essentials – 8 th Edition Chapter 16: Windows 7.
Slide No:1 © Learning and Skills Council 2006 December 2006 Version 4.0 The LSC in association with Ofsted and ALI welcome you to the self-teach tutorial.
Input & OutputCS-502 Fall Input and Output CS502 Operating Systems Fall 2007 (Slides include materials from Operating System Concepts, 7 th ed.,
Online Counseling Resource YCMOU ELearning Drive… School of Architecture, Science and Technology Yashwantrao Chavan Maharashtra Open University, Nashik.
Systems 1 Higher / Intermediate 2 Computer – Systems Mr Climie Part 1.
Telecooperation/RBG Technische Universität Darmstadt Copyrighted material; for TUD student use only Introduction to Computer Science I Topic 11: Introduction.
2 Welcome To Defect Management Training Objective: The objective of this course is to learn about standards that emphasize a best practice approach for.
Name: ………………………………………………………… Class:……………… Teacher:…………………………………………..
Analysis of Software Artifacts - Spring Survey of Race Condition Analysis Techniques Team Extremely Awesome Nels Beckman Project Presentation :
Previous Interactive tutorial for updating staff profiles in Percussion Rhythmyx Pippa Goldenberg|Version 2.0 | 29th Jan 2013 Click to continue Next.
Overview of a Computer Presentation slides for Computer Science 110 Introduction to Computer Programming.
Introduction to Information Retrieval Kangnam Univ. Introduction to Information Retrieval Kangnam Univ. Lecture 4: Index Construction.
1 Notes content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved. Software Requirements IS301 –
© Copyright Khronos Group, Page 1 Optimizing OpenGL ES Applications Kristof Beets 3 rd Party Relations Manager - Imagination Technologies
1 GREY BOX TESTING Web Apps & Networking Session 3 Boris Grinberg
© 2016 SlidePlayer.com Inc. All rights reserved.