Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Hidden Gems of Everyday Game Development with C#
Search
Andrea Magnorsky
December 05, 2013
Technology
540
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Hidden Gems of Everyday Game Development with C#
Hidden Gems of Everyday
Game Development with C#
Andrea Magnorsky
December 05, 2013
More Decks by Andrea Magnorsky
See All by Andrea Magnorsky
F#, this ain't a game
roundcrisis
0
830
Like a rabbit in headlights: Removing the OO googles with F#
roundcrisis
0
470
Coding play, crafting code
roundcrisis
0
1.9k
Monogame 3
roundcrisis
0
250
StateOfPlayPresentation.pdf
roundcrisis
0
71
Works on all machines
roundcrisis
0
77
Other Decks in Technology
See All in Technology
AIエージェント統制はAPIから——押さえるべき5つの要素
nagix
0
130
生き様としてのSRE
hokkai7go
1
170
レガシーコードに対する loop engineering的なAI開発プロセス導入について
kubell_hr
0
250
公共分野での生成AI活用
toru_kubota
1
210
AIエージェントの監視、思考を見るか行動を見るか / Monitoring AI Agents: Thoughts or Actions
yusukeshimizu
1
150
Microsoft Entra Kerberos で実現するクラウド デバイス管理
tamaiyutaro
2
540
複雑な業務システムを高速でつくるため、チーム全員をつくれる人へ
ayakurabuchi
0
130
視野はAIに、視座は人に / ai-for-breadth-humans-for-perspective
nkzn
6
3.1k
令和の今、あらためて IAM を考える。アクセスキーを「無くせない現実」との向き合い方
kazzpapa3
0
230
Sinatra on PicoRuby ローカルでセルフホスト
bash0c7
0
100
Context Ontology Accelerator 入門 (業務データの意味を、AI エージェントに渡す)
inariku
PRO
1
130
ライフワーク「猫でもわかるDirectConnect」
kentapapa
0
170
Featured
See All Featured
Evolving SEO for Evolving Search Engines
ryanjones
0
350
What's in a price? How to price your products and services
michaelherold
247
13k
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
740
Automating Front-end Workflow
addyosmani
1370
210k
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
420
Ruling the World: When Life Gets Gamed
codingconduct
0
430
Code Reviewing Like a Champion
maltzj
529
40k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Deep Space Network (abreviated)
tonyrice
0
410
Scaling GitHub
holman
464
140k
Believing is Seeing
oripsolob
1
270
Fireside Chat
paigeccino
43
4.1k
Transcript
Hidden Gems of Everyday Game Development with C# Andrea Magnorsky
@silverspoon roundcrisis.com
None
The humble Game Loop
Hello Dovahkiin
None
Delegates, func, etc
Don’t use linq
Coroutines “Coroutines are computer program components that generalize subroutines to
allow multiple entry points for suspending and resuming execution at certain locations”
Why?
_changePositionCoroutine.MoveNext()
Iterator
Multi threaded rendering • Double buffer • Triple buffer •
Concurrent Collections • Jobs and workers
Renderer waiting for render commands Update Frame 1 Wait for
renderer to switch buffers Swap buffers Double Buffer
Renderer waiting for render commands Update Frame 1 Draw Frame
1 Update Frame 2 Wait for renderer to switch buffers Draw Frame 2 Wait for renderer to switch buffers Renderer waiting for render commands Swap buffers Swap buffers
Renderer waiting for render commands Update Frame 1 Draw Frame
1 Update Frame 2 Wait for renderer to switch buffers Draw Frame 2 Wait for renderer to switch buffers Update Frame 3 Blocked until rendering finished Draw Frame 3 Renderer waiting for render commands Swap buffers Swap buffers Swap buffers Wait for renderer to switch buffers
None
None
Why
Using concurrent Queue instead and Blocking Collection
Analysis
Comparision Double buffer Concurrent Queue
None
Thanks More to read http://bitly.com/bundles/roundcrisis/3 Andrea Magnorsky @silverspoon roundcrisis.com
batcatgames.com