More Related Content What's hot (20)
こわくない Git こわくない Git
Kota Saito
「マージがなんとなく怖い」「リベースするなって怒られて怖い」「エラーが出て怖い」
Git 入門者にありがちな「Git 怖い」を解消するため、Git のお仕事(コミット、ブランチ、マージ、リベース)について解説します。
UniTask入門 UniTask入門
torisoup
Unity++ 〜ショートセッション勉強会 presented by Unity部〜
https://meetup.unity3d.jp/jp/events/1112
ネットワーク ゲームにおけるTCPとUDPの使い分け ネットワーク ゲームにおけるTCPとUDPの使い分け
モノビット エンジン
2017年10月27日、モノビットエンジン勉強会inサイバーコネクトツーにて、中嶋謙互が講演しました「ネットワークゲームにおける TCPとUDPの使い分け」のスライドになります。ネットワークゲームを製作する際にご参考頂けますと幸いです。
登壇者:
株式会社モノビット
取締役 CTO 中嶋謙互
Unity 2018-2019を見据えたDeNAのUnity開発のこれから [DeNA TechCon 2019] Unity 2018-2019を見据えたDeNAのUnity開発のこれから [DeNA TechCon 2019]
DeNA
DeNAではUnityを使って多くのゲームを開発していますが、Unityはいま、かつてない規模の大きな変革の時を迎えています。この大きなうねりのなかで、何が変わろうとしているかを知り、そして変化によって生まれる価値を正しく認識して開発に取り入れることができれば、Unityでのゲーム開発の効率を大きく改善させていくことができます。本セッションでは、Unityに今どのような改善がなされているのかについて話した上で、DeNAがその領域に対して今までどのように対処してきて、Unityの改善を受けてそれをどのように生かしてゲーム開発の現場に取り入れようとしているのかについてピックアップして説明していきます。
UE4のスレッドの流れとInput Latency改善の仕組み UE4のスレッドの流れとInput Latency改善の仕組み
エピック・ゲームズ・ジャパン Epic Games Japan
UE4は4.19からInput Latencyの改善を行える設定が加わりました。
https://docs.unrealengine.com/ja/Platforms/LowLatencyFrameSyncing/index.html
その設定が実際どのようなことをしているのか質問されることが多かったため、今回簡単にですがドキュメトにまとめてみました。各スレッドの並列動作を理解する必要があり事前説明がちょいと長いのですが、ご参考になれば幸いです。
(Epic Games Japan Support Manager 篠山範明)
Viewers also liked (15)
Unity入門講座その3 Unity入門講座その3
spi8823
KMCというサークルで新入生向けに作ったスライドです
今回はC#入門編その2です
今回は「クラス」というものについてできるだけ初心者にわかりやすく解説しました
次回の分はhttp://www.slideshare.net/spi8823/unity-34817063です
次回からUnityを触って行きます
Unity入門講座その1 Unity入門講座その1
spi8823
大学のKMCというサークルで新入生向けに作ったスライドです
せっかく作ってそれっきりなのはもったいないのでここに上げることにしました
今回は環境導入のお話だけです
Unityを始める人の一助になれば幸いです
次回の分はhttp://www.slideshare.net/spi8823/unity-34816996です
More from Cryolite (7)
shared_ptr & weak_ptr (ppt 第2版, DL 専用) shared_ptr & weak_ptr (ppt 第2版, DL 専用)
Cryolite
Web 上ではフォントが崩れます. (DL 専用)
Web 上で見る方は http://bit.ly/7dyNmz をどうぞ.
2009/12/12 Boost.勉強会 プレゼン資料 ppt 第2版.
初版の明らかな不手際を最低限だけ修正.
プレゼン発表の録画は http://bit.ly/6yjSkz です.
左と右の話4. i
int &f(); f() 全て規格に
4
左辺値・右辺値とは
全ての式がおのおの持つ属性
左辺値となる式
右辺値となる式
42, i + j
int g(); g()
MyClass(arg)
書いてある
17. “j” という式の値を格納した場所
(左辺値)に, “i” という式の値
(右辺値)を代入する
左辺値から
右辺値への変換
lvalue-to-rvalue
17
代入演算子は
右辺に右辺値が欲しい!
j = i
j = i
conversion
20. 20
式の左辺値・右辺値に関する
2つの視点とL-to-R 変換
ある式が左辺値
である
右辺値
である
出現して
いる文脈
で
左辺値である
ことが要求さ
れている
そのま
まで
O.K.
コンパ
イルエ
ラー
右辺値である
ことが要求さ
れている
L-to-R
変換が
起きる
そのま
まで
O.K.
21. 21
式の左辺値・右辺値に関する
2つの視点とL-to-R 変換
ある式が左辺値
である
右辺値
である
出現して
いる文脈
で
左辺値である
ことが要求さ
れている
そのま
まで
O.K.
コンパ
イルエ
ラー
右辺値である
ことが要求さ
れている
L-to-R
変換が
起きる
そのま
まで
O.K.
&42
42=0
22. 22
全ては規格のシナリオ通りに
• 式自身が左辺値か右辺値か
⇒全て規格に書いてある
• 個々の文脈で式に左辺値・
右辺値のどちらが要求されるか
⇒全て規格に書いてある
• いつ左辺値から右辺値への
変換が起きるか
⇒全て上2つから判断できる
26. 例:オブジェクトが未構築な
領域にどんな操作が許されるか?
26
オブジェクトに対して左辺値から
右辺値への変換が起きたらアウト
void *p = std::malloc(sizeof(int
int &ri = *p;
セーフ
&ri;
ri + 1;
アウト
int *pi = new (p) int(42);
28. 28
例:型の完全な定義が
いつ必要になるか?
左辺値から右辺値への変換が起きた
オブジェクトの型は完全でなければならない
class X;
void f(X &x) {
セーフ
&x;
static_cast<X>(x);
} アウト
29. 29
例:変数の定義がいつ必要に
なる(odr-usedされる)か?
変数がコード中に出現すればodr-used
ただし,変数がconstant expression であり
即座にL-to-R 変換が起きる場合は対象外
Template<typename T>
struct X {
static constexpr int i = 42;
};
int j = i + 1;
int *p = &i;
アウト
セーフ
32. xvalue, prvalue,
glvalue の話はどこに行った?
“Location” の
意味を持つか
寿命が短い
lvaue Yes No
xvalue Yes Yes
prvalue No Yes
今日の発表の
左と右の境界
33. xvalue, prvalue,
glvalue の話はどこに行った?
“Location” の
意味を持つか
寿命が短い
lvaue Yes No
xvalue Yes Yes
prvalue No Yes
move semantics, 右辺値参照で
重要な左と右の境界
34. まとめ:
• 左辺値とは何か,右辺値とは何か
• 左辺値から右辺値への変換とは何か,それは
いつ起きるのか
• 左辺値から右辺値への変換がいつ起きるのか
は様々なコーナーケースでの判断に重要
• 左辺値と右辺値の区別はmove semantics,
右辺値参照の話でも重要だが,本発表での左
辺値と右辺値の区別の場合と境界線が異なる
34