Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Hidden Gems of Everyday Game Development with C#
Search
Andrea Magnorsky
December 05, 2013
Technology
500
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
820
Like a rabbit in headlights: Removing the OO googles with F#
roundcrisis
0
430
Coding play, crafting code
roundcrisis
0
1.7k
Monogame 3
roundcrisis
0
250
StateOfPlayPresentation.pdf
roundcrisis
0
67
Works on all machines
roundcrisis
0
74
Other Decks in Technology
See All in Technology
Docker Desktop不要の時代が来る? WSL標準の「wslc」で Linuxコンテナを動かしてみた.
ueponx
0
230
水を運ぶ人としてのリーダーシップ
izumii19
4
1.1k
Hatena Engineer Seminar 37 jj1uzh
jj1uzh
0
220
サイバーエージェントにおけるAI推進戦略と変革への取り組み
shotatsuge
0
620
アラート調査向けAIエージェントの本番導入とその後/AI Agents for Alert Investigation: Production Deployment and After
taddy_919
1
260
Zenoh on Zephyr on LiteX
takasehideki
2
140
「ビジネスがわかるエンジニア」とは何か?
ryooob
0
400
フルカイテン株式会社 エンジニア向け採用資料
fullkaiten
0
11k
テスト設計の本質を改めて考えてみる~生成AIを活用する時代だからこそ、作ったテストの説明性を高めよう~
yamasaki696
1
160
「軸足」は 固定しなくていい - 熱量と強みで描く、しなやかなキャリアの形
kakehashi
PRO
1
290
本当の”仕事”を手放せる未来が見えた
mu7889yoon
0
200
4人目のSREはAgent
tanimuyk
0
290
Featured
See All Featured
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8.2k
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
1
400
Utilizing Notion as your number one productivity tool
mfonobong
4
330
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.5k
Music & Morning Musume
bryan
47
7.2k
How GitHub (no longer) Works
holman
316
150k
Everyday Curiosity
cassininazir
0
240
Claude Code のすすめ
schroneko
67
230k
Building the Perfect Custom Keyboard
takai
2
800
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
180
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
Bioeconomy Workshop: Dr. Julius Ecuru, Opportunities for a Bioeconomy in West Africa
akademiya2063
PRO
1
160
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