Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Программирование игр для компьютеров > C++

Ответ
 
Опции темы
Старый 13.11.2013, 00:42   #31
moka
.
 
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений
(для 6,863 пользователей)
Ответ: Clear Engine (Понятный движок)

Сообщение от jimon Посмотреть сообщение
представь какая каша в коде получается если у тебя async file io в несколько потоков и коллбек после загрузки, ты просто погрузнешь в мьютексах чтобы правильно потом отработать загруженные файлы

а с проверяющей "хренью" у тебя получается чистый lock-free код, ты обрабатываешь результаты асинхронных операций по мере возможности, и никаких тебе мьютексов

в таком lock-free коде если ты встречаешь место где тебе нужно просто подождать - используешь await подобный паттерн, как в c# http://msdn.microsoft.com/en-us/libr.../hh156528.aspx
libuv в такой ситуации отличное решение. У тебя есть главный поток логики, позади есть процессы но в контролируемых условиях, и обрабатываются независимо, когда готовы - сообщат тебе.
Посмотри как асинхронность устроена в node.js на основе libuv. По сути это одна очередь функций, и задние потоки о которых пользователю платформой не нужно заботиться.
Скейлиться во всех отношениях, никаких lock'ов и простоев в ожиданиях - когда будет готово, нам сообщят.
(Offline)
 
Ответить с цитированием
Старый 13.11.2013, 00:47   #32
jimon
 
Сообщений: n/a
Ответ: Clear Engine (Понятный движок)

Сообщение от moka Посмотреть сообщение
libuv в такой ситуации отличное решение. У тебя есть главный поток логики, позади есть процессы но в контролируемых условиях, и обрабатываются независимо, когда готовы - сообщат тебе.
Посмотри как асинхронность устроена в node.js на основе libuv. По сути это одна очередь функций, и задние потоки о которых пользователю платформой не нужно заботиться.
Скейлиться во всех отношениях, никаких lock'ов и простоев в ожиданиях - когда будет готово, нам сообщят.
посмотри как сделана асинхроность в C# : http://msdn.microsoft.com/en-us/libr.../hh191443.aspx и http://habrahabr.ru/post/139734/
 
Ответить с цитированием
Старый 13.11.2013, 00:50   #33
moka
.
 
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений
(для 6,863 пользователей)
Ответ: Clear Engine (Понятный движок)

