Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up for free
Hidden Gems of Everyday Game Development with C#
Andrea Magnorsky
December 05, 2013
Technology
1
340
Hidden Gems of Everyday Game Development with C#
Hidden Gems of Everyday
Game Development with C#
Andrea Magnorsky
December 05, 2013
Tweet
Share
More Decks by Andrea Magnorsky
See All by Andrea Magnorsky
F#, this ain't a game
roundcrisis
0
550
Like a rabbit in headlights: Removing the OO googles with F#
roundcrisis
0
270
Coding play, crafting code
roundcrisis
0
1.1k
Monogame 3
roundcrisis
0
150
StateOfPlayPresentation.pdf
roundcrisis
0
35
Works on all machines
roundcrisis
0
58
Other Decks in Technology
See All in Technology
機械学習システムアーキテクチャ入門 #1
asei
3
1.2k
さいきんのRaspberry Pi。 / osc22do-rpi
akkiesoft
6
5.2k
Introduction to MLOps
asei
5
890
Data in Google I/O - IO Extended GDG Seoul
kennethanceyer
0
150
Implementing Kubernetes operators in Java with Micronaut - TechWeek Java Summit 2022
alvarosanchez
0
120
JDK Flight Recorder入門
chiroito
1
510
データ分析で切り拓け! エンジニアとしてのデータ分析職キャリア戦略
ksnt
0
160
oakのミドルウェアを書くときの技のらしきもの
toranoana
0
130
DeepL の用語集が(いつのまにか)日本語に対応してたので試してみた
irokawah0
0
170
紙にまつわる苦しみを機能化してきた カミナシの歴史
kaminashi
0
1.3k
Swift Regex Builder
kumamotone
1
110
20220622_FinJAWS_あのときにAWSがあったらこうできた
taketakekaho
0
110
Featured
See All Featured
KATA
mclloyd
7
8.7k
Testing 201, or: Great Expectations
jmmastey
21
5.4k
Code Reviewing Like a Champion
maltzj
506
37k
Writing Fast Ruby
sferik
612
57k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
7
1.1k
5 minutes of I Can Smell Your CMS
philhawksworth
196
18k
Building a Scalable Design System with Sketch
lauravandoore
448
30k
Teambox: Starting and Learning
jrom
123
7.7k
Fireside Chat
paigeccino
12
1.3k
Docker and Python
trallard
27
1.6k
Six Lessons from altMBA
skipperchong
14
1.4k
Designing for humans not robots
tammielis
241
23k
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