Помогите пожалуйста с переводом предложения

Нужно перевести начало второго предложения (первое дал для контекста). Не пойму, на что указывает слово «This».

---------------

If OpenGL presented too high of an abstraction level, then it would be easy to create programs that fit the model, but very hard to use advanced features of the graphics hardware that weren’t included.

This is the type of model followed by software such as game engines — new features of the graphics hardware generally require pretty large changes in the engine in order for games built on top of it to gain access to them.

---------------

Если бы OpenGL был представлен на слишком высоком уровене абстракций, то было бы легко создавать программы, соответствующие модели, но очень трудно использовать расширенные возможности графического оборудования, которые не были реализованы в библиотеке.

??? – новые возможности графического оборудования обычно требуют довольно больших изменений в игровом движке, чтобы игры, созданные с его помощью, получили к ним доступ (к этим новым возможностям, прим. перев.).

---------------

Кстати, нужно ли в конце примечание переводчика? Или и так понятно, о чем речь?
Написал alex_pakh 14 августа 2014, 12:16 Как это перевести? 34 комментария

Комментарии

Если бы OpenGL не был в достаточной степени регламентирован*, было бы легко создавать программы, удовлетворяющие общему шаблону, но было бы весьма сложно использовать не учтённые в нём расширенные возможности графического оборудования. Именно по такому шаблону пишется, в частности, программная основа для игр – новые возможности графического оборудования обычно требуют существенных изменений в программной основе, чтобы построенные на ней игры получили доступ к использованию этих возможностей.

(«движок» – неформальное понятие, в форумах проходит, но для техн. литературы, возможно, есть официально-майкрософтовское – пока от себя заменил; *в английском abstraction level – о степени детализации: чем выше «уровень», тем ниже детализация; в бытовом русском понимании слово «абстракция» чаще обозначает нечто отвлечённое от реальности – заменил более понятным выражением; http://en.wikipedia.org/wiki/Principle_of_abstraction )

Насчет «примечаний» думаю, это лишнее – практически всегда можно построить русскую фразу так, чтобы передать смысл английской.

Alex_ander 14.08.14 в 14:31 · # ·
1

Благодарю Вас!

alex_pakh 14.08.14 в 15:20 · # ·
0

Я бы поспорил про то, что «if OpenGl presented too high of an abstraction level» можно перевести как «не был в достаточной степени регламентирован».
В программировании абстракция означает другое:
https://ru.wikipedia.org/wiki/%D0%A3%D1%80%D0%BE%D0%B2%D0%B5%D0%BD%D1%8C_%D0%B0%D0%B1%D1%81%D1%82%D1%80%D0%B0%D0%BA%D1%86%D0%B8%D0%B8_(%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5)
Кстати, в английской версии статьи есть даже фразочка по теме
>Most graphics libraries such as OpenGL provide an abstract graphical device model as an interface.

«Шаблон» тоже не особо корректный термин, глава посвящена взаимодействию библиотеки с железом, поэтому это явно «модель [взаимодействия]» или на крайний случай «организация».

Dogcat 15.08.14 в 02:32 · # ·
2

скрытые комментарии (11 шт.)

Я исходил из того, 'abstraction layer' – компьютерный термин, а 'abstraction level' – общее выражение. Но автор мог иметь в виду то же самое, поскольку OpenGL – низкоуровневая спецификация. Можно напр. так перевести: «Если бы в OpenGL регламентировался интерфейс излишне высокого уровня...», это более конкретно, но смысл, по-прежнему, в степени детализации (на низком уровне она выше).

Что касается «модели», таковых множество и в пределах компьютерной тематики (математические модели процессов, модели поведения объектов, модели устройств и т.п.), поэтому без конкретной привязки в тексте такое слово нельзя употребить. В общих чертах можно говорить только о схеме, шаблоне и т.п.

> abstract graphical device model [модель абстрактного графического устройства]

Если отсылка к этой модели уже была сделана, то да, на «эту модель» (the model) в данном тексте и надо ссылаться. Соответственно, «под модель этого типа» (this type of model) пишутся приложения и речь о «расш. возможностях графики», не включённых в эту модель (= не учтённых в ней).

Alex_ander 15.08.14 в 08:27 · # ·
0

Тут я могу ссылаться на своё основное образование и на то, что я работаю программистом)