await (C#) == yield (ECMA6)
Но в 98% он не нужен, т.к. есть нормальная event-driven парадигма, и promises.
(Offline)
 
Ответить с цитированием
Старый 13.11.2013, 01:21   #34
pozitiffcat
Мастер
 
Аватар для pozitiffcat
 
Регистрация: 09.05.2010
Адрес: Самара
Сообщений: 1,083
Написано 254 полезных сообщений
(для 533 пользователей)
Ответ: Clear Engine (Понятный движок)

никто случайно не сталкивался, что на айфоне glViewport нужно указывать двойного размера? Если задать параметры что приезжают в
CGRect screenBound = [[UIScreen mainScreen] bounds];
то вьюпорт будет на четверть экрана - тоесть в 2 раза меньше по обоим осям...
(Offline)
 
Ответить с цитированием
Старый 13.11.2013, 01:31   #35
jimon
 
Сообщений: n/a
Ответ: Clear Engine (Понятный движок)

Сообщение от moka Посмотреть сообщение
await (C#) == yield (ECMA6)
Но в 98% он не нужен, т.к. есть нормальная event-driven парадигма, и promises.
wut ? yield он и в C# yield

Сообщение от pozitiffcat Посмотреть сообщение
никто случайно не сталкивался, что на айфоне glViewport нужно указывать двойного размера? Если задать параметры что приезжают в
CGRect screenBound = [[UIScreen mainScreen] bounds];
то вьюпорт будет на четверть экрана - тоесть в 2 раза меньше по обоим осям...
self.contentScaleFactor = 2.0f; у вьюшки которая рисует твой GL контекст
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
pozitiffcat (13.11.2013)
Старый 13.11.2013, 01:31   #36
SBJoker
Злобный Админ
 
Аватар для SBJoker
 
Регистрация: 04.09.2005
Сообщений: 5,926
Написано 3,415 полезных сообщений
(для 9,330 пользователей)
Ответ: Clear Engine (Понятный движок)

ЕМНИП там размеры интерфейса в виртуальных единицах. На ретине отношение виртуальных единиц к пикселям 1:2
__________________
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
pozitiffcat (13.11.2013)
Старый 13.11.2013, 01:38   #37
pozitiffcat
Мастер
 
Аватар для pozitiffcat
 
Регистрация: 09.05.2010
Адрес: Самара
Сообщений: 1,083
Написано 254 полезных сообщений
(для 533 пользователей)
Ответ: Clear Engine (Понятный движок)

Сообщение от SBJoker Посмотреть сообщение
ЕМНИП там размеры интерфейса в виртуальных единицах. На ретине отношение виртуальных единиц к пикселям 1:2
задал единичку, но изображение стало какое-то гавеное, и вообще как правильно сделать-то?
(Offline)
 
Ответить с цитированием
Старый 13.11.2013, 01:42   #38
SBJoker
Злобный Админ
 
Аватар для SBJoker
 
Регистрация: 04.09.2005
Сообщений: 5,926
Написано 3,415 полезных сообщений
(для 9,330 пользователей)
Ответ: Clear Engine (Понятный движок)

Узнавать у системы текущий скейл фактор, и его и устанавливать. Или домножать размеры буфера.
__________________
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
pozitiffcat (13.11.2013)
Старый 13.11.2013, 01:46   #39
pozitiffcat
Мастер
 
Аватар для pozitiffcat
 
Регистрация: 09.05.2010
Адрес: Самара
Сообщений: 1,083
Написано 254 полезных сообщений
(для 533 пользователей)
Ответ: Clear Engine (Понятный движок)

Сообщение от SBJoker Посмотреть сообщение
Узнавать у системы текущий скейл фактор, и его и устанавливать. Или домножать размеры буфера.
картинка нормальная получается если вьюпорт делать двойным размером, но это как-то не кроссплатформенно. Если установить скейл фактор изображение угловатое становится
(Offline)
 
Ответить с цитированием
Старый 13.11.2013, 03:04   #40
Mr_F_
Терабайт исходников
 
Аватар для Mr_F_
 
Регистрация: 13.09.2008
Сообщений: 3,947
Написано 2,189 полезных сообщений
(для 6,051 пользователей)
Ответ: Clear Engine (Понятный движок)

какие там могут возникнуть проблемы-то...
ты не представляешь как их много может возникнуть с ним
__________________
бложик | geom.io | твиттер | faded | демо 1 2 | роботы | лайтмаппер
(Offline)
 
Ответить с цитированием
Старый 13.11.2013, 04:06   #41
moka
.
 
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений
(для 6,863 пользователей)
Ответ: Clear Engine (Понятный движок)

Сообщение от jimon Посмотреть сообщение
wut ? yield он и в C# yield
RTFM!
yield (C#) != yield (ECMA6)

yield is your await keyword.
http://bjouhier.wordpress.com/2013/0...in-javascript/
(Offline)
 
Ответить с цитированием
Старый 13.11.2013, 05:20   #42
jimon
 
Сообщений: n/a
Ответ: Clear Engine (Понятный движок)

Сообщение от moka Посмотреть сообщение
я вот не понимаю тебя, yield return в C# и yield в ECMA6 делает одно и тоже

а именно : c#
public class PowersOf2
{
static void Main()
{
// Display powers of 2 up to the exponent of 8:
foreach (int i in Power(2, 8 ))
{
Console.Write("{0} ", i);
}
}

public static System.Collections.IEnumerable Power(int number, int exponent)
{
int result = 1;

for (int i = 0; i < exponent; i++)
{
result = result * number;
yield return result;
}
}

// Output: 2 4 8 16 32 64 128 256
}
и js1.7 :

function fib() {
var i = 0, j = 1;
while (true) {
yield i;
var t = i;
i = j;
j += t;
}
}

var g = fib();
for (var i = 0; i < 10; i++) {
console.log(g.next());
}
скажи мне в чем разница ? ну кроме вызова .next в js
они полностью одинаковы по функционалу и семантике использования

вот по той ссылке что ты добавил чувак сделал супер либу которая с помощью yield повторяет функционал аналогичный await

если я с помощью микроскопа забиваю гвоздь, то микроскоп можно назвать молотком, но от этого микроскоп микроскопом не перестает быть, так что никогда не путай утилитарную фунциональность, семантику и контекст
 
Ответить с цитированием
Старый 13.11.2013, 05:38   #43
moka
.
 
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений
(для 6,863 пользователей)
Ответ: Clear Engine (Понятный движок)

Сообщение от jimon Посмотреть сообщение
я вот не понимаю тебя, yield return в C# и yield в ECMA6 делает одно и тоже

а именно : c#


и js1.7 :



скажи мне в чем разница ? ну кроме вызова .next в js
они полностью одинаковы по функционалу и семантике использования

вот по той ссылке что ты добавил чувак сделал супер либу которая с помощью yield повторяет функционал аналогичный await

если я с помощью микроскопа забиваю гвоздь, то микроскоп можно назвать молотком, но от этого микроскоп микроскопом не перестает быть, так что никогда не путай утилитарную фунциональность, семантику и контекст
Проблема в коллизии имён тут. Но суть yield'а в JS именно в применении как await'а, т.к. это асинхронная парадигма, вот почитай тут:
http://blog.alexmaccaw.com/how-yield...transform-node

Суть как раз использования генераторов в асинхронной модели - идентична вашему await в C#.
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
pozitiffcat (13.11.2013)
Старый 13.11.2013, 10:21   #44
pozitiffcat
Мастер
 
Аватар для pozitiffcat
 
Регистрация: 09.05.2010
Адрес: Самара
Сообщений: 1,083
Написано 254 полезных сообщений
(для 533 пользователей)
Ответ: Clear Engine (Понятный движок)

хм.. похоже про сильные пост-эффекты на мобилках можно забыть. Код типа
for( i= -4 ;i < 4; i++)
{
       for (j = -3; j < 3; j++)
       {
           sum += texture2D(TEXTURE_DIFFUSE, texcoord + vec2(j, i)*0.004) * 0.27;
       }
}
выдает охринительные тормоза. Слишком много выборок, ну а как иначе!
(Offline)
 
Ответить с цитированием
Старый 13.11.2013, 12:22   #45
Mr_F_
Терабайт исходников
 
Аватар для Mr_F_
 
Регистрация: 13.09.2008
Сообщений: 3,947
Написано 2,189 полезных сообщений
(для 6,051 пользователей)
Ответ: Clear Engine (Понятный движок)

выдает охринительные тормоза. Слишком много выборок, ну а как иначе!
блюр можно делать в 2 пасса, сначала горизонтал, а потом вертикал, будет меньше семплов (но больше записей в текстуру).
__________________
бложик | geom.io | твиттер | faded | демо 1 2 | роботы | лайтмаппер
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Часовой пояс GMT +4, время: 20:36.


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com