Real-time Multithreaded Architecture use Adobe Reader to complete Submission Report CSC 388/588 (Type in fields) 6 – Priority Table
Student Information
Integrity Policy: All university integrity and class syllabus policies have been followed. I have neither given, nor received, nor have I tolerated others’ use of unauthorized aid.
I understand and followed these policies:
Copyright By PowCoder代写 加微信 powcoder
Name: Date:
Submission Details
Final Changelist number:
Verified build: Yes No
Required Configurations: YouTubeLink:
Discussion (What did you learn):
Real-time Multithreaded Architecture Sprint Assignment
Real-time Multithreaded Architecture use Adobe Reader to complete Submission Report
CSC 388/588 (Type in fields) YouTube Process
• Record the YouTube demo
o Youneedtorecordinstereowithcommentary
2 channel with both computer (desktop) and microphone recording o Suggestion:OBSscreencapture
• Record the desktop (enough to show your directory and the visual studio and output) o Showyourdirectoryinrecording
Launch the visual studio (double click solution) o Showoffrelevantpartsofthecodewithcommentary o LaunchanddemotheSprint
Play the demo and add your commentary in real-time o Watchyourvideo
Verify that video clear and can you hear the commentary with audio in stereo?
• Note: Weekly Sprints cannot be longer that 10:00 mins o Ifyougoover…doitagain
• Publish your YouTube recording
o Makesureitisaccessiblewithoutanyloginorpermissiontoplay o Itcanbeprivatebutnotrestrictivetoplaybyanyonewiththelink
If unplayable as-is… Grade 0
• Submit your code to perforce to the appropriate Sprint directory
o form (this document)
• Submit this PDF to perforce o Fillinform
Name, changlelist, etc… o Submitbacktoperforce
Check it out
Submit it back to perforce to the same location
Real-time Multithreaded Architecture Sprint Assignment
Real-time Multithreaded Architecture use Adobe Reader to complete Submission Report
CSC 388/588 (Type in fields) Verify Builds
• Follow the Piazza procedure on submission
o Verifyyoursubmissioncompilesandworksatthechangelistnumber.
• Verify that only MINIMUM files are submitted o No–Generatedfiles
*.pdb, *.suo, *.sdf, *.user, *.obj, *.exe, *.log, *.pdb, *.db, *.user
Anything that is generated by the compiler should not be included o No–Generateddirectories
/Debug, /Release, /Log, /ipch, /.vs
• Typical files project files that are required
o *.sln,*.cpp,*.h
o *.vcxproj,*.vcxproj.filters,CleanMe.bat
Standard Rules
Submit multiple times to Perforce
• Submit your work as you go to perforce several times (at least 5) o Assoonasyougetsomethingworking,submittoperforce o Havereasonablecheck-incomments
Points will be deducted if minimum is not reached
Write all programs in cross-platform C++
• Optimize for execution speed and robustness
• Working code doesn’t mean full credit
Submission Report
• Fill out the submission Report o Noreport,nograde
Code and project needs to compile and run
• Make sure that your program compiles and runs o WarninglevelALL…
o NOWarningsorERRORS
Your code should be squeaky clean. o Codeneedstowork“as-is”.
No modifications to files or deleting files necessary to compile or run. o Allyourcodemustcompilefromperforcewithnomodifications.
Otherwise it’s a 0, no exceptions
Real-time Multithreaded Architecture Sprint Assignment
Real-time Multithreaded Architecture use Adobe Reader to complete CSC 388/588 (Type in fields)
Project needs to run to completion
• If it crashes for any reason…
o Itwillnotbegradedandyougeta0
No Containers
• NO STL allowed {Vector, Lists, Sets, etc…}
o Noautomaticcontainersorarrays
o Youneedtodothistheoldfashionway-YOUEARNEDIT
Leave Project Settings
Submission Report Keenan
• Do NOT change the project or warning level
o Anychangingoflevelorsuppressionofwarningsisanintegrityissue
Simple C++
• No modern C++
o NoLambdas,Autos,templates,etc… o NoBoost
• NO Streams
o Usedfopen,fread,fwrite…
• No code in MACROS
o Codeneedstobeincppfilestoseeanddebugiteasy
• Exception:
o implicit problem needs templates
Leaking Memory
• If the program leaks memory
o Thereisadeductionof20%ofgrade
• If a class creates an object using new/malloc o Itisresponsibleforitsdeletion
• Any MEMORY dynamically allocated that isn’t freed up is LEAKING o LeakingisHORRIBLE,soyoulosepoints
No Debug code or files disabled
• Make sure the program is returned to the original state
o Ifyouaddeddebugcode,pleasereturntooriginalstate
• If you disabled file, you need to re-enable the files
o Allfilesmustbeactivetogetcredit.
o Bettertolosepointsforunitteststhantodisableandloseallpoints
No Adding files to this project
• This project will work “as-is” do not add files…
• Grading system will overwrite project settings and will ignore any student’s added files and
will returned program to the original state
Real-time Multithreaded Architecture Sprint Assignment
Real-time Multithreaded Architecture use Adobe Reader to complete Submission Report CSC 388/588 (Type in fields) TestConfiguration file (if provided) needs to be set by user
• Grading will be on the UnitTestConfiguration settings
o Pleaseexplicitlysetwhichtestsyouwantgraded…noregradingifsetincorrectly
• See Piazza for due date and time
• Submit program perforce in your student directory assignment supplied.
• Fill out your this Submission Report and Sprint to perforce
o ONLYuseAdobeReadertofilloutform,allotherswillberejected. o Fillouttheformanddiscussionforfullcredit.
o Asyncloading
You need to use FileSlow library o Creatingafilethreadwithaqueue
o Callbackattachedtotheasyncloading
Signaling the game thread when done loading
Assignments
0. Create a directory Sprint6
a. Use project from previous sprint or milestone as a starting point i. Do all your development in Sprint6
b. You need to use FileSlow methods for Sprint 5, 6 and milestone2
c. Make sure you submit this project many times to perforce as you develop
i. You need to submit the project and the video for this Sprint
• Given 1 simple mono wave samples o Sampledat48Khz,32-bit
• Create 1 separate simple playlists (scripts) – one sound wave, one sound ID o 301–Coma
• For DEMO reasons we are allowing a maximum of 6 sound calls at a time o Otherwisethisdemowouldbe2xlonger
Real-time Multithreaded Architecture Sprint Assignment
Real-time Multithreaded Architecture use Adobe Reader to complete Submission Report CSC 388/588 (Type in fields) Keenan
• You need the ability to print to the output window the current status of each sound call o SndHandle,priority,timeplaying
Need handles – unique identifier
o Forexample:(3handles–intheactivetable)
——- Active Table ——————
0xAAAA0001: 10 0xAAAA0004: 50 0xAAAA0005: 75
1500 ms 1500 ms 200 ms
Use Debug::out()
This shows the thread name as well…
• Sound call for this demo is more of a placeholder
o Keepthevolumedownto10%forallofthesecall o Lowernumberisthehigherpriority
Example: Snd_A 50 priority kills a Snd_X 75 priority
o IfSnd_AnewcallhasthesamepriorityofexistingSnd_X’spriority,
Kill the oldest sound call with the same priorty
• Call the SPECIAL loading file loading functions
o SincemanyhaveSolidStateDrive…weneedtosimulate
Delay and latency of network or slow hard drive
o UsetheFILE_SLOWclasstosimulatelatency
FileSlow::Open() FileSlow::Read() FileSlow::Seek() FileSlow::Tell()
FileSlow::Close()
Start Demo –hit the
• This is triggered in the update() method of the game o Readthekeyboardinput
o ThenloadandgowithyourDemo3
• The demo should play from there.
o Nouserinterventionneeded–justneedthetimertriggersworking. Load:
• Setup your playlists
o Loadallthemonowavedatafor301initiateonthegameside
o It’sOKtohavetheplaylisttableontheAudioThreadside
o Butitcannotloadthewavedata,thathastobeinitiatedonthegameside
• Load all the timer events for this demo at once – let the timer do the work
Real-time Multithreaded Architecture Sprint Assignment
Real-time Multithreaded Architecture use Adobe Reader to complete CSC 388/588 (Type in fields)
Start Demo
Submission Report A: Load sounds at specific times and priorities (print sound table status)
• In Demo (Start with a key press) o BlockingLoadingSnd301
Initiate on Game Thread
Add Debug::out() to show the call on the correct thread o Whenloadedstarttimedemo
• Timer: 0 seconds
o Snd_A = Play 301 with priority:10 vol: 10%
o Snd_B = Play 301 with priority:50 vol: 10%
o Snd_C = Play 301 with priority:150 vol: 10%
o Print the status of the active sound call table (see example)
Remember Use Debug::out()
• Timer: 1 seconds
o Snd_D = Play 301 with priority:50 vol: 10%
o Print the status of the active sound call table (see example)
Real-time Multithreaded Architecture Sprint Assignment
Real-time Multithreaded Architecture use Adobe Reader to complete CSC 388/588 (Type in fields)
• Timer: 2 seconds
o Snd_E = Play 301 with priority:75 vol: 10%
o Print the status of the active sound call table (see example)
• Timer: 3 seconds
o Snd_F = Play 301 with priority:100 vol: 10%
o Print the status of the active sound call table (see example)
• Timer: 4 seconds
o Snd_G = Play 301 with priority:150 vol: 10%
o Print the status of the active sound call table (see example)
• Timer: 5 seconds
o Snd_H = Play 301 with priority:75 vol: 10%
o Print the status of the active sound call table (see example)
• Timer: 6 seconds
o Snd_I = Play 301 with priority:75 vol: 10%
o Print the status of the active sound call table (see example)
• Timer: 7 seconds
o Snd_J = Play 301 with priority:75 vol: 10%
o Print the status of the active sound call table (see example)
• Timer: 8 seconds
o Snd_K = Play 301 with priority:150 vol: 10%
o Print the status of the active sound call table (see example)
Submission Report Keenan
• Timer: 13 seconds
o Print the status of the active sound call table (see example)
o Stopallpendingsounds
o Print AGAIN the status of the active sound call table (see example)
Questions:
Place in a separate PDF call Sprint6_Questions, in the same directory as the Sprint6 PDF
1) Please explain and diagram the way you update the time in the priority table?
a. Talk about the commands, threads and how the table is protected
2) How does a priority table entry gets delete/removed?
a. Talk about each scenario. (Snd naturally ends, Stop, priority Kill)
Real-time Multithreaded Architecture Sprint Assignment
Real-time Multithreaded Architecture use Adobe Reader to complete Submission Report
CSC 388/588 (Type in fields)
Deliverables
• Stand-alone C++ demo
o CreateademotoshowofftheALLoftheabovefeatures
o Useaudiosamplesthatallowyoutodemonstratetheabovefeatureseasily
• Visual Studio 2019 Enterprise Edition
o C++warninglevelALL
o Minimumcode,notemporariesorgenerateditems
o Needstobeabletocompileandrun“as-is”withoutcheckingoutfromperforceor
changing the attributes of the files
• For some people – the demo is hardest part of this exercise
Validation
Simple checklist to make sure that everything is submitted correctly
• Submitted project to perforce correctly
o Istheprojectcompilingandrunningwithoutanyerrorsorwarnings? o Isthesubmissionreportfilledinandsubmittedtoperforce?
o Followtheverificationprocessforperforce
Is all the code there and compiles “as-is”?
No extra files
o Istheprojectleakingmemory?
• Submitted the YouTube link to perforce? Hints
Most assignments will have hints in a section like this.
• Dig into the material read the online blogs… o Lotsandlotsofinformation
• You can discuss the tools and drivers on Piazza o Share
• Use the ORUMs
o Read,explore,askquestions
Real-time Multithreaded Architecture Sprint Assignment
程序代写 CS代考 加微信: powcoder QQ: 1823890830 Email: powcoder@163.com