Информация об изменениях

Сообщение Re: Удивительное рядом — clang и оптимизация от 10.05.2016 18:09

Изменено 10.05.2016 18:10 AlexGin

Здравствуйте, Dair, Вы писали:

D>Но добавлен нижний "фильтр" на FPS вот такого совершенно невинного вида:

D>
D>if (gMsPerFrame > 66)
D>    gMsPerFrame = 66;
D>


D>Закомментарил — всё компилируется.


D>Заменил на такой же невинный фрагмент:

D>
D>    float newMsPerFrame = gMsPerFrame > 66? 66: gMsPerFrame;

D>    gMsPerFrame = newMsPerFrame;
D>


D>Компилируется.


D>Интересно как оптимизация сработала. Точнее, кмк, не сработала.


Т.к. это значения типа float, я бы написал так:
D>
D>if (gMsPerFrame > 66.0)
D>    gMsPerFrame = 66.0;
D>


Ну или вот так:
D>
D>    float newMsPerFrame = gMsPerFrame > 66.0 ? 66.0 : gMsPerFrame;

D>    gMsPerFrame = newMsPerFrame;
D>
Re: Удивительное рядом — clang и оптимизация
Здравствуйте, Dair, Вы писали:

D>Но добавлен нижний "фильтр" на FPS вот такого совершенно невинного вида:

D>
D>if (gMsPerFrame > 66)
D>    gMsPerFrame = 66;
D>


D>Закомментарил — всё компилируется.


D>Заменил на такой же невинный фрагмент:

D>
D>    float newMsPerFrame = gMsPerFrame > 66? 66: gMsPerFrame;

D>    gMsPerFrame = newMsPerFrame;
D>


D>Компилируется.


D>Интересно как оптимизация сработала. Точнее, кмк, не сработала.


Т.к. это значения типа float, я бы написал так:
if (gMsPerFrame > 66.0)
    gMsPerFrame = 66.0;


Ну или вот так:
    float newMsPerFrame = gMsPerFrame > 66.0 ? 66.0 : gMsPerFrame;

    gMsPerFrame = newMsPerFrame;