В статье на вики, на которую я ссылался, говорится "In computing, an abstraction layer or abstraction level". Речь о том, что OpenGL позволяет работать с абстрактным графическим устройством в отрыве от реального/реальных, что, собственно, и называется в программировании уровнем абстракции. В той же книге есть прямое подтверждение моих слов:
>The goal of OpenGL is to provide an abstraction layer between your application and the underlying graphics subsystem, which is often a hardware accelerator made up of one or more custom, high performance processors with dedicated memory, display outputs, and so on. This abstraction layer allows your application to not need to know who made the graphics processor (or GPU — graphics processing unit), how it works, or how well it performs.

>Что касается «модели», таковых множество и в пределах компьютерной тематики
Поэтому я дописал слово «взаимодействия») Это модель, схема, по которой библиотека взаимодействует с железом. Слово шаблон, опять же, уводит мысли в другую сторону.

>Соответственно, «под модель этого типа» (this type of model) пишутся приложения и речь о «расш. возможностях графики», не включённых в эту модель (= не учтённых в ней).
Расширенные возможности не включены не в модель, а в реализацию API OpenGL.

Dogcat 15.08.14 в 09:13 · # ·
1

Со словами level/layer теперь понятно. А почему в саму модель графического устройства не должны быть заложены те же «расширенные возможности»?

Alex_ander 15.08.14 в 09:42 · # ·
0

Смотрите, есть библиотека, которая позволяет легко делать какие-то вещи, возможно, общие для большого класса устройств. Реализовать в ней сразу все-все-все «расширенные возможности» (которые могут быть разными у разных устройств) сложно и практически невозможно...следовательно, слишком сильно абстрагироваться и полагаться только на виртуальное устройство нельзя, нужно иметь возможность как-то взаимодействовать с устройством реальным, чтобы этим расширенным функционалом пользоваться)

Dogcat 15.08.14 в 10:07 · # ·
0

Я не вижу противоречия в утверждениях о включении «возможностей» в модель или в интерфейс разработки приложений. На одном и том же уровне они должны бы совпадать. Я представляю себе не полную и подробную модель условного гр. процессора (видимо, вы такую имеете в виду), а разные варианты виртуальной модели, предоставляемые программисту на разных уровнях (или условных подуровнях) – для разных групп приложений. Он как бы видит «ящик» с тем или иным набором однозначно описанных связей. Не об этом ли 'type of model'?

Поправьте меня, если я что-то не так понимаю. Есть спецификация OpenGL, которая стандартизует и упрощает стыковку (условный термин) разрабатываемых программ с графическими процессорами и связанными с ними устройствами (= предоставляет интерфейс для разработки приложений). Эта стыковка для разных групп приложений может происходить на более или менее высоком уровне (из нашего текста следует, что для игр он может быть отн. высоким -> нет общего для всего «уровня»). На уровне стыковки программист «видит» модель гр. процессора, представленную на этом уровне набором функциональных связей с будущей программой (в виде библиотек, мат. моделей или иных средств описания). Для его программы это самый низкий уровень (движок), и его задача – обеспечить на этом уровне взаимодействие своей программы с моделью процессора (моделью того же уровня), по доступным на этом уровне функциям. В модели отн. высокого уровня отражаются не все «расш. возможности» графики, а только устоявшиеся, в то время как на более низком уровне в OpenGL могут быть предоставлены средства доступа к планируемым, но ещё не реализованным в железе возможностям графики, которые на момент разработки уже можно учесть в программе.

