|
13.11.2013, 00:42
|
#31
|
.
Регистрация: 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
|
|
Ответ: 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
|
.
Регистрация: 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
|
Мастер
Регистрация: 09.05.2010
Адрес: Самара
Сообщений: 1,083
Написано 254 полезных сообщений (для 533 пользователей)
|
Ответ: Clear Engine (Понятный движок)
никто случайно не сталкивался, что на айфоне glViewport нужно указывать двойного размера? Если задать параметры что приезжают в
CGRect screenBound = [[UIScreen mainScreen] bounds];
то вьюпорт будет на четверть экрана - тоесть в 2 раза меньше по обоим осям...
|
(Offline)
|
|
13.11.2013, 01:31
|
#35
|
|
Ответ: 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 контекст
|
|
|
Сообщение было полезно следующим пользователям:
|
|
13.11.2013, 01:31
|
#36
|
Злобный Админ
Регистрация: 04.09.2005
Сообщений: 5,926
Написано 3,415 полезных сообщений (для 9,330 пользователей)
|
Ответ: Clear Engine (Понятный движок)
ЕМНИП там размеры интерфейса в виртуальных единицах. На ретине отношение виртуальных единиц к пикселям 1:2
__________________
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
13.11.2013, 01:38
|
#37
|
Мастер
Регистрация: 09.05.2010
Адрес: Самара
Сообщений: 1,083
Написано 254 полезных сообщений (для 533 пользователей)
|
Ответ: Clear Engine (Понятный движок)
Сообщение от SBJoker
ЕМНИП там размеры интерфейса в виртуальных единицах. На ретине отношение виртуальных единиц к пикселям 1:2
|
задал единичку, но изображение стало какое-то гавеное, и вообще как правильно сделать-то?
|
(Offline)
|
|
13.11.2013, 01:42
|
#38
|
Злобный Админ
Регистрация: 04.09.2005
Сообщений: 5,926
Написано 3,415 полезных сообщений (для 9,330 пользователей)
|
Ответ: Clear Engine (Понятный движок)
Узнавать у системы текущий скейл фактор, и его и устанавливать. Или домножать размеры буфера.
__________________
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
13.11.2013, 01:46
|
#39
|
Мастер
Регистрация: 09.05.2010
Адрес: Самара
Сообщений: 1,083
Написано 254 полезных сообщений (для 533 пользователей)
|
Ответ: Clear Engine (Понятный движок)
Сообщение от SBJoker
Узнавать у системы текущий скейл фактор, и его и устанавливать. Или домножать размеры буфера.
|
картинка нормальная получается если вьюпорт делать двойным размером, но это как-то не кроссплатформенно. Если установить скейл фактор изображение угловатое становится
|
(Offline)
|
|
13.11.2013, 03:04
|
#40
|
Терабайт исходников
Регистрация: 13.09.2008
Сообщений: 3,947
Написано 2,189 полезных сообщений (для 6,051 пользователей)
|
Ответ: Clear Engine (Понятный движок)
какие там могут возникнуть проблемы-то...
|
ты не представляешь как их много может возникнуть с ним
|
(Offline)
|
|
13.11.2013, 04:06
|
#41
|
.
Регистрация: 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
|
|
Ответ: 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
|
.
Регистрация: 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)
|
|
Сообщение было полезно следующим пользователям:
|
|
13.11.2013, 10:21
|
#44
|
Мастер
Регистрация: 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
|
Терабайт исходников
Регистрация: 13.09.2008
Сообщений: 3,947
Написано 2,189 полезных сообщений (для 6,051 пользователей)
|
Ответ: Clear Engine (Понятный движок)
выдает охринительные тормоза. Слишком много выборок, ну а как иначе!
|
блюр можно делать в 2 пасса, сначала горизонтал, а потом вертикал, будет меньше семплов (но больше записей в текстуру).
|
(Offline)
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 08:04.
|