download.bg
 Вход Списание  Новини  Програми  Статии  Форум  Чат   Абонамент  Топ95   Архив 

Поучителна история за програмисти

Автор
Съобщение
insecteater
Чет, 27.08.09, 12:58
The Programming Antihero

I was fresh out of college, still wet behind the ears, and about to enter the beta phase of my first professional game project -- a late-90s PC title. It had been an exciting rollercoaster ride, as projects often are. All the content was in and the game was looking good. There was one problem though: We were way over our memory budget.

Since most memory was taken up by models and textures, we worked with the artists to reduce the memory footprint of the game as much as possible. We scaled down images, decimated models, and compressed textures. Sometimes we did this with the support of the artists, and sometimes over their dead bodies.

We cut megabyte after megabyte, and after a few days of frantic activity, we reached a point where we felt there was nothing else we could do. Unless we cut some major content, there was no way we could free up any more memory. Exhausted, we evaluated our current memory usage. We were still 1.5 MB over the memory limit!

At this point one of the most experienced programmers in the team, one who had survived many years of development in the "good old days," decided to take matters into his own hands. He called me into his office, and we set out upon what I imagined would be another exhausting session of freeing up memory.

Instead, he brought up a source file and pointed to this line:

static char buffer[1024*1024*2];

"See this?" he said. And then deleted it with a single keystroke. Done!

He probably saw the horror in my eyes, so he explained to me that he had put aside those two megabytes of memory early in the development cycle. He knew from experience that it was always impossible to cut content down to memory budgets, and that many projects had come close to failing because of it. So now, as a regular practice, he always put aside a nice block of memory to free up when it's really needed.

He walked out of the office and announced he had reduced the memory footprint to within budget constraints -- he was toasted as the hero of the project.

As horrified as I was back then about such a "barbaric" practice, I have to admit that I'm warming up to it. I haven't gotten into the frame of mind where I can put it to use yet, but I can see how sometimes, when you're up against the wall, having a bit of memory tucked away for a rainy day can really make a difference. Funny how time and experience changes everything.

Взето от
http://www.gamasutra.com/view/feature/4111/dirty_coding_tricks.php?print=1
-----------------------------------
Бърз превод:

Бях току що излязъл от колежа, още сукалче и на път да завърша бета фазата на първия ми професионален проект за игра – PC заглавие от края на 90-те. Беше rollercoaster, каквито често бяха проектите. Цялото съдържание беше готово и играта изглеждаше добре. Имаше обаче един проблем: бяхме над ограничението за памет.
Тъй като повечето памет беше заета от модели и текстури, работехме с художниците да намалим заетата памет от играта колкото се може повече. Намалявахме изображения, изрязвахме части от моделите и компресирахме текстури. Понякога правехме това с подкрепата на художниците, а понякога дори и през труповете им. Изрязвахме мегабайт след мегабайт, и след няколко дена обезумяла дейност достигнахме до положение в което видяхме, че не можем да направим нищо повече, освен ако не изрежем нещо важно от съдържанието. Изтощени изчислихме текущо използваната памет. Все още бяхме с мегабайт и половина над лимита.

В този момент един от най-опитните програмисти в екипа, оцелял много години на разработки в “добрите стари времена” реши да вземе нещата в свои ръце. Извика ме в офиса си и започнахме нещо, за което си представях, че ще е поредната изтощителна сесия по освобождаване на памет.
Вместо това той отвори сорс кода и ми посочи този ред:
static char buffer[1024*1024*2];

"Виждаш ли това?" каза той. И го изтри с едно единствено натискане на клавиш. Готово!

Вероятно е видял ужаса в очите ми и обясни, че е сложил настрана тези два мегабайта памет в началото на разработката. Знаел от опит, че винаги е невъзможно да се сведе големината на съдържанието до искания лимит на паметта и че много проекти са били близо до провал заради това. Така че като редовна практика винаги отделял настрана солиден блок от паметта, за да я освободи когато е необходимо.
Излезе от офиса си и съобщи че е намалил заетата памет в рамките на изискванията. Беше поздравен като героя на проекта.

.... Мързи ме да превеждам следващия параграф а и не знам как.