В нашем тексте можно, конечно, обойти острые углы, связанные с «моделью», но остаётся ощущение, что там имеются в виду более конкретные вещи, чем принцип или подход – в обех фразах речь идёт об одной и той же «модели отн. высокого уровня». Напр. 'fit the model' – обычно о том, что нечто подходит под что-то другое. Если таки подразумевается модель этого смысла (в другой части текста упоминали ведь модель у-ва графики?), можно было бы так перевести:

Если бы спецификацией OpenGL предоставлялся интерфейс* излишне высоких уровней, было бы просто создавать программы под виртуальную модель**, но очень сложно – использовать те расширенные функции графического оборудования, которые в неё не заложены. Именно под такого рода модель*** пишется движок игровых программ – новые возможности графического оборудования обычно требуют существенных изменений в движке, чтобы построенные на нём игры получили доступ к использованию этих возможностей.

* интерфейс разработки приложений
**модели графического процессора, представленной на отн. высоком уровне (для разработки данной группы приложений)
*** ранее упомянутая «модель» относительно высокого уровня (для программиста она упрощена, доступны только «старые» расш. возможности)

Alex_ander 16.08.14 в 11:08 · # ·
0

И ёще, как быть с «высотой» уровня абстракции (здесь он too high), какими выражениями принято о ней говорить?

Alex_ander 15.08.14 в 09:52 · # ·
0

Понятие уровней программирования мне знакомо. Но согласно приведённому определению «уровня=слоя абстракции», речь идёт о том, что сущностью, именуемой «слоем» («уровнем») разграничивают две стороны, организуя в этом слое интерфейс, чтобы пишущий программы под железо абстрагировался и грубо говоря, не парился тем, что дальше кроется за этим слоем или «уровнем» (определением эти слова отождествлены с прокладкой, перегородкой и пр.). Понятно, что уровень/слой разграничения может проходить на разных «высотах» уровня программирования. Но это разные «уровни» – они по-разному определены. Поэтому, если для пояснения того, на каком уровне программирования находится слой (=уровень) абстракции, применить оба термина, получится тавтологичная фраза (уровень на высоком/низком уровне). Или такие фразы бытуют в данной области? Я бы предпочёл уклониться от такой двусмысленности, и в самой первой фразе упомянул бы только об интерфейсе, создаваемом на более высоком или низком уровне программирования (без путаницы с «уровнем абстракции», который противоречит более широкому понятию). Ведь речь там именно об этом?

Alex_ander 15.08.14 в 12:58 · # ·
0

слой на высоком/низком уровне

alex_pakh 15.08.14 в 13:04 · # ·
0

А вот «слой» ну реально лишний.

Dogcat 16.08.14 в 02:30 · # ·
0

Честное слово, мне уже нечего добавить. Использовать прослойку в виде, например, OpenGL == заниматься высокоуровневым программированием. Уйти вглубь и работать с, например, видеокартой напрямую == заниматься низкоуровневым программированием. Читатель поймёт, термин в ходу.

Dogcat 16.08.14 в 02:30 · # ·
1

Благодарю! Будет над чем мне подумать :)

alex_pakh 15.08.14 в 04:15 · # ·
0

Хорошо, с учетом поправок:

Если бы OpenGL регламентировал излишне высокоуровневый (интерфейс / модель) взаимодействия, то было бы очень трудно использовать (не учтенные / не реализованные) в нем расширенные возможности графического оборудования.

Именно таким (интерфейсом / моделью) взаимодействия является игровой движок – новые возможности графического оборудования обычно требуют довольно больших изменений в игровом движке, чтобы игры, созданные с его помощью, получили к ним доступ.

-----------------------------------------------

здесь надо подумать, ибо есть два противоположных по смыслу перевода для “This is the type of model followed by game engines”:
“Именно этому (интерфейсу / модели) взаимодействия соответствует игровой движок” – движок использует модель
“Именно таким (интерфейсом / моделью) взаимодействия является игровой движок” – движок и есть модель

alex_pakh 15.08.14 в 12:50 · # ·
0

скрытые комментарии (6 шт.)

Какая фраза перед этим – может, там или раньше есть о том, модель чего имеется в виду?

Alex_ander 15.08.14 в 13:03 · # ·
0

Нет, здесь первое упоминание. В этих двух предложениях. Дальше нету.

alex_pakh 15.08.14 в 13:05 · # ·
0

И раньше тоже.

alex_pakh 15.08.14 в 13:06 · # ·
0

Именно такому подход реализуют, например, игровые движки...
Именно этот принцип лежит в основе работы, например, игровых движков...
Именно так работают, например, игровые движки...

Dogcat 16.08.14 в 02:17 · # ·
0

То, что надо! Благодарю. :)

alex_pakh 16.08.14 в 07:00 · # ·
0

>Именно такому подход реализуют,
пропустил «следуя»/«руководствуюясь»/«по» между «именно» и «такому».

Dogcat 16.08.14 в 07:03 · # ·
0

Разговорная формулировка « too high of» мне кажется смазывает конкретику, так сказать, коллеги.
«Если бы технология OpenGL занималась абстрактной херней высокого уровня...»

mikeOS 15.08.14 в 14:05 · # ·
−1

скрытые комментарии (11 шт.)

Ну такой перевод навряд ли можно использовать в книге :)

alex_pakh 15.08.14 в 14:26 · # ·
0

Разумеется. Я собственно попытался передать «настроение» автора. А если бы разбирался в терминологии, заменил бы херню на правильное слово.
Это я к тому, что вы в обсуждении уклонились в детали, чего автор не делает.

mikeOS 15.08.14 в 14:33 · # ·
−1

«чего автор не делает» Автор просто льет воду – так делают большинство. Мне тоже противно читать все это.

alex_pakh 15.08.14 в 15:06 · # ·
0

кстати, «технология OpenGL» мне кажется будет правильней по-русски, по крайней мере в ключевых фразах, заголовках. Это же не разговор в курилке (или где сейчас прогеры стресс снимают в связи с анти-табачной кампанией).. ))

mikeOS 15.08.14 в 14:48 · # ·
−1

хз)) Да, «технология OpenGL», это верно, но, к сожалению, не применима в каждом предложении, например там, где на OpenGL ссылаются как на библиотеку функций :(

alex_pakh 15.08.14 в 15:11 · # ·
0

а в чем проблема? пусть будет «библиотека OpenGL», если это разные вещи. не уточнить будет ошибкой.

mikeOS 15.08.14 в 15:34 · # ·
−1

Да, вы правы. А можете как-то помочь перевести начало второго предложения?

alex_pakh 15.08.14 в 17:59 · # ·
0

Ни в предложении, ни в слове нет ничего тайнственного (под моделью, я думаю, автор подразумевает всю ту херню, о которой говорил ранее).

«Таким образом, технология\библиотека OpenGl чаще применяется разработчиками игровых движков.»

Можно «поиграть» как говорится с «сугубо», «исключительно» и «предпочитают» ... Но общего расплывчатого варианта вполне достаточно.

mikeOS 15.08.14 в 19:17 · # ·
−1

Не OpenGL применяется для движков, а подход абстрагирования от железа. миллион раз это проговорили.

Dogcat 16.08.14 в 02:31 · # ·
1

Пусть будет «эта модель». В тексте она всего лишь упоминается, а не расшифровывается. Нет никакой необходимости разбирать что это такое.

mikeOS 16.08.14 в 06:00 · # ·
0

Да это не такая уже и разговорная фраза. Но даже если так, это введение массовой книжки по программированию, там это выглядит вполне себе уместно.

Dogcat 16.08.14 в 02:22 · # ·
0