редактиран от insecteater на 27.08.09 13:52
редактиран от insecteater на 27.08.09 13:54
anonymous
Чет, 27.08.09, 15:26
Ти обаче точно последният не си превел, че то 5 реда, бе Инс.
As horrified as I was back then about such a "barbaric" practice, I have to admit that I'm warming up to it. I haven't gotten into the frame of mind where I can put it to use yet, but I can see how sometimes, when you're up against the wall, having a bit of memory tucked away for a rainy day can really make a difference. Funny how time and experience changes everything.
Преводче...
Бях ужасен от такава "варварска" практика, разгневих се . Не получих рамка за ума си, където да мога да сложа, това което все още използвам, но можах да видя как понякога, когато си срещу стената, имаш малка паметта, която укриваш за дъждовен ден (тука хич не ми се връзва нещо ама пише rainy day) може наистина да е различно. Забавно как времето и опита променя всичко.
А, бе Инс я кажи това British English ли е или American English...?!?! Звучи ми на American English.....щото няма почти никаква логика в превода или просто има някакви фразеологизми... дето не мога да ги схвана....
П.С. мерси че ми напомни, че утре имам изпит по английски между другото...
редактиран от anonymous на 27.08.09 15:26
редактиран от anonymous на 27.08.09 15:27
редактиран от anonymous на 27.08.09 15:29
insecteater
Чет, 27.08.09, 15:32
Карай го на свободно съчинение. Важното е да се знае долу горе за какво иде реч.

Бях доста потресен от тази "варварска" практика и и се ядосах. Все още не ми идва на ума къде мога да я използвам, но мога да видя как понякога когато си притиснат до стената, това да разполагаш с с малко памет заделена настрани за черни дни може наистина да промени нещата. Забавно е как времето и опита променят всичко.

редактиран от insecteater на 27.08.09 15:35
anonymous
Чет, 27.08.09, 15:41
Ехххх, ама някои думи не се превеждат така. Но пък превода при тебе звучи по-добре... Не обичам да превеждам нещо, защото аз си го разбирам, но на български ми е трудно да го преведа. Но си го разбирам в my mind, Инсектийтър такъв.
кака.лара
Чет, 27.08.09, 15:52
Абе то с превода е като с нас, жените

Ако е хубава, няма да е вярна; ако е вярна, няма да е хубава.
insecteater
Чет, 27.08.09, 16:23
Че що пък само жените да са неверни? Ами нали всички мъжете оглеждат и класифицират по собствена скала абсолютно всяко женско движещо се нещов периметъра им, което е на два крака. Че понякога и на 4

Не ми е ясно как стана така, че от поуката на историята се отнесохме към превода ѝ, че чак към отношения мъже-жени, ама карай - весело да става. И един въпрос - запетайката в предното изречение след и-то трябва ли да я има?

редактиран от insecteater на 27.08.09 17:38
anonymous
Чет, 27.08.09, 16:40

RE: Поучителна история за програмисти

” Че що пък само жените да са неверни? Ами нали всички мъжете оглеждат и класифицират по собствена скала абсолютно всяко женско движещо се нещов периметъра им, което е на два крака. Че понякога и на 4

Не ми е ясно как стана така, че от поуката на историята се отнесохме към превода и, че чак към отношения мъже-жени, ама карай - весело да става. И един въпрос - запетайката в предното изречение след и-то трябва ли да я има? „

Не ми е ясно как стана така, че от поуката на историята се отнесохме към превода и, че чак към отношения мъже-жени, ама карай - весело да става.
ЗАПЕТАЙКА В ТОВА ИЗРЕЧЕНИЕ СЛЕД "И" НЕ ТРЯБВА ДА ИМА!!! Ако беше само "че" пред "че" се слага запетая, но пред и след "И" не се слага!!!!
редактиран от anonymous на 27.08.09 16:41
insecteater
Чет, 27.08.09, 17:02
Да де, ама в случая и-то е местоимение.

Пред "че" не винаги се пише запетая.
Има случаи, в които запетая пред "и" се пише!

редактиран от insecteater на 27.08.09 17:13
кака.лара
Чет, 27.08.09, 17:09

RE: Поучителна история за програмисти

” Да де, ама в случая и-то е местоимение. „

Имам гениално предложение: "и" като местоимение да се пише с "й"!
insecteater
Чет, 27.08.09, 17:42
Ако изписването на ударения в българския език не е задължително, защо да го изписвам с и-кратко, което ме дразни адски много и ми се вижда не на място?
electric_cc
Чет, 27.08.09, 17:54
Понякога И-то е много изразително "Някога бяхме млади и хубави, а сега сме само И"

Коментар

за нас | за разработчици | за реклама | станете автори | in english  © 1998-2024   Experta Ltd.